WebService基礎學習(三)—CXF


一、什么是CXF?

     Apache CXF = Celtix + Xfire,開始叫 Apache CeltiXfire,后來更名為 Apache CXF 了,以下簡稱為 CXF。Apache CXF 是一個開源的 web Services 框架,CXF 幫助您構建和開發 web Services ,它支持多種協議,比如:SOAP1.1,1,2 XML/HTTPRESTful 或者CORBA

     RESTful: 一種風格而不是一個協議。它理念是網絡上的所有事物都被抽象為資源,每個資源對應一個唯一的資源標識符。

     Cxf是基於SOA總線結構,依靠spring完成模塊的集成,實現SOA方式。

     靈活的部署: 可以運行在Tomcat,Jboss,Jetty(內置),weblogic上面。

 

環境變量的配置

CXF_HOME: 安裝目錄。

Path: bin目錄。

 

二、使用CXF發布jax-ws規范的WebService

1.服務端

第一步: 創建一個java工程

第二步: 導入cxf的jar包。138個

第三步: 編寫SEI接口。需要在SEI接口上添加@Webservice注解。

第四步: 編寫SEI實現類。不需要加注解。

第五步: 發布服務

          1、創建一個JaxWsServerFactoryBean對象

          2、設置SEI接口setServiceClass

          3、設置SEI實現類對象。setServiceBean

          4、設置服務發布地址。setAddress

          5、發布服務。Create

POJO

image

 

SEI

image

 

SEI實現類

image

 

發布服務

image

 

查看服務

image

 

2.wsdl3java命令

image

image

 

3.客戶端開發

(1)傳統客戶端開發

image

結果:

日期: 2016-07-27
最高溫度: 30
最低溫度: 20
天氣信息: 北京: 今天很熱
============================================
日期: 2016-07-28
最高溫度: 31
最低溫度: 21
天氣信息: 北京: 今天小雨
============================================
日期: 2016-07-29
最高溫度: 32
最低溫度: 22
天氣信息: 北京: 今天大雨
============================================

 

(2)使用CXF實現客戶端

步驟:

1、導入cxf的jar包

2、創建一個JaxWsProxyFactoryBean對象

3、設置一個PortType的class。

4、設置一個address。服務端的url包括ip及端口。

5、調用create方法生成PortType代理對象。

6、調用服務端方法

7、打印結果。

image

結果:

日期: 2016-07-27
最高溫度: 30
最低溫度: 20
天氣信息: 上海: 今天很熱
============================================
日期: 2016-07-28
最高溫度: 31
最低溫度: 21
天氣信息: 上海: 今天小雨
============================================
日期: 2016-07-29
最高溫度: 32
最低溫度: 22
天氣信息: 上海: 今天大雨
============================================


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM