使用apache cxf生成web servcie 客户端
下载 cxf 包
可以在apache cxf下载zip包
修改wsdl2java.bat中两个变量
配置cxf home和java home.
set CXF_HOME=D:\cxf\apache-cxf-2.3.1 set JAVA_HOME=C:\Java\__my_company_1__k1.6.0_24
拷贝jaxb-api jar 文件
__my_company_1__k安装目录下的jre/lib下新建endorsed目录,再把jaxb-api-2.1.jar拷贝到其中
mkdir $JAVA_HOME/jre/lib/endorsed cp $CXF_HOME/lib/jaxb-api-2.2.1.jar $JAVA_HOME/jre/lib/endorsed
根据wsdl文件生成java客户端
$CXF_HOME/bin/wsdl2java -p com.mysite.cxf.client -d d:/ http://admin.ebook.buy.net/services/services/ebookQueryWs?wsdl
- -p 后的 com.mysite.cxf.client 指的是生成的java文件的包。
- -d 后的d:/ 指的是文件生成的本地路径。
- 最后的uri指的是wsdl的访问地址。
与spring 集成
xml 内容如下
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <jaxws:client id="wareServicer" address="${webservice.address.ware}" serviceClass="com.buy.emall.rpc.server.wares.EbookQueryInfoWsService"> </jaxws:client> <jaxws:client id="categoryServicer" address="${webservice.address.category}" serviceClass="com.buy.emall.rpc.server.category.CategoryWebService"> </jaxws:client> </beans>