WSDL - <绑定> 元素


<binding>元素提供有关如何通过线路实际传输portType操作的具体细节。

  • 可以通过多种传输(包括 HTTP GET、HTTP POST 或 SOAP)提供绑定。

  • 绑定提供了有关使用什么协议来传输portType操作的具体信息。

  • 绑定提供服务所在位置的信息。

  • 对于 SOAP 协议,绑定是<soap:binding>,传输是 HTTP 协议之上的 SOAP 消息。

  • 您可以为单个portType指定多个绑定。

绑定元素有两个属性:名称类型属性。

<binding name = "Hello_Binding" type = "tns:Hello_PortType">

name属性定义绑定的名称,type 属性指向绑定的端口,在本例中为“tns:Hello_PortType”端口。

SOAP 绑定

WSDL 1.1 包括 SOAP 1.1 的内置扩展。它允许您指定 SOAP 特定的详细信息,包括 SOAP 标头、SOAP 编码样式和 SOAPAction HTTP 标头。SOAP 扩展元素包括以下内容 -

  • 肥皂:粘合
  • 肥皂:操作
  • 肥皂:身体

肥皂:粘合

该元素指示绑定将通过 SOAP 提供。style属性表示SOAP消息格式的整体风格。rpc的style值指定RPC格式。

传输属性指示 SOAP 消息的传输。值 http://schemas.xmlsoap.org/soap/http 指示 SOAP HTTP 传输,而 http://schemas.xmlsoap.org/soap/smtp 指示 SOAP SMTP 传输。

肥皂:操作

该元素指示特定操作与特定 SOAP 实现的绑定。SoapAction属性指定 SOAPAction HTTP 标头用于标识服务

肥皂:身体

该元素使您能够指定输入和输出消息的详细信息。对于 HelloWorld,body 元素指定 SOAP 编码样式以及与指定服务关联的命名空间 URN。

这是示例章节中的一段代码 -

<binding name = "Hello_Binding" type = "tns:Hello_PortType">
   <soap:binding style = "rpc" transport = "http://schemas.xmlsoap.org/soap/http"/>
   <operation name = "sayHello">
      <soap:operation soapAction = "sayHello"/>
			
      <input>
         <soap:body
            encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
            namespace = "urn:examples:helloservice" use = "encoded"/>
      </input>
			
      <output>
         <soap:body
            encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
            namespace = "urn:examples:helloservice" use = "encoded"/>
      </output>
   </operation>
</binding>