WSDL 文檔僅僅是一個簡單的 XML 文檔。
它包含一系列描述某個 web service 的定義。
WSDL 文檔是利用這些主要的元素來描述某個 web service 的:
元素 | 定義 |
---|---|
<portType> | web service 執(zhí)行的操作 |
<message> | web service 使用的消息 |
<types> | web service 使用的數(shù)據(jù)類型 |
<binding> | web service 使用的通信協(xié)議 |
一個 WSDL 文檔的主要結(jié)構(gòu)是類似這樣的:
WSDL 文檔可包含其它的元素,比如 extension 元素,以及一個 service 元素,此元素可把若干個 web services 的定義組合在一個單一的 WSDL 文檔中。
<portType> 元素是最重要的 WSDL 元素。
它可描述一個 web service、可被執(zhí)行的操作,以及相關(guān)的消息。
可以把 <portType> 元素比作傳統(tǒng)編程語言中的一個函數(shù)庫(或一個模塊、或一個類)。
<message> 元素定義一個操作的數(shù)據(jù)元素。
每個消息均由一個或多個部件組成??梢园堰@些部件比作傳統(tǒng)編程語言中一個函數(shù)調(diào)用的參數(shù)。
<types> 元素定義 web service 使用的數(shù)據(jù)類型。
為了最大程度的平臺中立性,WSDL 使用 XML Schema 語法來定義數(shù)據(jù)類型。
<binding> 元素為每個端口定義消息格式和協(xié)議細(xì)節(jié)。
這是某個 WSDL 文檔的簡化的片段:
在這個例子中,<portType> 元素把 "glossaryTerms" 定義為某個端口的名稱,把 "getTerm" 定義為某個操作的名稱。
操作 "getTerm" 擁有一個名為 "getTermRequest" 的輸入消息,以及一個名為 "getTermResponse" 的輸出消息。
<message> 元素可定義每個消息的部件,以及相關(guān)聯(lián)的數(shù)據(jù)類型。
對比傳統(tǒng)的編程,glossaryTerms 是一個函數(shù)庫,而 "getTerm" 是帶有輸入?yún)?shù) "getTermRequest" 和返回參數(shù) getTermResponse 的一個函數(shù)。
更多建議: