WSDL (Web Services Description Language) 在 WIKI 是這麼寫的:
WSDL描述Web服務的公共介面。這是一個基於XML的關於如何與Web服務通訊和使用的服務描述;也就是描述與目錄中列出的Web服務進行交互時需要綁定的協議和信息格式。通常採用抽象語言描述該服務支持的操作和信息,使用的時候再將實際的網路協議和信息格式綁定給該服務。描述的很簡單,林北也以為很簡單,反正就不過是描述 SOAP 的格式,然後又有工具可以產生,隨便弄弄知道它是再做啥就好。弄下去才知道我錯了,基本上這根本不是給人看的東西,然後光標準就有五種類型,每個系統負責人都不知道自己產生的是哪一種 WSDL (大家都想說產出 WSDL 就沒自己的事情了),我這做 SOA 的光接這些不知名的 WSDL 就搞到快翻掉,踩雷踩太多次了,故整理起來自己以後好 google 恢復記憶。
使用方法很簡單,直接看圖顏色有高亮的地方來區別每個類型的不同處,至於優缺點可以直接參考下面的文章連結(英文)。扣掉 Document/Encoded 沒人用以外,剩下四種類型的 WSDL 和對應的 SOAP 格式請參考下圖(點圖可到 flickr 去下載原檔 960*720):
WSDL (紅字代表差異部分)
SOAP (藍字代表 Operation 相關差異,紅字代表 Type Encoded 相關差異)
參考: