WSDL <binding>
元素提供了有關如何通過線路傳輸portType
實際操作的具體細節。
portType
操作的協定的具體資訊。<soap:binding>
,表示傳輸是基於HTTP協定的SOAP訊息。portType
指定多個系結。係結元素有兩個屬性:name
和type
屬性。
<binding name = "Hello_Binding" type = "tns:Hello_PortType">
在上面範例程式碼中,name
屬性定義系結的名稱,type
屬性指向系結的埠,在本例中為tns:Hello_PortType
埠。
WSDL 1.1 包含SOAP 1.1的內建擴充套件。它允許指定SOAP特定的詳細資訊,包括SOAP檔頭,SOAP編碼樣式和SOAPAction HTTP檔頭。 SOAP擴充套件元素包括以下內容 -
soap:binding
soap:operation
soap:body
soap:binding
此元素表示將通過SOAP提供系結。 style
屬性指示SOAP訊息格式的整體樣式。 style
的值rpc
指定RPC格式。
transport
屬性指示SOAP訊息的傳輸。 http://schemas.xmlsoap.org/soap/http
值表示SOAP HTTP傳輸,而http://schemas.xmlsoap.org/soap/smtp
表示SOAP SMTP傳輸。
soap:operation
此元素指示特定操作與特定SOAP實現的系結。 soapAction
屬性指定SOAPAction HTTP檔頭用於標識服務。
soap:body
此元素用於指定輸入和輸出訊息的詳細資訊。 對於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>