使用wsimport快速生成soap客户端代码
Posted daidaideaguan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用wsimport快速生成soap客户端代码相关的知识,希望对你有一定的参考价值。
- 在jdk的bin目录下
- cmd进入操作界面
- 使用命令
wsimport.exe -encoding utf-8 -keep -s 输出java文件路径 wsdl文件路径
apache CXF wsdl2java工具的使用
cxf的wsdl2java命令和JDK的wsimport命令的区别和使用
JDK提供了一个wsimport.exe的命令,主要是用于将WebService生成客户端代码,然后好调用WebService。
wsimport 是根据JDK1.6.0_21及以上的生成本地代码的,它只能解析服务器端的SOAP协议为1.1,不能解析SOAP1.2的协议。如果解析SOAP1.2 将会解析不完全。
用法:前提是已经将JDK配置为了path环境变量 C:\Documents and Settings\Administrator>wsimport -s E:\workspace\CXF_client\src -p com.client.jdk.wsimport http://localhost:9007/Webservice/hello?wsdl
-s 后面指定生成文件的路径,-p 自定义类包 http://localhost:9007/Webservice/hello?wsdl 是wsdl的路径。
CXF也提供了根据WSDL生成客户端代码的命令wsdl2java.exe 。它是根据jdk1.7生成的本地代码,所以,需要对生成的代码做一点点修改。
它可以支持SOAP1.1 和SOAP1.2的协议。前提是你已经下载了Apache CXF 并且将wsdl2java.exe配置为了path环境变量。
用法:C:\Documents and Settings\Administrator>wsdl2java -d E:\workspace\CXF_client\src -p com.cxf_client.server http://localhost:9007/Webservice/hello?wsdl
-d 后面指定生成文件的路径,-p 自定义类包 http://localhost:9007/Webservice/hello?wsdl 是wsdl的路径。
apache CXF wsdl2java工具的简单使用
使用步骤如下:
一、下载apache cxf的包,如apache-cxf-2.7.10.zip,地址:cxf.apache.org/download.html
二、解压apache-cxf-2.7.10.zip至某一目录,如D:\apache-cxf-2.7.10
三、设置环境变量
1、CXF_HOME=D:\apache-cxf-2.7.10
2、在path后面加上 %CXF_HOME%/bin;
在cmd命令中输入wsdl2java,如果有提示usage,就表明配置成功
四、运行wsdl2java工具
在cmd命令中输入:wsdl2java -d D:\\src -client http://api.xxx.cn/xxxAPI/service/auditResBatchQueryService?wsdl
(D:\\src 是客户端程序代码所在的目录,http://api.xxx.cn/xxxAPI/service/auditResBatchQueryService?wsdl 是 定义webservice的地址)
附wsdl2java用法:
wsdl2java -p com -d D:\\src -all xx.wsdl
-p 指定其wsdl的命名空间,也就是要生成代码的包名:
-d 指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动web service的代码
-impl 生成web service的实现代码
-ant 生成build.xml文件
-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.
以上是关于使用wsimport快速生成soap客户端代码的主要内容,如果未能解决你的问题,请参考以下文章
线程“main”中的异常com.sun.xml.internal.ws.fault.ServerSOAPFaultException:客户端从服务器收到SOAP Fault
使用java的wsimport.exe生成wsdl的客户端代码