1.添加cxf依赖
2、 web.xml配置
所有webservice接口配置放置于bean.xml
3、 webservice bean配置
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxwshttp://cxf.apache.org/schemas/jaxws.xsd"> id="reportEntity" implementor="skytech.casedemo.ws.ReportEntityServiceImpl" address="/findReportEntity"> public class ReportEntity { privateString pkid; privateString enterpirseName; privateString orgaizationId; publicString getPkid() { returnpkid; } publicvoid setPkid(Stringpkid) { this.pkid = pkid; } publicString getEnterpirseName() { returnenterpirseName; } publicvoid setEnterpirseName(String enterpirseName) { this.enterpirseName = enterpirseName; } publicString getOrgaizationId() { returnorgaizationId; } publicvoid setOrgaizationId(String orgaizationId) { this.orgaizationId = orgaizationId; } } /** 接口定义 @WebService用于定义webservice对外开放的接口*/ @WebService public interface ReportEntityService { ReportEntity findOne(String pkid); } /**webservice接口实现 */ public class ReportEntityServiceImpl implements ReportEntityService { publicReportEntityServiceImpl() { System.out.println("初始化ReportEntityServiceImpl"); } @Override publicReportEntity findOne(String pkid) { ReportEntity reportEntity =newReportEntity(); reportEntity.setPkid(pkid); reportEntity.setEnterpirseName(pkid+"_测试的直报主体"); reportEntity.setOrgaizationId("12322222222"); returnreportEntity; } } 启动ide,配置tomcat等相关参数(例:端口8080)后启动。 使用浏览器访问: 接口列表:http://localhost:8080/cxf wsdl接口描述:http://localhost:8088/cxf/findReportEntity?wsdl 客户端可以和服务器放在同一个项目中用来测试,也可以新建一个java项目来进行测试。 新建一个Java项目测试时,要假如对应的jar包,跟服务器一样,使用spring还要假如spring jar包。 我在这里使用同一个项目 1.首先要创建一个和服务器端一样的服务接口,(如果客户端和服务器端不在同一个项目中则需要添加此步骤) @WebService public interface IHelloWorld { public String sayHello(@WebParam(name = "arg0") String text); } 2.创建spring-client.xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:cxf="http://cxf.apache.org/core" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd"> 3.测试类 public class Test { public static void main(String[] args) { ApplicationContext ctx = newClassPathXmlApplicationContext("spring/spring-client.xml"); ReportEntityService client = (ReportEntityService )ctx.getBean("client"); ReportEntity result = client.findOne("123"); System.out.println(result.getPkid()+":"+result.getEnterpirseName()+":"+result.getOrgaizationId()); } } 运行成功后显示 123:123_测试的直报主体:12322222222
4、 接口定义与实现
ReportEntity.java
ReportEntityService.java
ReportEntityServiceImpl.java
5、启动服务
创建webservice客户端