cxf-webservice

關於Apache CXF

  Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,現在已經正式更名爲 Apache CXF 了,以下簡稱爲 CXF。CXF 繼承了 Celtix 和 XFire 兩大開源項目的精華,提供了對 JAX-WS 全面的支持,並且提供了多種 Binding 、DataBinding、Transport 以及各種 Format 的支持,並且可以根據實際項目的需要,採用代碼優先(Code First)或者 WSDL 優先(WSDL First)來輕鬆地實現 Web Services 的發佈和使用。Apache CXF已經是一個正式的Apache頂級項目。

  Apache CXF 是一個開源的 Services 框架,CXF 幫助您利用 Frontend 編程 API 來構建和開發 Services ,像 JAX-WS 。這些 Services 可以支持多種協議,比如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,並且可以在多種傳輸協議上運行,比如:HTTP、JMS 或者 JBI,CXF 大大簡化了 Services 的創建,同時它繼承了 XFire 傳統,一樣可以天然地和 Spring 進行無縫集成。

功能特性

  CXF 包含了大量的功能特性,但是主要集中在以下幾個方面:

  支持 Web Services 標準:CXF 支持多種 Web Services 標準,包含 SOAP、Basic Profile、WS-Addressing、WS-Policy、WS-ReliableMessaging 和 WS-Security。Frontends:CXF 支持多種“Frontend”編程模型,CXF 實現了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一個“simple frontend”允許客戶端和 EndPoint 的創建,而不需要 Annotation 註解。CXF 既支持 WSDL 優先開發,也支持從 Java 的代碼優先開發模式。容易使用: CXF 設計得更加直觀與容易使用。有大量簡單的 API 用來快速地構建代碼優先的 Services,各種 Maven 的插件也使集成更加容易,支持 JAX-WS API ,支持 Spring 2.0 更加簡化的 XML 配置方式,等等。支持二進制和遺留協議:CXF 的設計是一種可插撥的架構,既可以支持 XML ,也可以支持非 XML 的類型綁定,比如:JSON 和 CORBA。

項目目標

  下面列出了來自 Apache CXF 官方網站的項目目標。

  概要

 

  高性能可擴展簡單且容易使用支持多種標準

  支持 JAX-WS、 JAX-WSA、JSR-181 和 SAAJ;支持 SOAP 1.1、1.2、WS-I BasicProfile、WS-Security、WS-Addressing、WS-RM 和 WS-Policy;支持 WSDL 1.1 、2.0;支持 MTOM;

  多種傳輸方式、Bindings、Data Bindings 和 Format

 

  Bindings:SOAP、REST/HTTP;Data Bndings:目前支持 JAXB 2.0、Aegis 兩種,默認是 JAXB 2.0。XMLBeans、Castor 和 JiBX 數據綁定方式將在 CXF 2.1 版本中得到支持;格式(Format):XML、JSON;傳輸方式:HTTP、Servlet、JMS 和 Jabber;可擴展的 API 允許爲 CXF 增加其它的 Bindings,以能夠支持其它的消息格式,比如:CSV 和固定記錄長度。

  靈活部署

 

  輕量級容器:可在 Tomcat 或基於 Spring 的容器中部署 Services;集成 JBI:可以在如 ServiceMix, OpenESB or Petals 等等的 JBI 容器中將它部署爲一個服務引擎;集成 SCA:可以部署在如 Tuscany 之類的 SCA 容器中;集成 J2EE:可以在 J2EE 應用服務器中部署 Services,比如:Geronimo、JOnAS、JBoss、WebSphere Application Server 和 WebLogic Application Server,以及 Jetty 和 Tomcat;獨立的 Java 客戶端/服務器。

  支持多種編程語言

 

  全面支持 JAX-WS 2.0 客戶端/服務器編程模型;支持 JAX-WS 2.0 synchronous、asynchronous 和 one-way API's;支持 JAX-WS 2.0 Dynamic Invocation Interface (DII) API;支持 wrapped and non-wrapped 風格;支持 XML messaging API;支持 JavaScript 和 ECMAScript 4 XML (E4X) ,客戶端與服務端均支持;通過 Yoko 支持 CORBA;通過 Tuscany 支持 SCA;通過 ServiceMix 支持 JBI ;

代碼生成

  Java to WSDL;WSDL to Java;XSD to WSDL;WSDL to XML;WSDL to SOAP;WSDL to Service;

  CXF 框架支撐環境

 

  CXF 框架是一種基於 Servlet 技術的 SOA 應用開發框架,要正常運行基於 CXF 應用框架開發的企業應用,除了 CXF 框架本身之外,還需要 JDK 和 Servlet 容器的支持。

 

以上引用自百度百科

 

cxf-webservice

根據wsdl自動生成java代碼需要apache-cxf-2.0.12.zip這個包

使用方式爲:先解壓apache-cxf-2.0.12包到指定目錄如'D:\' 然後運行cmd 進入apache-cxf-2.0.12下的bin目錄內(D:\apache-cxf-2.0.12\bin)然後輸入以下命令

 

wsdl2java命令:

wsdl2java -client[server] 生成客戶端/服務端代碼 -p生成的java文件目錄 -d wsdl文件路徑

例如:

wsdl2java -client[server] -p com.unicom.mss.pms.sb_pms_pms_importcontractinfosrv -d D:\workspace\query\src\ http://localhost:8088/pms/cxfservices/SB_PMS_PMS_ImportContractInfoSrv?wsdl   

 

回車,即可看到生成的代碼。注:系統需要安裝配置jdk5或以上的環境。

 

由於apache-cxf-2.0.12.zip這個包大小超過10M在此無法上傳,下面爲下載地址:

 

http://apache.etoak.com//cxf/2.3.0/apache-cxf-2.3.0-src.zip

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章