场景:根据wsdl接口(webservices.xml接口描述文件),通过Apache cxf 生成wsdljava客户端代码
下载apache-cxf-3.4.10.zip,配置环境变量CXF_HOME
cmd:
wsdl2java -d D:\huzefss\ -p com.huz -compile D:\huzefss\webservice1.xml
报错:
[ERROR] “不支持使用 SOAP 编码。SOAP 扩展元素包含 use=“encoded“ “ 无法解析 WSDL。
解决方法:此原因是wsdl在组装的时候使用了较老版本的ws生成工具导致。 Rpc/encoded是一个比较老的wsdl风格,在Jax-ws2.0规范中已经不再支持,所以我换成axis1 去生成java客户端就可以了
下载axis-src-1_4
cmd:
java -cp mail.jar;saaj.jar;jaxrpc.jar;commons-discovery-0.2.jar;commons-logging-1.0.4.jar;axis.jar;activation.jar;wsdl4j-1.5.1.jar org.apache.axis.wsdl.WSDL2Java D:\TmriOutNewAccess.xml -p com.lxw.webservice