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