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/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 中就可以调用测试了。