Ⅰ 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 F:\ -p com.client.jdk.wsimport http://localhost:1111/hello?wsdl
-s 后面指定生成文件的路径,-p 自定义类包 http://localhost:1111/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 F:\ -p com.client.cxf http://localhost:1111/hello?wsdl
-d 后面指定生成文件的路径,-p 自定义类包 http://localhost:1111/hello?wsdl 是wsdl的路径。
Ⅱ 如何用java调用cxf webservice接口
WebService CXF客户端报 java.lang.RuntimeException: Cannot create a secure XMLInputFactory 异常,查了许多网络关于该问题的解决办法,很多都说缺少包问题,但问题是我的包都存在,我用的是apache-cxf-2.7.6,经过不懈努力终于解决了,我的服务端用的是web project,客户端用的是java project,客户端jar包是引用其它地方的,后来建一个web project客户端,把jar直接复制到project的lib目录下就行了,jdk用的是1.7,客户端依赖的接口用wsdl2java生成的。