資源描述:
《Spring+XFire開發(fā)webservice》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、使用XFire+Spring構(gòu)建WebService一、前奏XFire是與Axis2并列的新一代WebService框架,通過提供簡單的API支持WebService各項標準協(xié)議,幫助你方便快速地開發(fā)WebService應(yīng)用。相對于Axis來說,目前XFire相對受歡迎,加上其提供了和Spring集成的支持,在目前的WebService開源社區(qū)擁有眾多的追隨者。并且因為XFire為Spring提供的支持,使得我們可以很容易在Spring中使用XFire構(gòu)建WebService應(yīng)用。XFire與Axis2相比具有如下特征:1??????????支持一系列WebService的新標準--JS
2、R181、WSDL2.0、JAXB2、WS-Security等;2??????????使用Stax解釋XML,性能有了質(zhì)的提高。XFire采用Woodstox作Stax實現(xiàn);3??????????容易上手,可以方便快速地從pojo發(fā)布服務(wù);4??????????支持Spring、Pico、Plexus、Loom等容器;5??????????靈活的Binding機制,包括默認的Aegis,xmlbeans,jaxb2,castor;6??????????高性能的SOAP棧設(shè)計;7??????????支持Spring、Pico、Plexus、Loom等容器。8??????????XFire比
3、Axis1.3快2-6倍;9??????????XFire的響應(yīng)時間是Axis1.3的1/2到1/5。XFire在WebService框架中開始較晚,它從現(xiàn)有的框架中借鑒了許多優(yōu)秀的理念,力爭將WebService的應(yīng)用開發(fā)難度降到最低。此外,還提供了各種綁定技術(shù)、支持多種傳輸協(xié)議,對WebService體系中許多新的規(guī)范提供了支持二、下面讓我們來看一個XFire于Spring集成的helloWorld的簡單例子。一.實現(xiàn)的功能和特點???本例具有如下功能和特點:1)?基于J2EE平臺的WebService服務(wù);2)?開發(fā)方便,配置簡單;3)?與spring無縫集成。XFire是完全基于
4、流數(shù)據(jù)處理進行工作的系統(tǒng),這意味著XFire不是將整個SOAP文檔緩存在內(nèi)存中,而是以管道的方式接收SOAP流數(shù)據(jù)。這種工作方式的轉(zhuǎn)變帶來了可觀的性能回報,同時節(jié)省了內(nèi)存的占用?! Fire從管道中接收一個SOAP請求到返回一個SOAP響應(yīng),會經(jīng)歷一系列的階段。在管道調(diào)用的任何一個階段,XFire都可以添加一些額外的Handler,在對消息進行加工處理后再傳入到下一個階段中。在SOAP請求消息對WebService發(fā)起真正調(diào)用之前,分別會經(jīng)過傳輸、預(yù)轉(zhuǎn)發(fā)、轉(zhuǎn)發(fā)、策略實施、用戶信息處理、預(yù)調(diào)用、服務(wù)調(diào)用等階段。二.開發(fā)環(huán)境???筆者的開發(fā)環(huán)境描述如下:1)?jdk:1.5版本;2)?To
5、mcat:5.5.20;3)?MyEclipse:5.1.1GA。三.開發(fā)步驟1.工程與環(huán)境的建立在MyEclipse中新建Web工程,名為webservice_helloworld。選擇該工程后,點擊右鍵選擇MyEclipse->AddWebServiceCapabilities,彈出AddWebServiceCapabilities對話框,點擊“Next”,彈出ProjectLibraryConfiguration對話框,默認選擇CoreLibraries,點擊“Finish”按鈕,完成XFire核心包的添加。為了后續(xù)的客戶端的測試,還需讀者加入commons-httpclient.
6、jar包到WEB-INF/lib下。部署后可看到此時WEB-INF/lib的jar包列表如下:activation-1.1.jar、commons-beanutils-1.7.0.jar、commons-codec-1.3.jar、commons-httpclient.jar、commons-logging-1.0.4.jar、jaxen-1.1-beta-9.jar、jaxws-api-2.0.jar、jdom-1.0.jar、jsr173_api-1.0.jar、mail-1.4.jar、saaj-api-1.3.jar、saaj-impl-1.3.jar、spring-1.2.6.
7、jar、stax-api-1.0.1.jar、wsdl4j-1.5.2.jar、wstx-asl-3.0.1.jar、xbean-2.1.0.jar、xbean-spring-2.5.jar、xfire-aegis-1.2.2.jar、xfire-annotations-1.2.2.jar、xfire-core-1.2.2.jar、xfire-java5-1.2.2.jar、xfire-jaxws-1.2.2.jar、xfire-j