WSDL 文檔

2018-03-05 15:24 更新

WSDL 文檔

本節(jié)介紹了 WSDL 文檔的組成結(jié)構(gòu)以及它們的作用。

WSDL 文檔僅僅是一個(gè)簡(jiǎn)單的 XML 文檔。

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


WSDL 文檔結(jié)構(gòu)

WSDL 文檔是利用這些主要的元素來(lái)描述某個(gè) web service 的:

元素 定義
<portType> web service 執(zhí)行的操作
<message> web service 使用的消息
<types> web service 使用的數(shù)據(jù)類型
<binding> web service 使用的通信協(xié)議

一個(gè) WSDL 文檔的主要結(jié)構(gòu)是類似這樣的:

<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 元素,以及一個(gè) service 元素,此元素可把若干個(gè) web services 的定義組合在一個(gè)單一的 WSDL 文檔中。


WSDL 端口

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

它可描述一個(gè) web service、可被執(zhí)行的操作,以及相關(guān)的消息。

可以把 <portType> 元素比作傳統(tǒng)編程語(yǔ)言中的一個(gè)函數(shù)庫(kù)(或一個(gè)模塊、或一個(gè)類)。


WSDL 消息

<message> 元素定義一個(gè)操作的數(shù)據(jù)元素。

每個(gè)消息均由一個(gè)或多個(gè)部件組成??梢园堰@些部件比作傳統(tǒng)編程語(yǔ)言中一個(gè)函數(shù)調(diào)用的參數(shù)。


WSDL types

<types> 元素定義 web service 使用的數(shù)據(jù)類型。

為了最大程度的平臺(tái)中立性,WSDL 使用 XML Schema 語(yǔ)法來(lái)定義數(shù)據(jù)類型。


WSDL Bindings

<binding> 元素為每個(gè)端口定義消息格式和協(xié)議細(xì)節(jié)。


WSDL 實(shí)例

這是某個(gè) WSDL 文檔的簡(jiǎn)化的片段:

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

在這個(gè)例子中,<portType> 元素把 "glossaryTerms" 定義為某個(gè)端口的名稱,把 "getTerm" 定義為某個(gè)操作的名稱。

操作 "getTerm" 擁有一個(gè)名為 "getTermRequest" 的輸入消息,以及一個(gè)名為 "getTermResponse" 的輸出消息。

<message> 元素可定義每個(gè)消息的部件,以及相關(guān)聯(lián)的數(shù)據(jù)類型。

對(duì)比傳統(tǒng)的編程,glossaryTerms 是一個(gè)函數(shù)庫(kù),而 "getTerm" 是帶有輸入?yún)?shù) "getTermRequest" 和返回參數(shù) getTermResponse 的一個(gè)函數(shù)。

相關(guān)教程

XML教程

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)