[webservice]基于cxf的webservice 基础
- 借用上一个例子的代码:
SOAP Request Envelope:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://wa.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</soapenv:Envelope>
SOAP Response Envelope:
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
- <soap:Body>
- <ns2:sayHelloResponse xmlns:ns2="http://wa.com/">
<return>hello,fuck</return>
</ns2:sayHelloResponse>
</soap:Body>
</soap:Envelope>
用apache-cxf 3.0.3生成客户端代码:
环境变量的配置:
一、环境配置
新建CXF_HOME D:\java\apache-cxf-3.0.3
在CLASSPATH %CXF_HOME%\lib
在PATH中添加 %CXF_HOME%\bin
二、测试:
在window命令框中输入: wsdl2java -v
出现 wsdl2java - Apache CXF 3.0.3 表示配置成功。
利用cxf生成客户端代码:
wsdl2java http://192.168.1.110:8989/d01ws/hello?wsdl
即可生成。
CXF 3.0.3 中WSDL2Java自动生成代码super出现错误,
错误原因:由于jax-ws2.2规约与java6冲突 故需要降低jax-ws规约版本
解决方法:在生成的时候服务路径前面加上 -frontend jaxws21
至此问题解决。