當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 江蘇OA系統(tǒng) > 南京OA系統(tǒng) > 南京OA快博
實(shí)現(xiàn)隱式和顯式SOAP消息頭
用戶可以使用通常稱為顯式和隱式消息頭在 WSDL 定義中定義 SOAP 消息頭。本文學(xué)習(xí)這兩種樣式之間的區(qū)別以及在使用 JAX-RPC 進(jìn)行開發(fā)時這些區(qū)別是如何影響您的。
SOAP 規(guī)范描述了 SOAP 信封可以包括一個可選的消息頭部分。該消息頭用來傳輸并不屬于實(shí)際消息的有效載荷部分的數(shù)據(jù)。WSDL 規(guī)范定義了如何將 SOAP 消息頭數(shù)據(jù)聲明為 Web 服務(wù)定義的一部分。在 WSDL 定義中有兩種定義 SOAP 消息頭的方式:顯式和隱式消息頭 。
SOAP 消息頭的樣式
SOAP 消息頭的典型應(yīng)用是用來傳送上下文的數(shù)據(jù)。例如,如果消息中包括數(shù)字簽名,那么此簽名將最有可能在 SOAP 消息頭中傳送。另一個例子是用于 Web服務(wù),這些服務(wù)支持與客戶端之間進(jìn)行某些形式的會話。一旦建立了這樣的會話,它們就要應(yīng)該將特定的標(biāo)識符與每個請求一起發(fā)送。 WS-AtomicTransaction 規(guī)范(參閱 參考文獻(xiàn)) 同時還描述了一種非常類似的機(jī)制, 這種機(jī)制用于在多個Web 服務(wù)之間運(yùn)行交互的協(xié)調(diào)性序列。
WSDL 規(guī)范提供了兩種不同的識別 SOAP 消息頭字段用法的方法。在顯式消息頭中,用戶將消息頭的所有信息添加給服務(wù)的 portType 了。它作為附加的參數(shù)顯示給客戶端。這種樣式的優(yōu)點(diǎn)在于客戶端能夠直接將所有的信息傳送給該服務(wù)。其不足之處就是它經(jīng)常將服務(wù)的外部接口和與它的業(yè)務(wù)意圖毫不相干的信息群集在一起。
下面是使用隱式消息頭的好處:消息頭信息并不是 portType 的一部分,因此不會影響服務(wù)的功能性接口。另一方面,隱式消息頭很難作為標(biāo)題以編程的方式處理。
在更加深入了解有關(guān)編程方面的詳細(xì)信息之前, 我們來看一看這些不同的樣式是如何定義的。
WSDL 中 SOAP 消息頭的綁定類型
描述 SOAP 頭不同演示的最簡單方式就是從實(shí)例開始講述。下面清單 1 中的 WSDL 摘錄是摘自以前的解釋 SOAP 消息頭用法的一篇文章:
清單 1. WSDL 中 SOAP 消息頭的綁定 http://soapheader.ibm.com" ...>
...
type="intf:StockService">
"http://schemas.xmlsoap.org/soap/http"/>
part=
"request_header" use="literal"/>
...
您能夠看到在 WSDL 文件的綁定部分中特別的位置上使用了一個名為的元素。它包含在 元素中,該元素告訴用戶在該處存在 SOAP 消息頭片斷,可作為操作的部分請求消息。 元素的內(nèi)容能夠識別在消息頭中傳送的消息部分。
這樣做顯得非常簡潔易懂,但這是顯式消息頭還是隱式消息頭?顯然,從上面的摘錄來看,不能準(zhǔn)確區(qū)分。它其實(shí)可以是兩種方式的任意一種,這是因?yàn)椋合㈩^綁定定義了消息 intf:getLastSellPriceRequest 中名為 request_header 的部分,而它又是 SOAP 信封的消息頭部分。這種消息頭樣式依賴于此消息部分是否被用于 Web 服務(wù)的 portType 中。讓我們詳細(xì)地研究一下這兩種情況。
顯式消息頭
如果消息頭是服務(wù) 的一部分,那么就可以調(diào)用消息頭定義顯式。換句話說,名為 request_header 的消息部分必需在 portType 中使用,如 清單 2 所示。
清單 2. WSDL 中的顯式 SOAP 消息頭
name="parameters"/>
"getLastSellPriceRequest"/>
"getLastSellPriceResponse"/>
請注意名為 getLastSellPriceRequest 的消息包括兩部分。一部分加入到SOAP 請求消息的消息體部分,另一部分加入到消息頭中。清單 3 顯示了 WSDL 文件的相關(guān)部分,WSDL 文件顯示了這兩個部分:
清單 3. WSDL - SOAP 綁定中的顯式 SOAP 頭
"request_header" use="literal"/>
元素定義了 Web 服務(wù)的外部接口。它定義了哪些數(shù)據(jù)要作為請求消息的一部分發(fā)送。如果這些請求數(shù)據(jù)在該請求消息的 SOAP 消息頭部分中傳送,那么用戶就可以調(diào)用這個顯式消息頭。該操作同樣分別適用于部分(或者全部)的響應(yīng)消息被定義為頭元素的情況。
- 1哪些配套產(chǎn)品幫南京OA畫龍點(diǎn)睛
- 2淺談KM在國內(nèi)企業(yè)中的發(fā)展應(yīng)用
- 3如何利用財務(wù)管理系統(tǒng)來管理好收入
- 4警惕 還原卡不是安全解決方案
- 5財務(wù)信息化:融資租賃管理之道
- 6南京OA實(shí)務(wù)利用約當(dāng)產(chǎn)量分?jǐn)偝杀?/a>
- 7可視化BI 應(yīng)用關(guān)鍵是什么
- 8南京OA之后是否引入SCM?
- 9中小企業(yè)信息化的法律環(huán)境分析
- 10企業(yè)如何規(guī)劃和實(shí)施知識管理系統(tǒng)
- 11復(fù)雜事件處理技術(shù)是推動SOA發(fā)展的引擎
- 12軟件生產(chǎn)模式轉(zhuǎn)向傳統(tǒng) 將形成精細(xì)化產(chǎn)業(yè)鏈
- 13走出“人事管理” 瞄準(zhǔn)“人才戰(zhàn)略”
- 14服務(wù)商瞄準(zhǔn)中小企業(yè)IT需求
- 15精益生產(chǎn)之路 南京OA是基石
- 16泛普OA系統(tǒng)ThinkOneOA系統(tǒng)在建筑施工行業(yè)有著極為豐富的經(jīng)驗(yàn)
- 17南京OA實(shí)務(wù):業(yè)務(wù)流程評述之銷售訂單變更
- 18中小企業(yè)搭建企業(yè)網(wǎng)絡(luò)營銷流程的建議
- 19南京OA實(shí)施中最恐怖的事情:需求變更
- 20ESB實(shí)現(xiàn)SOA 企業(yè)復(fù)雜集成的解決
- 21技術(shù)并非唯一缺陷 解析南京OA禍?zhǔn)?/a>
- 22服務(wù)構(gòu)造是SOA實(shí)施的關(guān)鍵
- 23企業(yè)如何進(jìn)行南京OA項(xiàng)目招標(biāo)
- 24脫離流程變革 偽南京OA成帶剌玫瑰
- 25如何處理BPM與SOA的關(guān)系
- 26財務(wù)信息化:融資租賃的管理之道
- 27南京OA辦公軟件有哪些?
- 28小型企業(yè)對OA辦公軟件系統(tǒng)需求才是最旺盛的
- 29“否定之否定”:南京OA實(shí)施期待升級
- 30是時候?yàn)镾OA注入新活力
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓