版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
XFire服務(wù)布署手冊
-05-1511:36
閱讀22
評論0
字號:
小一、準(zhǔn)備工作:工程目錄結(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>這么在工程中公布全部服務(wù)全部能夠在工程URLservices子目錄下訪問。三、類結(jié)構(gòu)調(diào)整XFire對于要公布服務(wù)沒有多出要求,它能夠自動將指定服務(wù)類公共方法公布出去。不過POJOs調(diào)用要求傳入?yún)?shù)類型必需是接口;同時因為XFire生成樁使用了不支持JSR181注釋類型,所以在這里最好是遵從POJOs要求,為每一個要公布服務(wù)類生成一個接口,方便于低版本用戶端使用POJOs方法進行訪問。四、類型影射XFire支持?jǐn)?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)及以上類型組成復(fù)合類型。基礎(chǔ)類型、數(shù)組、String、Date類型不用進行類型影射,除此之外數(shù)據(jù)類型如List、Map等集合對象或是其它復(fù)合類型,必需要寫對應(yīng)類型影射。XFire類型影射在ServiceClassName.aegis.xml(ServiceClassName為服務(wù)類/接口名字)文件中申明。在這里盡可能要求公布服務(wù)參數(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)過這個名字進行服務(wù)注冊,服務(wù)布署完成后也是用它來調(diào)用服務(wù)。3、serviceClass:必需。要布署到服務(wù)中類,能夠是接口。4、implementationClass:可選。服務(wù)被調(diào)用時使用實現(xiàn)類。假如serviceClass值是一個接口,那么這個值就必需配置,且必需為serviceClass指定接口實現(xiàn)類。5、serviceFactory:可選。ServiceFactory控制服務(wù)創(chuàng)建和配置。6、bindingProvider:設(shè)置bindingProvider,提供綁定相關(guān)信息。如端口等。7、style:可選。參數(shù)樣式。默認(rèn)值為wrapped。可取值為wrapped、message、document及rpc。8、use:可選。指定編碼類型。取值能夠是encoding或litaral,現(xiàn)在XFire支持literal格式,即無編碼。9、scope:可選。指定服務(wù)生存周期。默認(rèn)值為application,即在所以訪問期間只創(chuàng)建一個服務(wù),不用時能夠會被持久化。能夠是application、session或request。invoker:可選。設(shè)置調(diào)用轉(zhuǎn)接器。假如當(dāng)服務(wù)實現(xiàn)類不是一個無格式j(luò)avabean時invoker能夠指定其調(diào)用方法。excutor:可選值。能夠為服務(wù)指定一個默認(rèn)值以外實施策略。handlers:能夠使用inHandlers、outHandlers或faulterHandlers為服務(wù)指定輸入、輸出和犯錯時調(diào)用處理。每個handler本身是一個XML解析處理句柄。createDefaultBinding:可選。默認(rèn)為true,即創(chuàng)建默認(rèn)SOAP1.1HTTP綁定。假如不想創(chuàng)建默認(rèn)綁定,可將其值設(shè)為false。綁定配置:每一個綁定全部要指定一個transportID。下面是對應(yīng)Transport和ID對應(yīng)表。使用endpoint選項能夠覆蓋掉默認(rèn)端口地址。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方法。在這種方法下要用到在服務(wù)端定義服務(wù)接口。具體代碼以下:
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(這個版本會和高版本同時更新)。一、服務(wù)端開啟GZip:在服務(wù)端開啟GZip只需將PJLCompressingFilter下jar包(用到)導(dǎo)入到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:服務(wù)端加入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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB 39800.8-2024個體防護裝備配備規(guī)范第8部分:船舶
- 2025年度床墊行業(yè)展會參展商采購合同3篇
- 2024版航天器發(fā)射與數(shù)據(jù)服務(wù)合同
- 2024版臨時工合同協(xié)議書范文
- 2024年軟件開發(fā)購銷合同
- 個人借款協(xié)議模板2024專業(yè)版版B版
- 二零二五版二手房買賣合同公證服務(wù)合同規(guī)范與執(zhí)行2篇
- 2024版股權(quán)激勵合同2篇
- 二零二五版房屋買賣更名與配套設(shè)施移交協(xié)議3篇
- 二零二五年度環(huán)保項目墊資合同范本2篇
- 2024-2025學(xué)年成都高新區(qū)七上數(shù)學(xué)期末考試試卷【含答案】
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價格水平調(diào)整的通知
- 2025年浙江杭州市西湖區(qū)專職社區(qū)招聘85人歷年高頻重點提升(共500題)附帶答案詳解
- 《數(shù)學(xué)廣角-優(yōu)化》說課稿-2024-2025學(xué)年四年級上冊數(shù)學(xué)人教版
- “懂你”(原題+解題+范文+話題+技巧+閱讀類素材)-2025年中考語文一輪復(fù)習(xí)之寫作
- 2025年景觀照明項目可行性分析報告
- 2025年江蘇南京地鐵集團招聘筆試參考題庫含答案解析
- 2025年度愛讀書學(xué)長參與的讀書項目投資合同
- 電力系統(tǒng)分析答案(吳俊勇)(已修訂)
- 化學(xué)-河北省金太陽質(zhì)檢聯(lián)盟2024-2025學(xué)年高三上學(xué)期12月第三次聯(lián)考試題和答案
- 期末復(fù)習(xí)試題(試題)-2024-2025學(xué)年四年級上冊數(shù)學(xué) 北師大版
評論
0/150
提交評論