随着项目的服务化,WebService的使用在一些大型的项目中是很常见的,下面介绍两种方式根据提供的服务地址生成客户端代码!
注:在使用这两种方式的时候都是需要配置环境变量的。cxf的配置和jdk的配置大致一样,这里就不在讲解,没有配置好的百度一下!
(1)JDK提供了一个wsimport.exe的命令,主要是用于将WebService生成客户端代码,然后调用WebService。
wsimport是根据JDK1.6.0_21及以上的生成本地代码的,它只能解析服务器端的SOAP协议为1.1,不能解析SOAP1.2的协议。如果解析SOAP1.2 将会解析不完全。
语法:wsimport -s 文件地址 -p 自定义类包 url路径
-s 后面指定生成文件的路径,-p 自定义类包 url为 http://localhost:8888/hello?wsdl 是wsdl的路径
用法:JDK配置为了path环境变量 C:\aflyun>wsimport -s F:\ -p com.aflyun.client.jdk.wsimporthttp://localhost:8888/hello?wsdl
(2)CXF提供的wsdl2java.exe命令生成客户端代码,然后调用WebService。
wsdl2java 是CXF提供的根据WSDL生成客户端代码的命令。它是根据jdk1.7生成的本地代码,所以,需要对生成的代码做一点点修改。
它可以支持SOAP1.1 和SOAP1.2的协议。前提是你已经下载了Apache CXF 并且将wsdl2java.exe配置为了path环境变量。
语法:wsdl2java -d 文件地址 -p 自定义类包 url路径
-d 后面指定生成文件的路径,-p 自定义类包 http://localhost:8888/hello?wsdl 是wsdl的路径。 用法:C:\aflyun>wsdl2java -d F:\ -p com.aflyun.client.cxf http://localhost:8888/hello?wsdl