Apache CXF = Celtix + XFire。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding 、DataBinding、Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用。
需求是,利用CXF生成webservice服务端代码,导出为java文件。
(1)下载https://cxf.apache.org/cxf-2613-release-notes.html,这里是apache-cxf-2.6.13.zip
(2)将CXF解压到某一目录,如F:\summerProjects\压缩包\cxf\apache-cxf-2.6.13
(1)增加:CXF_HOME=F:\summerProjects\压缩包\cxf\apache-cxf-2.6.13
(2)编辑:在path后面加上 %CXF_HOME%\bin;
(3)测试配置结果:在dos窗口输入“wsdl2java”,配置成功的结果如下:
如果你执行wsdl命令出现下面的提示:
即为配置失败。
1、配置有错误
2、JAVA_HOME有多个
3、没有配置JAVA_HOME变量时,Path中jdk的bin目录有多个
注意:安装jdk时可能自己默认配置过Path,但是自己又配置一遍。【开始我的配置就是这种情况!!!】
在dos窗口输入以下命令:
wsdl2java -p com -d F:\workSpaces\MathUtilityClient\Service -client http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl
说明:1、-p <生成的代码的包名>
2、-d <生成代码所在的目录>
3、-client 生成客户端测试web service的代码
(1)wsimport <—–> wsdl2java
JDK:提供了命令 ” wsimport ” ,用于将WebService生成客户端代码
CXF:提供了命令 ” wsdl2java ” ,用于根据WSDL生成客户端代码
(2)wsdl2java用法
-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.
其他wsdl2java参数解释见链接。