解析Web接口描述語(yǔ)言WSDL(5)_Windows教程
soap:body元素指出了消息部分應(yīng)如何在SOAP Body元素中表現(xiàn)。
消息的各個(gè)部分可以是抽象的類型定義,也可以是具體的模式定義。如果是抽象定義,根據(jù)編碼格式定義的一套規(guī)則將對(duì)類型進(jìn)行序列化。使用URI列表可以對(duì)每種編碼格式進(jìn)行標(biāo)識(shí),就象在SOAP規(guī)范中的那樣。由于某些編碼格式如SOAP編碼允許某種給定的抽象類型的消息格式發(fā)生變化,那么讀者應(yīng)理解所有的格式變化:"讀者決定正確性"。為了避免對(duì)所有變化不必要的支持,可以對(duì)消息的定義具體化,然后暗示它的原始編碼格式(如果存在)。在這種情況下,消息的創(chuàng)建者必須嚴(yán)格遵循特定的規(guī)范:"作者決定正確性"。
soap:body提供的信息用于決定如何在SOAP消息的Body元素中組合不同的消息部分。soap:body元素可以用在面向RPC的消息也可以用在面向文檔的消息中,但是封裝操作的格式對(duì)Body節(jié)如何構(gòu)建有重要影響:
如果操作格式是RPC,那么每個(gè)部分將是一個(gè)參數(shù),或者是一個(gè)返回值,并且它們出現(xiàn)在body中的wrapper元素內(nèi)。wrapper元素的名字與操作的名字相同,并且它的名稱空間是namespace屬性的值。每個(gè)消息部分(參數(shù))在封裝器下出現(xiàn),它是由與調(diào)用中相應(yīng)參數(shù)名稱相同的存儲(chǔ)器表示的。各部分以與調(diào)用參數(shù)相同的順序進(jìn)行排列。
如果操作格式是文檔,那么就沒(méi)有額外的封裝器(wrappers),消息的parts直接出現(xiàn)在SOAP Body元素中。
在定義Body的內(nèi)容和參數(shù)存儲(chǔ)器元素時(shí)使用了相同的機(jī)制。
4)soap:header
soap:header元素允許在SOAP封裝的頭元素中對(duì)將要傳送的頭進(jìn)行定義。它模擬了soap:body元素。并不需要使用soap:header費(fèi)力地列出出現(xiàn)在SOAP封裝中的所有頭元素。例如,對(duì)WSDL的擴(kuò)展暗示特定的頭應(yīng)加入到實(shí)際的有效負(fù)荷中,此時(shí)就不需要列出所有的頭。
5)soap:fault
soap:fault元素指出了SOAP Fault Details元素的內(nèi)容,它模仿了soap:body元素。
6)soap:address
SOAP地址綁定用于為端口指定地址。使用SOAP綁定的端口必須指定一個(gè)確切的地址,為地址指定的URI配制必須與soap:binding指定的傳輸相對(duì)應(yīng)。
2、 HTTP GET 與 POST 綁定
為了描述Web瀏覽器與網(wǎng)站間的交互作用,WSDL包含了HTTP 1.1的 GET 和 POST版本的綁定。這種綁定允許應(yīng)用程序而不瀏覽器與網(wǎng)站進(jìn)行交互。可以指定下面的協(xié)議特定信息:
使用了HTTP GET 或 POST綁定的標(biāo)記
端口地址
每種操作的相對(duì)地址(相對(duì)于端口定義的基地址)
HTTP GET/POST綁定使用下列元素?cái)U(kuò)展WSDL:(注意黑體標(biāo)注)
<definitions .... >
<binding .... >
<http:binding verb="nmtoken"/>…1
<o(jì)peration .... >
<http:operation location="uri"/>…2
<input .... >
<-- mime elements -->
</input>
<o(jì)utput .... >
<-- mime elements -->
</output>
</operation>
</binding>
<port .... >
<http:address location="uri"/>…3
</port>
</definitions>
1)http:binding
http:binding元素指出此綁定使用了HTTP協(xié)議。必需的Verb屬性的值指出了HTTP的版本,其值通常是GET或POST,但也可以使用其它值。注意,HTTP版本是大小寫(xiě)敏感的。
2)http:operation
Location屬性為操作指定一個(gè)相對(duì)URI,此URI與http:address元素指定的URI結(jié)合在一起形成了HTTP請(qǐng)求的完整路徑。此URI必須是一個(gè)相對(duì)的URI。
3)http:address
location屬性為端口指定了基地址。其值是與http:operation綁定元素的位置(location)屬性的值結(jié)合在一起的。
4)http:urlEncoded
UrlEncoded元素指出所有的消息part都按照標(biāo)準(zhǔn)的URI編碼規(guī)則(名字=值…)編碼進(jìn)HTTP請(qǐng)求URI中。參數(shù)名與消息part的名相對(duì)應(yīng)。使用"名字=值"對(duì)對(duì)part提供的值進(jìn)行編碼。通常使用GET指示URL編碼,或使用POST指示一個(gè)FORM-POST。對(duì)于GET,字符"?"作為必需,將自動(dòng)追加。
<http:urlEncoded/>
5)http:urlReplacement
http:urlReplacement元素指出所有的消息part都使用替代運(yùn)算法則被編碼進(jìn)HTTP請(qǐng)求URI中:
http:operation 的相對(duì)URI值用于搜索一組探索方案。
在http:operation的值與http:address的位置屬性的值結(jié)合前開(kāi)始搜索。
每個(gè)消息part有一個(gè)搜索方式。搜索方式字符串是附加了"("和")"的消息part 的名字。對(duì)每個(gè)匹配,相應(yīng)消息part的值在匹配處替代匹配。
匹配檢查在任何值被替代前執(zhí)行(已經(jīng)替代的值不會(huì)引發(fā)另外的匹配檢查)。
消息part不能有重復(fù)值。
<http:urlReplacement/>
- 使用 Translator 模式構(gòu)建更好的網(wǎng)站(5)
- 個(gè)人服務(wù)器架設(shè)全攻略(75)
- 個(gè)人服務(wù)器架設(shè)全攻略(59)
- 個(gè)人服務(wù)器架設(shè)全攻略(32)
- 個(gè)人服務(wù)器架設(shè)全攻略(65)
- 個(gè)人服務(wù)器架設(shè)全攻略(23)
- 個(gè)人服務(wù)器架設(shè)全攻略(29)
- 配置一個(gè)安全的chroot DNS(1)
- 深入剖析IIS 6.0(11)
- 深入剖析IIS 6.0(9)
- 深入剖析IIS 6.0(4)
- 一個(gè)安全WEB服務(wù)器的安裝(6)
Windows教程Rss訂閱服務(wù)器教程搜索
Windows教程推薦
- 安全配置和維護(hù)Apache WEB Server(2)
- 主流WEB服務(wù)器比較(3)
- 使用IIS自動(dòng)開(kāi)通組件編程
- Windows構(gòu)建高安全性web全能服務(wù)器
- Apache服務(wù)器的安裝教程(1)
- Win2K服務(wù)器端安全設(shè)置教程(3)
- 通過(guò)內(nèi)核httpd實(shí)現(xiàn)web服務(wù)加速(2)
- 實(shí)現(xiàn)Web中的@虛擬域名系統(tǒng)(原理篇)(2)
- Apache服務(wù)器的安全性及實(shí)現(xiàn)(3)
- “終端服務(wù)器超出了最大允許連接數(shù)”的解決方法匯總
- 相關(guān)鏈接:
- 教程說(shuō)明:
Windows教程-解析Web接口描述語(yǔ)言WSDL(5)。