WSDL2.0 <binding>元素

WSDL2.0 <binding>元素是WSDL 2.0文檔的頂級元素。<binding>用於定義一個綁定,其中一個或多個給定操作綁定到通信協議,它包含來自WSDL 2.0擴展的可擴展性元素。 <binding>的語法如下所示:

<wsdl:binding name="nmtoken" interface="qname1" type="uri">
    ... extensibility elements from WSDL 2.0 extension ...
    <wsdl:fault ref="qname2">
      ... extensibility elements from WSDL 2.0 extension ...
    </wsdl:fault>
    <wsdl:operation ref="qname3">
      ... extensibility elements from WSDL 2.0 extension ...
      <wsdl:input messageLabel="In">
        ... extensibility elements from WSDL 2.0 extension ...
      </wsdl:input>
      <wsdl:output messageLabel="Out">
        ... extensibility elements from WSDL 2.0 extension ...
      </wsdl:output>
      <wsdl:infault ref="qname4" messageLabel="In">
        ... extensibility elements from WSDL 2.0 extension ...
      </wsdl:infault>
      <wsdl:outfault ref="qname4" messageLabel="Out">
        ... extensibility elements from WSDL 2.0 extension ...
      </wsdl:infault>
    </wsdl:operation>
  </wsdl:binding>

下面是關於<binding>元素的解釋:

  • name="nmtoken" - 爲此綁定提供引用名稱。
  • interface="qname1" - 通過引用<interface>元素指定接口。
  • type="uri" - 指定綁定類型。
  • ref="qname2" - 指定接口中定義的故障消息。
  • ref="qname3" - 指定接口中定義的操作。
  • messageLabel="In|Out" - 指定消息方向。
  • ref="qname4" - 指定接口中定義的衝突/外部故障。
  • WSDL 2.0擴展中的可擴展性元素用於在不同級別提供其他綁定信息。

以下是<binding>元素的示例:

<wsdl:binding name="helloBinding" 
    interface="hy:helloInterface"
    type="http://www.w3.org/ns/wsdl/soap"
    wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/">
    <wsdl:operation ref="hy:Hello" 
      wsoap:mep="http://www.w3.org/2003/05/soap/mep/soap-response"/>
  </wsdl:binding>

在這個例子中,

  • 綁定 - helloBinding 定義用來在接口helloInterface中綁定Hello操作。
  • 此綁定使用WSDL SOAP擴展將SOAP over HTTP指定爲通信協議。
  • 沒有爲任何故障消息提供綁定,因爲我的操作沒有定義fault