## 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)
可以下載 解壓版也可以下載安裝版的。 具體的下載頁面如下:

這里下載解壓版就可以了。
下載鏡像地址:? [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)
解壓后的目錄結構如下:

* 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 中就可以調用測試了。