成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Web服務要素之一:WSDL

開發 前端
binding元素有“name”和“type”兩個屬性。“name”屬性定義binding的名稱,而“type”屬性指向binding的端口,在這個例子中是“glossaryTerms”端口。

 WSDL

1、WSDL文檔結構

Web服務要素之一:WSDL

WSDL元素結構示意圖如下圖所示:

Web服務要素之一:WSDL

其中:

1)Types是一個數據類型定義的容器,包含了所有在消息定義中需要的XML元素的類型定義。

2)Message具體定義了在通信中使用的消息的數據結構,Message元素包含了一組Part元素,每個Part元素都是最終消息的一個組成部分,每個Part都會引用一個DataType來表示它的結構。Part元素不支持嵌套。

3)PortType具體定義了一種服務訪問入口的類型,何謂訪問入口的類型呢?就是傳入/傳出消息的模式及其格式。

一個PortType可以包含若干個Operation,而一個Operation則是指訪問入口支持的一種類型的調用。以上三種結構描述了調用Web服務的抽象定義,這三部分與具體Web服務部署細節無關,是可復用的描述(每個層次都可以復用)。

4)Service描述的是一個具體的被部署的Web服務所提供的所有訪問入口的部署細節,一個Service往往會包含多個服務訪問入口,而每個訪問入口都會使用一個Port元素來描述。

5)Port描述的是一個服務訪問入口的部署細節,包括通過哪個Web地址(URL)來訪問,應當使用怎樣的消息調用模式來訪問等。其中消息調用模式則是使用Binding結構來表示。

6)Binding結構定義了某個PortType與某一種具體的網絡傳輸協議或消息傳輸協議相綁定,從這一層次開始,描述的內容就與具體服務的部署相關了。比如可以將PortType與SOAP/HTTP綁定,也可以將PortType與MIME/SMTP相綁定等。

2、WSDL端口

元素是最重要的WSDL元素。

它可描述一個Web service可被執行的操作以及相關的消息。

可以把元素比作傳統編程語言中的一個函數庫(或一個模塊,或一個類)。

端口包含如下類型:

Web服務要素之一:WSDL

1)一個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 >

在這個例子中,端口"glossaryTerms"定義了一個名為"setTerm"的one-way操作。

這個"setTerm"操作可接受新術語表項目消息的輸入,這些消息使用一條名為"newTermValues"的消息,此消息帶有輸入參數"term"和"value"。不過,沒有為這個操作定義任何輸出。

2)一個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>

在這個例子中,端口“glossaryTerms”定義了一個名為“getTerm”的request-response操作。

“getTerm”操作會請求一個名為“getTermRequest”的輸入消息,此消息帶有一個名為“term”的參數,并將返回一個名為 “getTermResponse”的輸出消息,此消息帶有一個名為“value”的參數。

3、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>
<binding type="glossaryTerms" name="b1">
<soapbinding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation>
<soapoperation soapAction="http://example.com/getTerm"/>
<input><soapbody use="literal"/></input>
<output><soapbody use="literal"/></output>
</operation>
</binding>

binding元素有“name”和“type”兩個屬性。“name”屬性定義binding的名稱,而“type”屬性指向binding的端口,在這個例子中是“glossaryTerms”端口。

soap:binding元素有“style”和“transport”兩個屬性。“style”屬性可取值為“rpc”或“document”。

在這個例子中我們使用“document”。“transport”屬性定義SOAP使用的協議,在這個例子中使用HTTP。

operation元素定義了每個端口提供的操作符。對于每個操作,相應的SOAP行為都需要被定義。同時必須知道如何對輸入和輸出進行編碼。在這個例子中使用了“literal”。

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-11-14 22:14:08

人工智能機器學習工具

2018-02-27 10:43:59

2021-02-18 22:21:20

ASM服務組件化

2012-05-03 11:21:58

ApacheCXFJava

2017-09-07 14:26:34

2014-02-28 09:49:11

2019-07-17 15:05:35

應用服務器Tomcat監控

2012-09-18 14:32:08

ASP.NETC#

2021-10-21 09:10:34

微服務架構數據

2012-08-29 09:05:40

WebASP.NETService

2022-05-07 15:44:45

eTS 開發鴻蒙

2012-06-28 11:02:27

IT運維

2015-10-21 10:44:04

物聯網云服務

2016-08-10 16:28:00

WebURLHTTP

2009-09-10 10:21:11

2010-05-17 14:39:44

統一通信服務

2021-06-07 10:33:04

企業數字化市場

2020-12-14 08:55:00

Node.js服務性框架

2010-07-15 14:55:05

SQL Server數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久草在线在线精品观看 | 精品免费国产视频 | 最新免费av网站 | 国产精品爱久久久久久久 | 拍戏被cao翻了h承欢 | 精品二三区 | 99视频在线免费观看 | 在线看av的网址 | 日韩毛片免费视频 | 欧美国产一区二区 | 国产精品亚洲二区 | 成人精品国产一区二区4080 | 日韩一区二区免费视频 | 日韩精品999| 久久天天躁狠狠躁夜夜躁2014 | 2018国产精品 | 亚洲高清一区二区三区 | 九九久久久 | av毛片| 成人毛片一区二区三区 | 911精品国产 | 成人av观看| 成人精品国产一区二区4080 | 国产精品1区2区3区 中文字幕一区二区三区四区 | 夜夜精品视频 | 黄网站免费在线看 | 最新国产精品视频 | 美女视频一区二区三区 | 夜夜草 | 午夜精品久久久久久不卡欧美一级 | 99re66在线观看精品热 | 超碰3| 国产精品视频一 | 亚洲一区二区三区免费观看 | 久久免费视频在线 | 国产99视频精品免费视频7 | 国产精品99久久久久久久vr | 亚洲国产aⅴ成人精品无吗 综合国产在线 | 婷婷精品 | 日韩国产一区二区三区 | 精品免费国产一区二区三区四区介绍 |