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>