首先说下有两种方式生成wsdl客户端代码:
1.通过Apache cxf 的wsdl2java生成
1).先下载apace cxf包,配置环境变量,和java 的环境变量的配置方式一样。
在环境变量中配置CXF_HOME 值为D:\cxf\apache-cxf-3.0.0,在PATH中加入%CXF_HOME%\bin
验证环境变量有无配置成功,cmd 窗口,输入 wsdl2java
2).wsdl2java用法:
wsdl2java -p com -d src -all 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.
实例指定的生成目录是 D盘下src目录:wsdl2java -p com -d d:/src -client http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl
跟新问题:
今天遇到了一个问题,生成的实体类中的字符串属性,多了一个参数类型 protected JAXBElement<String> address;导致调用属性时有问题。
经过查找,需要在生成的时候控制一下生成的文件,步骤:
1.先在本地中创建1.txt 文本内容(我在c盘根目录下),放置的位置好像没有关系。文本中放入
<jaxb:bindings version="2.1"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:xs="http://www.w3