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