解析Web接口描述語言WSDL(4)_Windows教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!
      三、WSDL擴(kuò)展機(jī)制

        WSDL設(shè)計(jì)繼承了以XML為基礎(chǔ)的當(dāng)代Web技術(shù)標(biāo)準(zhǔn)的開放設(shè)計(jì)理念。它允許通過擴(kuò)展使用其它的類型定義語言(不光是XMI Schema),允許使用多種網(wǎng)絡(luò)傳輸協(xié)議和消息格式(不僅是在規(guī)范中定義的SOAP/HTTP、HTTP-GET/POST及MIME等)。WSDL也應(yīng)用了當(dāng)代軟件工程中的復(fù)用理念,分離了抽象定義層和具體部署層,使得抽象定義層的復(fù)用性大大增加。

        1、 SOAP綁定

        WSDL包括用于SOAP 1.1終端的綁定,此綁定支持下列協(xié)議信息規(guī)范:

        需要指示出此綁定是針對(duì)SOAP 1.1協(xié)議的。
        為SOAP 終端指定地址的方式。
        用于SOAPAction HTTP頭的URI,而此頭是綁定了SOAP 的HTTP頭。
        作為SOAP封裝一部分傳送的頭列表定義。

        SOAP綁定使用下列擴(kuò)展元素對(duì)WSDL進(jìn)行擴(kuò)展:(注意黑體標(biāo)注)

      <definitions .... >
      <binding .... >
      <soap:binding style="rpc|document" transport="uri"> …1
      <o(jì)peration .... >
      <soap:operation soapAction="uri" style="rpc|document"> …2
      <input>
      <soap:body parts="nmtokens" use="litera  |encoded"
      encodingStyle="uri-list" namespace="uri">…3
      <soap:header message="qname" fault="qname"/> …4
      </input>
      <o(jì)utput>
      <soap:body parts="nmtokens" use="litera  |encoded"
      encodingStyle="uri-list"? namespace="uri"/>…3
      <soap:header message="qname" fault="qname"/> …4
      </output>
      <fault>
      <soap:fault name="nmtoken" use="litera  |encoded"
      encodingStyle="uri-list" namespace="uri">…5
      </fault>
      </operation>
      </binding>
      <port .... >
      <soap:address location="uri"/> …6
      </port>
      </definitions>

        1)soap:binding

        SOAP綁定元素的目的是指出綁定是針對(duì)SOAP協(xié)議格式的:Envelope, Header 和 Body。這個(gè)元素沒有對(duì)編碼或消息格式進(jìn)行聲明。在使用SOAP綁定時(shí)必須指出soap:binding元素。

        2)soap:operation

        soap:operation 元素從整體上為操作提供信息。

        style屬性指出操作是面向RPC(消息包含參數(shù)和返回值)的還是面向文檔的(消息包含文檔)。此信息可用于選擇合適的編程模板。此屬性的值將影響SOAP消息體的構(gòu)建方式,如果沒有指定值,它默認(rèn)為soap:binding元素中指定的值。如果soap:binding元素沒有指定樣式,它假定為"文檔"。

        soapAction屬性為此操作的SOAPAction頭指定了值。此URI應(yīng)當(dāng)被直接用作SOAPAction頭的值,在作出請(qǐng)求時(shí)不要試圖將一個(gè)相對(duì)URI變成絕對(duì)URI。對(duì)于綁定了SOAP的HTTP協(xié)議來說,此值是必需的(它沒有默認(rèn)值)。對(duì)于其它的SOAP協(xié)議綁定,決對(duì)不能為其指定值,而soap:operation元素可以被忽略。

      來源:網(wǎng)絡(luò)搜集//所屬分類:Windows教程/更新時(shí)間:2013-04-15
      相關(guān)Windows教程