作为客户端调用webservice,使用cxf工具是非常简单的一种实现方式:
1、下载cxf工具
下载地址:http://cxf.apache.org/download.html
(1)解压cxf工具,使用控制台(cmd)进入bin目录
2、使用wsdl2java工具生成客户端代码
(2)wsdl2java用法: wsdl2java -p com.client -d d:\client\src –all transferQueryEmpCode.wsdl
(注:-p后面的参数是生成代码所在的包名,-d后面的参数是生成代码存放的路径,-all后面的参数是wsdl文件所在的具体目录)
-p 指定其wsdl的命名空间,也就是要生成代码的包名:
-d 指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动web service的代码
-impl 生成web service的实现代码
-ant 生成build.xml文件
-all 生成所有开始端点代码
3.项目配置maven依赖
<!-- cxf client-->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
<version>1.1.3</version>
</dependency>
4.将客户端代码放到项目中的spring自动扫描的目录下。
5.写客户端配置文件spring-context.xml
添加客户端配置注册:
<description>cxf Configuration</description>
<jaxws:client id="A" serviceClass="B" address="C">
</jaxws:client>
说明:A:可以用生成的接口类的类名命名。
B:是生成的代码中的接口类在项目中的全类名。
C:是生成此客户端代码所用到的wsdl的地址。
6.使用接口
在具体调用webservice的类中,获取service接口。
ApplicationContext context = new ClassPathXmlApplicationContext("spring-context-cxf.xml");
// 获取定义的 Web Service Bean
IGgCertService iGgCertService = (IGgCertService) context.getBean("IGgCertService");
说明:IGgCertService 为你的webservice接口类。然后就可以使用你获得的webservice接口.并直接使用接口中的方法即可。
List<CdVehicle> list=iGgCertService.getAllCdVehicles(username, password, pc, "", "", "", pageSize, page);