




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
XFire服務布署手冊
-05-1511:36
閱讀22
評論0
字號:
小一、準備工作:工程目錄結(jié)構(gòu)工程目錄結(jié)構(gòu)以下圖所表示:ldaxfire是工程根目錄。/WEB-INF/classes/META-INF/xfire目錄用于存放service.xml文件。將下包(用到)copy到/WEB-INF/lib目錄下。
<servlet-name>XFireServlet</servlet-name>
<display-name>XFireServlet</display-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>這么在工程中公布全部服務全部能夠在工程URLservices子目錄下訪問。三、類結(jié)構(gòu)調(diào)整XFire對于要公布服務沒有多出要求,它能夠自動將指定服務類公共方法公布出去。不過POJOs調(diào)用要求傳入?yún)?shù)類型必需是接口;同時因為XFire生成樁使用了不支持JSR181注釋類型,所以在這里最好是遵從POJOs要求,為每一個要公布服務類生成一個接口,方便于低版本用戶端使用POJOs方法進行訪問。四、類型影射XFire支持數(shù)據(jù)類型包含基礎(chǔ)類型、數(shù)組、集合、字符串、Date(java.util.Date、java.util.Calendar、java.sql.Timestamp、java.sql.Date、java.sql.Time)、XML類型(Document、Element、XMLStreamReader、Source)及以上類型組成復合類型?;A(chǔ)類型、數(shù)組、String、Date類型不用進行類型影射,除此之外數(shù)據(jù)類型如List、Map等集合對象或是其它復合類型,必需要寫對應類型影射。XFire類型影射在ServiceClassName.aegis.xml(ServiceClassName為服務類/接口名字)文件中申明。在這里盡可能要求公布服務參數(shù)和返回值不要超出基礎(chǔ)類型、數(shù)組、String泛圍,因這類型影射在此不作具體說明。在XFire工程中service.xml必需在/WEB-INF/classes/META-INF/xfire/目錄下。其基礎(chǔ)格式以下
<inHandlers>
<handlerhandlerClass=""></handler>
</inHandlers>
<name/>
<namespace/>
<serviceClass/>
<implementationClass/>
<serviceFactory/>
<bindingProvider/>
<style>document|rpc|message|wrapped</style>
<use>literal|encoded</use>
<scope>request|session|application</scope>
<invoker/>
<executor/>
<inHandlers>
<handlerhandlerClass=""/>
</inHandlers>
<outHandlers>
<handlerhandlerClass=""/>
</outHandlers>
<faultHandlers>
<handlerhandlerClass=""/>
</faultHandlers>
<createDefaultBindings>true|false</createDefaultBindings>
<bindings>
<soap11Bindingtransport=""
allowUndefinedEndpoints="">
<endpoints>
<endpointurl=""/>
</endpoints>
</soap11Binding>
<soap12Bindingtransport=""
allowUndefinedEndpoints="">
<endpoints>
<endpointurl=""/>
</endpoints>
</soap12Binding>
</bindings>1、name:必需。ServiceRegisty就是經(jīng)過這個名字進行服務注冊,服務布署完成后也是用它來調(diào)用服務。3、serviceClass:必需。要布署到服務中類,能夠是接口。4、implementationClass:可選。服務被調(diào)用時使用實現(xiàn)類。假如serviceClass值是一個接口,那么這個值就必需配置,且必需為serviceClass指定接口實現(xiàn)類。5、serviceFactory:可選。ServiceFactory控制服務創(chuàng)建和配置。6、bindingProvider:設(shè)置bindingProvider,提供綁定相關(guān)信息。如端口等。7、style:可選。參數(shù)樣式。默認值為wrapped??扇≈禐閣rapped、message、document及rpc。8、use:可選。指定編碼類型。取值能夠是encoding或litaral,現(xiàn)在XFire支持literal格式,即無編碼。9、scope:可選。指定服務生存周期。默認值為application,即在所以訪問期間只創(chuàng)建一個服務,不用時能夠會被持久化。能夠是application、session或request。invoker:可選。設(shè)置調(diào)用轉(zhuǎn)接器。假如當服務實現(xiàn)類不是一個無格式j(luò)avabean時invoker能夠指定其調(diào)用方法。excutor:可選值。能夠為服務指定一個默認值以外實施策略。handlers:能夠使用inHandlers、outHandlers或faulterHandlers為服務指定輸入、輸出和犯錯時調(diào)用處理。每個handler本身是一個XML解析處理句柄。createDefaultBinding:可選。默認為true,即創(chuàng)建默認SOAP1.1HTTP綁定。假如不想創(chuàng)建默認綁定,可將其值設(shè)為false。綁定配置:每一個綁定全部要指定一個transportID。下面是對應Transport和ID對應表。使用endpoint選項能夠覆蓋掉默認端口地址。JMSurn:xfire:transport:jmsLocalurn:xfire:transport:local
<name>ServiceName</name>
<serviceClass>com.yourcompany.yourpath..ServiceInterface</serviceClass>
<implementationClass>
com.yourcompany.yourpath.ServiceImplClass
</implementationClass>
<inHandlers>
<handler
handlerClass="com.yourcompany.yourpath.HandlerClass"/>
</inHandlers>用自己實際路徑和類名替換上面配置就是一個經(jīng)典XFireservice配置。六、用戶端調(diào)用用戶端調(diào)用采取POJOs方法。在這種方法下要用到在服務端定義服務接口。具體代碼以下:
ServiceserviceModel=newObjectServiceFactory().create(
XFireProxyFactoryserviceFactory=newXFireProxyFactory();
ServiceInterfaceservice=(ServiceInterface)serviceFactory.create(
serviceModel,serviceURL);
Clientclient=Client.getInstance(service);
client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT,"0");
data=service.serviceMethod();注:其中ServiceInterface在實際工程中要以實際接口類型替換,serviceMethod以具體方法名替換。在XFire1.2以后支持SOAP消息GZip壓縮傳輸,在適宜地方開啟GZip壓縮能夠降低網(wǎng)絡(luò)傳輸數(shù)據(jù)量,加緊速度。在XFire中開啟GZip壓縮要用到一個開源Filter:PJLCompressingFilter。這個Filter最新版本是1.6.4,自1.5.0開始該工程開始構(gòu)建于JDK5.0,所以在JDK1.4環(huán)境下只能使用1.4.6(這個版本會和高版本同時更新)。一、服務端開啟GZip:在服務端開啟GZip只需將PJLCompressingFilter下jar包(用到)導入到web/WEB-INF/lib目錄下。并在web.xml文件中增加以下配置:
<filter-name>CompressingFilter</filter-name>
<filter-class>
</filter-class>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>statsEnabled</param-name>
<param-value>true</param-value>
</init-param>
<filter-mapping>
<filter-name>CompressingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>代碼清單7-1:服務端加入GZip時web.xml中增加配置注:依據(jù)web.xml文法定義,這個定義必需在servlet定義之前。二、用戶端啟用GZip:用戶端開啟GZip只要將用戶端GZip屬性設(shè)為true卻可。代碼以下:
ServiceserviceModel=newObjectServiceFactory().create(
XFireProxyFactoryserviceFactory=newXFireProxyFactory();
ServiceInterfaceservice=(ServiceInterface)serviceFactory.create(
serviceModel,serviceURL);
Clientclient=((XFireProxy)Proxy.getInvocationHandler(service))
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小戶型房AI應用企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 騎行服裝定制店行業(yè)跨境出海戰(zhàn)略研究報告
- 酒店照明設(shè)計創(chuàng)新方案行業(yè)跨境出海戰(zhàn)略研究報告
- 室內(nèi)游藝AI應用行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 部編版七年級上冊《原始農(nóng)耕生活》教案
- 年度幼兒園教研工作計劃
- 實習收獲與總結(jié)
- 漁船出租合同范本
- 二手房屋贈與合同
- 2025授權(quán)經(jīng)營合同書范本
- 2024年新人教版九年級上冊化學教學課件 6.1.2 碳單質(zhì)的化學性質(zhì)
- 2025年質(zhì)譜分析考試題及答案
- 2025年合肥幼兒師范高等??茖W校單招職業(yè)適應性測試題庫新版
- 工程建設(shè)資料員培訓課件
- 2025年浙江寧波交投公路營運管理限公司招聘12人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 第四單元 第三課 拍攝學校創(chuàng)意短視頻教學設(shè)計 2024-2025學年西交大版(2024)初中信息技術(shù)七年級上冊
- 電機控制器設(shè)計原理與現(xiàn)代技術(shù)應用
- 2025時事政治考試題庫和參考答案
- 化工智能制造技術(shù)基礎(chǔ)知識單選題100道及答案
- 2025年蘇州工業(yè)職業(yè)技術(shù)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2024年尖葉菠菜種子項目可行性研究報告
評論
0/150
提交評論