WSDL 教學課程login
WSDL 教學課程
作者:php.cn  更新時間:2022-04-11 14:49:08

WSDL 文檔



WSDL 文件只是一個簡單的 XML 文件。

它包含一系列描述某個 web service 的定義。


WSDL 文件結構

##WSDL 文件是利用這些主要的元素來描述某個web service 的:

元素定義<portType>web service 執行的動作<message> web service 使用的訊息<types>web service 使用的資料類型<binding>web service 使用的通訊協定

一個 WSDL 文件的主要結構是類似這樣的:

<definitions>

<types>
    data type definitions........
</types>

<message>
    definition of the data being communicated....
</message>

<portType>
    set of operations......
</portType>

<binding>
   protocol and data format specification....
</binding>

#</definitions>

WSDL 文件可包含其它的元素,例如extension 元素,以及一個service 元素,此元素可把若干個web services 的定義組合在單一的WSDL 文件中。


WSDL 連接埠

<portType> 元素是最重要的 WSDL 元素。


它可以描述一個 web service、可執行的操作,以及相關的訊息。


可以把 <portType> 元素比喻為傳統程式語言中的一個函式庫(或一個模組、或一個類別)。



WSDL 訊息

#<message> 元素定義一個操作的資料元素。


每個訊息由一個或多個元件組成。可以把這些部件比喻為傳統程式語言中一個函數呼叫的參數。



WSDL types

#<types> 元素定義 web service 使用的資料類型。


為了最大程度的平台中立性,WSDL 使用 XML Schema 語法來定義資料類型。



WSDL Bindings

#<binding> 元素為每個連接埠定義訊息格式和協定細節。



WSDL 實例

這是某個WSDL 文件的簡化的片段:


<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>
#

在這個例子中,<portType> 元素把"glossaryTerms" 定義為某個port的名稱,把"getTerm" 定義為某個操作的名稱。

操作 "getTerm" 擁有一個名為 "getTermRequest" 的輸入訊息,以及一個名為 "getTermResponse" 的輸出訊息

<message> 元素可定義每個訊息的元件,以及相關聯的資料型別。

對比傳統的編程,glossaryTerms 是一個函數庫,而 "getTerm" 是具有輸入參數 "getTermRequest" 和返回參數 getTermResponse 的函數。

#