当前位置: 首页 > 教程 > WSDL >

WSDL2.0 <binding>元素

精华
小牛编辑
117浏览
2023-03-14

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