首页 > 代码库 > CXF 生成Web Service Client(将WSDl 转化成 Java代码)

CXF 生成Web Service Client(将WSDl 转化成 Java代码)

CXF 是什么?

Apache CXF一个开源的Service框架,它实现了JCP与Web Service中一些重要标准。CXF简化了构造,集成,面 向服务架构(SOA)业务组件与技术的灵活复用。在CXF中,Service使用WSDL标准定义并能够使用各种不同的消息 格式(或binding)和网络协议(transports)包括SOAP、XML(通过HTTP或JMS)进行访问。CXF同样支持多种model 如:JAX-WS,JBI,SCA和CORBA service。CXF设计成可灵活部署到各种容器中包括Spring-based,JBI,SCA, Servlet和J2EE容器。

CXF 与 Axis2的异同

Apache CXF Web 服务堆栈是来自 Apache Software Foundation 的另一替代选择,Axis2 堆栈也来自同一组织。尽管它们来自同一组织,Axis 2 和 CXF 就如何配置和交付 Web 服务采用完全不同的方法。

相对Axis2来说, CXF 与Spring 的整合会更容易一些。


下载CXF

CXF 项目的主页地址是:

http://cxf.apache.org/

下载地址是:

http://cxf.apache.org/download.html

可以下载 解压版也可以下载安装版的。 具体的下载页面如下:

这里下载解压版就可以了。

下载镜像地址:  http://mirror.bit.edu.cn/apache/cxf/3.0.1/apache-cxf-3.0.1.zip

解压后的目录结构如下:


bin目录下: 包含有一些 bat 的工具, 比如 wsdl2java.bat 可以把 wsdl 转化为java 代码。

lib 目录下有cxf 使用的一些jar 包, 在实际开发中在项目中要导入这些jar 包

其他的目录就不需要多介绍了。


使用CXF产生client 代码的步骤

如果现在有一个wsdl 服务的地址:  http://xxxx/xx?wsdl

在命令行模式下输入:

wsdl2java.bat  -p com.oscar999  -client -encoding utf-8 -noAddressBinding  http://xxxx/xx?wsdl

就可以产生代码了。

说明:

1.  注意命令行模式切换到 wsdl2java.bat 所在的目录(如果不是, 要写 .bat 所在的全路径)

2. -p 后面配置的是代码所在的包名


产生出来的有个类名比较长的以 _Client 结尾的java 文件 就是调用的测试文件, 里面包含 main 方法。




如果在eclipse 测试的话, 可以新建 一个java project, 把cxf lib 下所有的 jar 拷入到 项目的lib 路径下, 并放入build path 中。

然后把产生的java 文件,拷入到src 中就可以调用测试了。



CXF 生成Web Service Client(将WSDl 转化成 Java代码)