WSDL 端口
WSDL 端口可描述由某個(gè) web service 提供的界面(合法操作)。
WSDL 端口
<portType> 元素是最重要的 WSDL 元素。
它可描述一個(gè) web service、可被執(zhí)行的操作,以及相關(guān)的消息。
端口定義了指向某個(gè) web service 的連接點(diǎn)?梢园言撛乇茸鱾鹘y(tǒng)編程語言中的一個(gè)函數(shù)庫(或一個(gè)模塊、或一個(gè)類),而把每個(gè)操作比作傳統(tǒng)編程語言中的一個(gè)函數(shù)。
操作類型
請求-響應(yīng)是最普通的操作類型,不過 WSDL 定義了四種類型:
類型 | 定義 |
---|---|
One-way | 此操作可接受消息,但不會(huì)返回響應(yīng)。 |
Request-response | 此操作可接受一個(gè)請求并會(huì)返回一個(gè)響應(yīng) |
Solicit-response | 此操作可發(fā)送一個(gè)請求,并會(huì)等待一個(gè)響應(yīng)。 |
Notification | 此操作可發(fā)送一條消息,但不會(huì)等待響應(yīng)。 |
One-Way 操作
一個(gè) one-way 操作的例子:
<message name="newTermValues"> <part name="term" type="xs:string"/> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="setTerm"> <input name="newTerm" message="newTermValues"/> </operation> </portType >
在這個(gè)例子中,端口 "glossaryTerms" 定義了一個(gè)名為 "setTerm" 的 one-way 操作。
這個(gè) "setTerm" 操作可接受新術(shù)語表項(xiàng)目消息的輸入,這些消息使用一條名為 "newTermValues" 的消息,此消息帶有輸入?yún)?shù) "term" 和 "value"。不過,沒有為這個(gè)操作定義任何輸出。
Request-Response 操作
一個(gè) request-response 操作的例子:
<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è)例子中,端口 "glossaryTerms" 定義了一個(gè)名為 "getTerm" 的 request-response 操作。
"getTerm" 操作會(huì)請求一個(gè)名為 "getTermRequest" 的輸入消息,此消息帶有一個(gè)名為 "term" 的參數(shù),并將返回一個(gè)名為 "getTermResponse" 的輸出消息,此消息帶有一個(gè)名為 "value" 的參數(shù)。