## 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/)
下载地址是:
[http://cxf.apache.org/download.html](http://cxf.apache.org/download.html)
可以下载 解压版也可以下载安装版的。 具体的下载页面如下:
![](https://img.kancloud.cn/5a/c6/5ac6885bb9a1953968647214919dd672_620x469.png)
这里下载解压版就可以了。
下载镜像地址: [http://mirror.bit.edu.cn/apache/cxf/3.0.1/apache-cxf-3.0.1.zip](http://mirror.bit.edu.cn/apache/cxf/3.0.1/apache-cxf-3.0.1.zip)
解压后的目录结构如下:
![](https://img.kancloud.cn/e6/6c/e66c4870372a5151093dad17fe781f2e_698x123.png)
* 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 方法。
![](https://img.kancloud.cn/06/2c/062c7ea31e1ed9b0c9569f86aa6d94ab_483x25.png)
如果在eclipse 测试的话, 可以新建 一个java project, 把cxf lib 下所有的 jar 拷入到 项目的lib 路径下, 并放入build path 中。
然后把产生的java 文件,拷入到src 中就可以调用测试了。