WSDL 绑定
WSDL 绑定
WSDL 绑定是一种描述如何将 SOAP 消息格式映射到底层协议和传输格式的技术。WSDL 绑定允许定义如何将 WSDL 端口的输入和输出消息映射到底层协议上。绑定主要应用于 SOAP 消息,它将 WSDL 描述的 XML 文档格式转化为传输协议的格式。
绑定元素
WSDL 绑定由三个主要元素组成:binding、operation 和 message。
binding
binding 元素在 WSDL 中定义了一个端口类型与一个具体协议绑定的关系。它的属性主要包括 name、type 和 transport。其中 name 属性表示绑定的名称;type 属性表示端口类型;transport 属性则表示消息的传输协议。比如,如果要使用 HTTP 协议传输 SOAP 消息,则应设置 transport 属性为 http://schemas.xmlsoap.org/soap/http。
operation
operation 元素定义了一个绑定的操作,它包含了输入和输出消息的格式与具体的协议绑定。operation 的属性主要包括 name 和 parameterOrder。其中 name 属性表示操作的名称;parameterOrder 属性表示输入参数的顺序。
message
message 元素的主要作用是定义 WSDL 一个输入或输出消息的格式。它定义了如何在 SOAP 消息中编码不同类型的数据,并以一种标准的方式来传递它们。message 的属性主要包括 name 和 element。其中 name 属性为消息的名称;element 属性则为 XML 元素的名称。
绑定实例
下面是一个简单的 WSDL 绑定实例:
<binding name="CalculatorSoap" type="tns:CalculatorSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="Add">
<soap:operation soapAction="http://tempuri.org/Add" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="Subtract">
<soap:operation soapAction="http://tempuri.org/Subtract" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
此绑定定义了名为 Calculator 的端口类型与 SOAP 的绑定关系。它包含了两个操作:Add 和 Subtract。在每一个操作中,包含了与它对应的输入和输出消息的定义。可以看到,此绑定将使用 HTTP 协议来传输 SOAP 消息。
总结
WSDL 绑定是一种重要的技术,它主要用于定义 SOAP 消息的格式和与底层协议的映射关系。使用 WSDL 绑定可以帮助我们更好地理解 SOAP 消息的传输方式和协议格式。了解 WSDL 绑定的基本概念和语法规则有助于我们更好地理解和设计 SOAP Web 服务。