WSDL 綁定
WSDL 綁定可為web service 定義消息格式和協議細節。
綁定到SOAP
一個請求- 響應操作的例子:
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
<binding type="glossaryTerms" name="b1">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation>
<soap:operation soapAction="http://example.com/getTerm"/>
<input><soap:body use="literal"/></input>
<output><soap:body use="literal"/></output>
</operation>
</binding>
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
<binding type="glossaryTerms" name="b1">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation>
<soap:operation soapAction="http://example.com/getTerm"/>
<input><soap:body use="literal"/></input>
<output><soap:body use="literal"/></output>
</operation>
</binding>
binding元素有兩個屬性- name屬性和type屬性。
name 屬性定義binding 的名稱,而type 屬性指向用於binding 的端口,在這個例子中是"glossaryTerms" 端口。
soap:binding元素有兩個屬性- style屬性和transport屬性。
style 屬性可取值"rpc" 或"document"。 在這個例子中我們使用document。 transport 屬性定義了要使用的SOAP 協議。 在這個例子中我們使用HTTP。
operation元素定義了每個端口提供的操作符。
對於每個操作,相應的SOAP 行為都需要被定義。 同時您必須如何對輸入和輸出進行編碼。 在這個例子中我們使用了"literal"。