• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 解析Web接口描述語言WSDL(5)

    發表于:2007-05-25來源:作者:點擊數: 標簽:
    3)soap:body soap:body元素指出了消息部分應如何在SOAP Body元素中表現。 消息的各個部分可以是抽象的類型定義,也可以是具體的模式定義。如果是抽象定義,根據編碼格式定義的一套規則將對類型進行序列化。使用URI列表可以對每種編碼格式進行標識,就象在SO
    3)soap:body

      soap:body元素指出了消息部分應如何在SOAP Body元素中表現。

      消息的各個部分可以是抽象的類型定義,也可以是具體的模式定義。如果是抽象定義,根據編碼格式定義的一套規則將對類型進行序列化。使用URI列表可以對每種編碼格式進行標識,就象在SOAP規范中的那樣。由于某些編碼格式如SOAP編碼允許某種給定的抽象類型的消息格式發生變化,那么讀者應理解所有的格式變化:"讀者決定正確性"。為了避免對所有變化不必要的支持,可以對消息的定義具體化,然后暗示它的原始編碼格式(如果存在)。在這種情況下,消息的創建者必須嚴格遵循特定的規范:"作者決定正確性"。

      soap:body提供的信息用于決定如何在SOAP消息的Body元素中組合不同的消息部分。soap:body元素可以用在面向RPC的消息也可以用在面向文檔的消息中,但是封裝操作的格式對Body節如何構建有重要影響:

      如果操作格式是RPC,那么每個部分將是一個參數,或者是一個返回值,并且它們出現在body中的wrapper元素內。wrapper元素的名字與操作的名字相同,并且它的名稱空間是namespace屬性的值。每個消息部分(參數)在封裝器下出現,它是由與調用中相應參數名稱相同的存儲器表示的。各部分以與調用參數相同的順序進行排列。

      如果操作格式是文檔,那么就沒有額外的封裝器(wrappers),消息的parts直接出現在SOAP Body元素中。

      在定義Body的內容和參數存儲器元素時使用了相同的機制。

      4)soap:header

      soap:header元素允許在SOAP封裝的頭元素中對將要傳送的頭進行定義。它模擬了soap:body元素。并不需要使用soap:header費力地列出出現在SOAP封裝中的所有頭元素。例如,對WSDL的擴展暗示特定的頭應加入到實際的有效負荷中,此時就不需要列出所有的頭。

      5)soap:fault

      soap:fault元素指出了SOAP Fault Details元素的內容,它模仿了soap:body元素。

      6)soap:address

      SOAP地址綁定用于為端口指定地址。使用SOAP綁定的端口必須指定一個確切的地址,為地址指定的URI配制必須與soap:binding指定的傳輸相對應。

      2、 HTTP GET 與 POST 綁定

      為了描述Web瀏覽器與網站間的交互作用,WSDL包含了HTTP 1.1的 GET 和 POST版本的綁定。這種綁定允許應用程序而不瀏覽器與網站進行交互??梢灾付ㄏ旅娴膮f議特定信息:

      使用了HTTP GET 或 POST綁定的標記
      端口地址
      每種操作的相對地址(相對于端口定義的基地址)

      HTTP GET/POST綁定使用下列元素擴展WSDL:(注意黑體標注)

    <definitions .... >
    <binding .... >
    <http:binding verb="nmtoken"/>…1
    <operation .... >
    <http:operation location="uri"/>…2
    <input .... >
    <-- mime elements -->
    </input>
    <output .... >
    <-- mime elements -->
    </output>
    </operation>
    </binding>
    <port .... >
    <http:address location="uri"/>…3
    </port>
    </definitions>

      1)http:binding

      http:binding元素指出此綁定使用了HTTP協議。必需的Verb屬性的值指出了HTTP的版本,其值通常是GET或POST,但也可以使用其它值。注意,HTTP版本是大小寫敏感的。

      2)http:operation

      Location屬性為操作指定一個相對URI,此URI與http:address元素指定的URI結合在一起形成了HTTP請求的完整路徑。此URI必須是一個相對的URI。

      3)http:address

      location屬性為端口指定了基地址。其值是與http:operation綁定元素的位置(location)屬性的值結合在一起的。

      4)http:urlEncoded

      UrlEncoded元素指出所有的消息part都按照標準的URI編碼規則(名字=值…)編碼進HTTP請求URI中。參數名與消息part的名相對應。使用"名字=值"對對part提供的值進行編碼。通常使用GET指示URL編碼,或使用POST指示一個FORM-POST。對于GET,字符"?"作為必需,將自動追加。

     ?。糷ttp:urlEncoded/>

      5)http:urlReplacement

      http:urlReplacement元素指出所有的消息part都使用替代運算法則被編碼進HTTP請求URI中:
      http:operation 的相對URI值用于搜索一組探索方案。
      在http:operation的值與http:address的位置屬性的值結合前開始搜索。
      每個消息part有一個搜索方式。搜索方式字符串是附加了"("和")"的消息part 的名字。對每個匹配,相應消息part的值在匹配處替代匹配。
      匹配檢查在任何值被替代前執行(已經替代的值不會引發另外的匹配檢查)。
      消息part不能有重復值。
     ?。糷ttp:urlReplacement/>

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>