在本文寫作時,並無任何 SOAP 實作,能進行作業名稱的多載動作。這對使用 Java 的客戶端是很重要的,因為使用 Java 的伺服端所使用的介面,會利用 Java 的多載功能。但這對使用 COM 的客戶端倒無所謂,因為 COM 並不支援多載。
Binding 區段是,指定通訊協定、序列化、與編碼的地方。若 Types、Messages、與 PortType 等區段負責抽象的資料內容,那麼 Binding 區段便負責處理資料傳輸的具體細節。Binding 區段負責使前三個區段的抽象具體化。
將繫結規格從資料與訊息宣告中分離出來的意義是,執行相同業務的服務提供者,可將一組作業 (portType) 標準化。若欲凸顯自身的差異,每個提供者可另外提供自訂繫結。讓 WSDL 擁有匯入 construct 是有好處的;因為如此一來,即可遠離 Bindings 與 Services 區段,將抽象定義置於自身的檔案中;並可將其散佈於服務提供者間,讓他們把抽象定義設定成標準。例如,銀行可標準化,一組抽象 WSDL 文件詳盡說明的銀行作業。但每家銀行還是可以自由地,「自訂」基礎通訊協定、序列最佳化、與編碼。
下列為 Binding 區段的 WSDL 多載範例,於此重複以方便詳細討論:
transport="http://schemas.XMLsoap.org/soap/http"/> namespace="http://tempuri.org/message/" encodingStyle= "http://schemas.XMLsoap.org/soap/encoding/" /> namespace="http://tempuri.org/message/" encodingStyle= "http://schemas.XMLsoap.org/soap/encoding/" /> 有兩個 Use 它是用以指定資料採「編碼 (encoded)」或「常值 (literal)」。「常值」的意義是,結果 SOAP 訊息所含資料的格式,完全依照抽象定義 (Types、Messages、與 PortTypes 區段) 的指定規格 。「編碼」的意義是,「encodingStyle」屬性 (參考下文) 會指定編碼方式。 Namespace 每個 SOAP 訊息的主體,都有自己的命名空間,以防止名稱衝突。此屬性所指定的 URI,會逐字使用於結果 SOAP 訊息之中。 EncodingStyle 以 SOAP 的編碼方式而言,URI 的值應該是「http://schemas.XMLsoap.org/soap/encoding」。 文件樣式繫結 在上一區段中, XMLns:stns="(SchemaTNS)" XMLns:wtns="(WsdlTNS)" targetNamespace="(WsdlTNS)"> elementFormDefault="qualified"> ? 此結構描述有 SimpleElement 與 CompositeElement 兩個元素,以及一個宣告類型 (CompositeType)。所宣告的唯一 rpc / literal use="literal" namespace="(MessageNS)"/> 線上情形: XMLns:stns="(SchemaTNS)"> 123 document / literal / type= style="document" ...> 線上情形: rpc / encoded encoding= "http://schemas.XMLsoap.org/soap/encoding/" namespace="(MessageNS)"/> 線上情形: hello document / literal / element= style="document" ...> use="literal"> 線上情形: 123 document / encoded style="document" ...> encoding= "http://schemas.XMLsoap.org/soap/encoding/" namespace="(MessageNS)"/> 線上情形: hello 服務即是一組 在 WSDL 文件中,可以有一個以上的 location="http://carlos:8080/fooService/foo.ASP"/> 在一份 WSDL 文件中, 總結 本文已經說明了 WSDL 文件最顯著的 SOAP 特色。但應該聲明的是,WSDL 絕不僅只能在 HTTP 上說明 SOAP 而已。在說明 SOAP 上,WSDL 的表達能力絕對足以使用 HTTP-POST、HTTP-GET、SMTP、與其它通訊協定。只要使用 WSDL,不論是程式開發人員或一般使用者,都可輕鬆處理 SOAP。個人深信,WSDL 與 SOAP 的結合,將可引進全新的應用程式類別,以更徹底地利用各種網路服務。 在 WSDL 的命名空間,有各種 XML 元素。下表整理了這些元素、屬性、與內容,以供參考: 元素 屬性 內容 (子項) targetNamespace XMLns (其它命名空間) type type (空值) parameterOrder name message (空值) message (空值) message (空值) binding 資源: WSDL 1.1 SOAP 1.1 XML 結構描述入門 MS SOAP Toolkit 下載網站 IDL 至 WSDL 的轉譯工具 含 WSDL 至 VB 之 Proxy 產生器的免費網路資源 PocketSOAP:SOAP 之相關元件、工具、與原始程式碼

