秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

Web 服務描述語言 (WSDL)

  • 資源ID:168604164       資源大?。?span id="mzebxcnn0" class="font-tahoma">211KB        全文頁數(shù):45頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

Web 服務描述語言 (WSDL)

Web 服務描述語言 (WSDL) 1.0 2000年9月25日 作者(按姓氏字母順序排列): Erik Christensen,Microsoft Francisco Curbera,IBM Greg Meredith,Microsoft Sanjiva Weerawarana,IBM 版權(quán)所有© 2000 Ariba,International Business Machines Corporation,Microsoft 摘要 WSDL 是一種 XML 格式,用于將網(wǎng)絡服務描述為一組端點,這些端點對包含面向文檔信息或面向過程信息的消息進行操作。這種格式首先對操作和消息進行抽象描述,然后將其綁定到具體的網(wǎng)絡協(xié)議和消息格式上以定義端點。相關(guān)的具體端點即組合成為抽象端點(服務)??梢詫?WSDL 進行擴展,這樣無論通信時使用何種消息格式或網(wǎng)絡協(xié)議,都可以對端點及其消息進行描述。但是,本文檔中所述的綁定只涉及有關(guān)如何將 WSDL 與 SOAP 1.1、HTTP GET/POST 和 MIME 一起使用的問題。 此版本的 WSDL 語言尚處于初步階段,沒有提供框架來說明端點的撰寫過程。描述這些約定的完整框架應包含撰寫服務的方式和表達服務行為的方式(即相應的用于發(fā)送和接收消息的規(guī)則)。服務的撰寫應滿足兩個要求:(1) 確保類型的安全性,(2) 允許在運行時通過交換和綁定服務引用來傳遞引用。后面的這一條對于在運行期協(xié)商約定以及捕獲引用服務和代理服務的行為至關(guān)重要。 WSDL 規(guī)范的作者希望及時發(fā)布 WSDL 的修訂版和/或一些附加文檔,包括:(1) 撰寫服務的框架;(2) 描述服務行為的框架。 狀態(tài) 本草案介紹了 Ariba、IBM 和 Microsoft 當前在服務描述方面的一些思路。它對 NASSL、SCL 和 SDL(有關(guān)這方面的早期建議)中的一些概念進行了整理合并。 目錄 1. 簡介 2. 服務定義 o 文檔結(jié)構(gòu) o 類型 o 消息 o 端口類型 o 綁定 o 端口 o 服務 3. SOAP 綁定 o SOAP 示例 o SOAP 綁定如何擴展 WSDL o soap:binding o soap:operation o soap:body o soap:fault o soap:header o soap:address 4. HTTP GET 和 POST 綁定 o HTTP GET/POST 示例 o HTTP GET/POST 綁定如何擴展 WSDL o http:address o http:binding o http:operation o http:urlEncoded o http:urlReplacement 5. MIME 綁定 o MIME 綁定示例 o MIME 綁定如何擴展 WSDL o mime:content o mime:multipartRelated o soap:body o mime:mimeXml 6. 參考資料 o 有關(guān) URI 的說明 o WSDL 示例的線上格式 o 擴展性元素的位置 o 架構(gòu) 簡介 由于通信協(xié)議和消息格式在 Web 社區(qū)中已經(jīng)過標準化,因而有可能以某種結(jié)構(gòu)化的方式對通信加以描述,而且實現(xiàn)這一點也顯得日益重要。WSDL 定義了一種 XML 語法,將網(wǎng)絡服務描述為能夠進行消息交換的通信端點的集合,從而滿足了這種需求。WSDL 服務定義為分布式系統(tǒng)提供了文檔,并且可用于自動執(zhí)行應用程序通信中所涉及的細節(jié)。 WSDL 文檔將服務定義為網(wǎng)絡端點或端口的集合。在 WSDL 中,由于端點和消息的抽象定義已從具體的網(wǎng)絡部署或數(shù)據(jù)格式綁定中分離出來,因此可以對抽象定義進行再次使用:消息,指對交換數(shù)據(jù)的抽象描述;而端口類型,指操作的抽象集合。用于特定端口類型的具體協(xié)議和數(shù)據(jù)格式規(guī)范構(gòu)成了可以再次使用的綁定。將網(wǎng)絡地址與可再次使用的綁定相關(guān)聯(lián),可以定義一個端口,而端口的集合則定義為服務。因此,WSDL 文檔在網(wǎng)絡服務的定義中使用下列元素: · Types - 數(shù)據(jù)類型定義的容器,它使用某種類型系統(tǒng)(如 XSD)。 · Message - 通信數(shù)據(jù)的抽象類型化定義。 · Operation - 對服務所支持的操作的抽象描述。 · Port Type - 操作的抽象集合,這些操作由一個或多個端點支持。 · Binding - 特定端口類型的具體協(xié)議和數(shù)據(jù)格式規(guī)范。 · Port - 定義為綁定和網(wǎng)絡地址組合的單個端點。 · Service - 相關(guān)端點的集合。 將在第二節(jié)中對這些元素進行詳細說明。應該注意的是,WSDL 并沒有引入新的類型定義語言。雖然 WSDL 知道,要描述消息格式需要豐富的類型系統(tǒng),并且它也支持“XML 架構(gòu)規(guī)范 (XSD)”作為其標準類型系統(tǒng),但是,由于不可能只用一種類型系統(tǒng)語法來描述現(xiàn)在和將來的所有消息格式,因此 WSDL 允許通過擴展來使用其它類型定義語言。 此外,WSDL 還定義了通用的綁定機制。通過該機制可使特定的協(xié)議、數(shù)據(jù)格式或結(jié)構(gòu)與抽象的消息、操作或端點相關(guān)聯(lián)。該機制還允許對抽象定義進行再次使用。 雖然本文檔定義了上述語言擴展,但這些擴展均位于核心服務定義框架的上部。所以一定能將 WSDL 與其它綁定擴展一起使用。 WSDL 文檔示例 下例是一個提供股票報價的簡單服務的 WSDL 定義。該服務支持名為 GetLastTradePrice 的單一操作,這個操作是通過在 HTTP 上運行 SOAP 1.1 協(xié)議來實現(xiàn)的。該請求接受一個類型為字符串的 ticker 符號,并返回類型為浮點數(shù)的價格。有關(guān)此定義中所用元素的詳細說明,請參見第 2 節(jié)(核心語言)和第 3 節(jié)(SOAP 綁定)。 示例 1 通過 HTTP 運行的 SOAP 1.1 請求/響應 <?xml version="1.0"?> <definitions name="StockQuote" targetNamespace=" xmlns:tns=" xmlns:xsd1=" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace=" xmlns="http://www.w3.org/1999/XMLSchema"> <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice"> <complexType> <all> <element name="price" type="float"/> </all> </complexType> </element> </schema> </types> <message name="GetLastTradePriceInput"> <part name="body" element="xsd1:TradePrice"/> </message> <message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePriceResult"/> </message> <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType> <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastTradePrice"> <soap:operation soapAction=" <input> <soap:body use="literal" namespace=" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output> <soap:body use="literal" namespace=" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> </binding> <service name="StockQuoteService"> <documentation>我的第一次服務</documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location=" </port> </service> </definitions> 標記規(guī)則 1. 本文檔中的關(guān)鍵字“MUST”、“MUST NOT”、“REQUIRED”、“SHALL”、“SHALL NOT”、“SHOULD”、“SHOULD NOT”、“RECOMMENDED”、“MAY”和“OPTIONAL”按照 RFC-2119中的說明進行解釋。 2. 本文檔中使用下列名稱空間前綴: 前綴 名稱空間 URI 定義 wsdl http://schemas.xmlsoap.org/wsdl/ WSDL 框架的 WSDL 名稱空間。 http http://schemas.xmlsoap.org/wsdl/http/ HTTP GET 和 POST 綁定的 WSDL 名稱空間。 mime http://schemas.xmlsoap.org/wsdl/mime/ MIME 綁定的 WSDL 名稱空間。 xsi http://www.w3.org/1999/XMLSchema-instance 由 XSD 定義的實例名稱空間。 xsd http://www.w3.org/1999/XMLSchema 由 XSD 定義的架構(gòu)名稱空間。 tns (多種) “this namespace”(tns) 是用于指當前文檔的慣用前綴。 (other) (多種) 其它名稱空間前綴僅作為示例。其中,以“”開頭的 URI 代表某些與應用程序相關(guān)或與上下文相關(guān)的 URI 3. 此規(guī)范使用非正式語法來描述 WSDL 文檔的 XML 語法: · 語法以 XML 實例的形式出現(xiàn),但是值表示數(shù)據(jù)類型,而非實際值。 · 應按如下方式將字符追加到元素和屬性后:“?”(0 或 1);“*”(0 或更多);“+”(1 或更多)。 · 以“…”結(jié)尾的元素名稱(如 <element…/> 或 <element…>)表示省略與上下文無關(guān)的元素/屬性。 · 上文中尚未正式引入以粗體顯示的語法,或僅在某個特定示例中出現(xiàn)。 · <-- extensibility element --> 是某些“other”名稱空間(如 XSD 中的 ##other)中的元素占位符。 · 以上定義的 XML 名稱空間前綴用于表示所定義的元素的名稱空間。 · 以 <?xml 開頭的示例中包含足夠的信息,可以滿足本規(guī)范的要求,而其它示例則只是一些片段,需要指定其它信息才能滿足本規(guī)范的要求。 XSD 架構(gòu)是作為 WSDL 語法的正式定義提供的: 服務定義 本節(jié)介紹 WSDL 語言的核心元素。有關(guān) SOAP、HTTP 和 MIME 綁定擴展的信息,請分別參見第 3 節(jié)、第 4 節(jié)和第 5 節(jié)。 WSDL 文檔結(jié)構(gòu) WSDL 文檔實際上只是一個定義集。在根部有一個 definitions 元素,其中包含一些定義。具體語法如下所示: <wsdl:definitions name="nmtoken"? targetNamespace="uri"?> <import namespace="uri" location="uri"/>* <wsdl:documentation…/> ? <wsdl:types> ? <wsdl:documentation…/>? <xsd:schema…/>* <-- extensibility element --> * </wsdl:types> <wsdl:message name="nmtoken> * <wsdl:documentation…/>? <part name="nmtoken" element="qname"? type="qname"?/> * </wsdl:message> <wsdl:portType name="nmtoken">* <wsdl:documentation…/>? <wsdl:operation name="nmtoken">* <wsdl:documentation…/> ? <wsdl:input name="nmtoken"? message="qname">? <wsdl:documentation…/> ? </wsdl:input> <wsdl:output name="nmtoken"? message="qname">? <wsdl:documentation…/> ? </wsdl:output> <wsdl:fault name="nmtoken" message="qname"> * <wsdl:documentation…/> ? </wsdl:fault> </wsdl:operation> </wsdl:portType> <wsdl:binding name="nmtoken" type="qname">* <wsdl:documentation…/>? <-- extensibility element --> * <wsdl:operation name="nmtoken">* <wsdl:documentation…/> ? <-- extensibility element --> * <wsdl:input name="nmtoken"?> ? <wsdl:documentation…/> ? <-- extensibility element --> </wsdl:input> <wsdl:output name="nmtoken"?> ? <wsdl:documentation…/> ? <-- extensibility element --> * </wsdl:output> <wsdl:fault name="nmtoken"> * <wsdl:documentation…/> ? <-- extensibility element --> * </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="nmtoken"> * <wsdl:documentation…/>? <wsdl:port name="nmtoken" binding="qname"> * <wsdl:documentation…/> ? <-- extensibility element --> </wsdl:port> <-- extensibility element --> </wsdl:service> <-- extensibility element --> * </wsdl:definitions> 服務是使用以下五個主要元素來定義的: · types:提供用于描述所交換消息的數(shù)據(jù)類型定義。 · message:代表所傳輸數(shù)據(jù)的抽象定義。消息由一些邏輯片段構(gòu)成,每個邏輯片段分別與某個類型系統(tǒng)中的定義相關(guān)聯(lián)。 · portType:指抽象操作的集合。每個操作引用一條輸入消息和一條輸出消息。 · binding:為由特定 portType 定義的操作和消息指定具體的協(xié)議和數(shù)據(jù)格式規(guī)范。 · port:為綁定指定一個地址,從而定義一個通信端點。 · service:用于聚合一組相關(guān)端口。 將在第 2.2 至 2.7 節(jié)中對這些元素進行詳細說明。本節(jié)的其余部分將介紹 WSDL 中有關(guān)文檔命名、引用文檔定義、使用語言擴展和添加上下文文檔等方面的規(guī)則。 文檔命名和鏈接 可以為 WSDL 文檔分配一個類型為 NCNAME 的可選 name 屬性(該屬性將作為文檔的一種輕量級形式)?;蛘?,也可以指定一個類型為 URI 的 targetNamespace 屬性。該 URI 不能是相對 URI。 WSDL 允許使用 import 語句將名稱空間與文檔位置相關(guān)聯(lián): <definitions…> <import namespace="uri" location="uri"/> * </definitions> WSDL 中的 QNames 解析方法與 XML 架構(gòu)規(guī)范中所述的 QNames 解析方法相似。 使用 QName 可以創(chuàng)建對 WSDL 定義的引用??梢砸?WSDL 文檔中的以下各類定義: · WSDL 定義:service、port、message、bindings 和 portType · 其它定義:如果通過擴展添加了其它定義,這些定義應使用 QName 鏈接。 上面列出的每種 WSDL 定義類型都有自己的名稱范圍(也就是說,端口名稱和消息名稱絕對不會發(fā)生沖突)。同一個名稱范圍內(nèi)的名稱在 WSDL 文檔中必須是唯一的。 撰寫樣式 使用 import 元素可以將服務定義的不同元素分別放入單獨的文檔中,需要時再將其導入。這種技術(shù)可以根據(jù)定義的抽象級別將其分開,這樣有助于編寫更為清晰的服務定義。使 用這種技術(shù)還可以對各種服務定義進行最大限度的再利用。因此,具有這種結(jié)構(gòu)的 WSDL 文檔更易于使用和維護。在示例 2 中,我們將定義分為數(shù)據(jù)類型定義、抽象定義和特定服務綁定三類,并將其分別放入三個文檔中。當然,這種機制的使用并不僅限于此例中明確出現(xiàn)的定義(這些定 義只使用了本規(guī)范中所定義的語言元素),也可以使用類似的方式對基于其它語言擴展的其它定義類型進行編碼和再利用。 示例 2. 示例 1 中所述服務的另一種撰寫樣式。 <?xml version="1.0"?> <schema targetNamespace=" xmlns="http://www.w3.org/1999/XMLSchema"> <element name="GetLastTradePrice"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="GetLastTradePriceResult"> <complexType> <all> <element name="result" type="float"/> </all> </complexType> </element> </schema> <?xml version="1.0"?> <definitions name="StockQuote" targetNamespace=" xmlns:tns=" xmlns:xsd1=" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <import namespace=" location=" <message name="GetLastTradePriceRequest"> <part name="body"element="xsd1:GetLastTradePrice"/> </message> <message name="GetLastTradePriceResponse"> <part name="body"element="xsd1:GetLastTradePriceResult"/> </message> <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceRequest"/> <output message="tns:GetLastTradePriceResponse"/> </operation> </portType> </definitions> <?xml version="1.0"?> <definitions name="StockQuote" targetNamespace=" xmlns:tns=" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <import namespace=" location=" <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"> <soap:binding style="document"/> <operation name="GetLastTradePrice"> <soap:operation soapAction="http://my.org/GetLastTradePrice"/> </operation>> </binding> <service name="StockQuoteService"> <documentation>我的第一個服務</documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location="http://my.org/stockquote"/> </port> </service> </definitions> 語言的擴展性和綁定 在 WSDL 中,術(shù)語“綁定”表示將協(xié)議或數(shù)據(jù)格式信息與某個抽象實體(如 message、operation 或 portType 等)相關(guān)聯(lián)的過程。WSDL 允許將代表特定技術(shù)的元素(此處稱為擴展性元素)放置在 WSDL 所定義的各種元素之下。這些可擴展點通常用于指定特定協(xié)議或消息格式的綁定信息,但也可用于其它用途。擴展性元素所用的 XML 名稱空間不能與 WSDL 的名稱空間相同。附錄 A3 中詳細說明了擴展性元素可在文檔中的哪些位置出現(xiàn)。 擴展性元素通常用于指定某種特定技術(shù)的綁定。為了區(qū)分特定技術(shù)綁定的語義對通信是必需的還是可選的,可以在擴展性元素上設置一個布爾型的 wsdl:required 屬性。該屬性的默認值為假 (false)。定義該屬性的名稱空間為“http://schemas.xmlsoap.org/wsdl/soap/”。 有關(guān)擴展性元素的示例,請參見第 3 節(jié)、第 4 節(jié)和第 5 節(jié)。 文檔 WSDL 使用可選的 wsdl:document 元素作為可閱讀文檔的容器。該元素的內(nèi)容可以是任意文本和元素(混雜在 XSD 中)。在所有 WSDL 語言元素中,都允許使用文檔元素。 類型 types 元素包含與交換的消息相關(guān)的數(shù)據(jù)類型定義。為了獲得最大程度的互操作性和平臺中立性,WSDL 選用 XSD 作為標準類型系統(tǒng),并將其當作固有類型系統(tǒng)。 <definitions…> <types> <xsd:schema…/>* </types> </definitions> 可以使用 XSD 類型系統(tǒng)來定義消息中的類型,無論所得到的線上格式是否為 XML,也無論所得到的 XSD 架構(gòu)是否驗證了該特定線上格式。如果同一消息具有多個綁定,或者雖然只有一個綁定,但該綁定類型的類型系統(tǒng)不通用,則會出現(xiàn)非常有趣的情況。在這種情況下,如果使用 XSD 對抽象類型進行編碼,建議遵循下列原則: · 使用元素形式(不要使用屬性)。 · 不要使用對線上編碼非常特殊的屬性或元素(也就是說,與消息的抽象內(nèi)容無關(guān)的屬性或元素),例如,soap:root、soap:encodingStyle、xmi:id 和 xmi:name 等。 · 使用 Soap:Array 類型來為數(shù)組類型建模(無論最終形式是否實際使用 SOAP 1.1 版文檔的第 5 節(jié)中指定的編碼方式)。使用 ArrayOfXXX 作為數(shù)組類型的名稱(其中,XXX 表示數(shù)組中項的類型)。 但是,由于不可能使用一種類型系統(tǒng)語法來描述現(xiàn)在和將來的所有抽象類型,因此,WSDL 允許通過擴展性元素來添加類型系統(tǒng)。擴展性元素可能出現(xiàn)在 types 元素之下,它標識正在使用的類型定義系統(tǒng)并為類型定義提供 XML 容器元素。該元素的作用與 XML 架構(gòu)語言的 schema 元素的作用相似。 <definitions…> <types> <-- type-system extensibility element --> * </types> </definitions> 消息 消息由一個或多個邏輯片段構(gòu)成。每個片段使用一個消息類型屬性與某個類型系統(tǒng)的類型相關(guān)聯(lián)。消息類型屬性的集合是可擴展的。WSDL 定義了以下幾個消息類型屬性,與 XSD 一起使用: · element:使用 QName 引用一個 XSD 元素。 · type:使用 QName 引用一個 XSD simpleType 或 complexType。 如果使用的名稱空間與 WSDL 所用的名稱空間不同,還可以定義其它消息類型屬性。綁定擴展性元素也可以使用消息類型屬性。 定義消息的語法如下所示。其中,消息類型屬性以粗體顯示(消息類型屬性因所用類型系統(tǒng)而異)。 <definitions…> <message name="nmtoken"> * <part name="nmtoken"? element="qname" type="qname"?/> * </message> </definitions> 消息 name 屬性所指定的名稱在其所在 WSDL 文檔定義的全部消息中是唯一的。 片段 name 屬性所指定的名稱在其所在消息的所有片段中是唯一的。 消息片段 片段是一種用于描述消息的邏輯抽象內(nèi)容的靈活機制。綁定可以引用片段的名稱來指定有關(guān)該片段的綁定專用信息。例如,如果定義用于 RPC 的消息,片段可以代表消息中的參數(shù)。但是,為了確定該片段的實際含義,必須對綁定進行檢查。 如果消息有多個邏輯單元,則使用多個片段元素。例如,以下消息包括“訂單”和“客戶”兩個片段元素。 <definitions…> <types> <schema…> <element name="PO" type="tns:POType"/> <complexType name="POType"> <element name="id" type="string/> <element name="name" type="string"/> <element name="items"> <complexType> <element name="item" type="tns:Item" minOccurs="0" maxOccurs="unbounded"/> </complexType> </element> </complexType> <complexType name="Item"> <element name="quantity" type="int"/> <element name="product" type="string"/> </complexType> <element name="Customer" type="tns:CustomerType"/> <complexType name="CustomerType"> <element name="name" type="string"/> </complexType> </schema> </types> <message name="PO"> <part name="po" element="tns:PO"/> <part name="customer" element="tns:Customer"/> </message> </definitions> 但是,如果消息內(nèi)容十分復雜,則需要使用另一種語法,通過直接使用類型系統(tǒng)來指定消息的復合結(jié)構(gòu)。在下例中,主體是一個訂單或一組客戶。 <definitions…> <types> <schema…> <complexType name="POType"> <element name="id" type="string/> <element name="name" type="string"/> <element name="items"> <complexType> <element name="item" type="tns:Item" minOccurs="0" maxOccurs="unbounded"/> </complexType> </element> </complexType> <complexType name="Item"> <element name="quantity" type="int"/> <element name="product" type="string"/> </complexType> <complexType name="CustomerType"> <element name="name" type="string"/> </complexType> <complexType name="Composite"> <choice> <element name="PO" minOccurs="1" maxOccurs="1" type="tns:POType"/> <element name="Customer" minOccurs="0" maxOccurs="unbounded" type="tns:CustomerType"/> </choice> </complexType> </schema> </types> <message name="PO"> <part name="composite" type="tns:Composite"/> </message> </definitions> 抽象消息與具體消息 消 息定義始終被當作消息內(nèi)容的抽象定義。消息綁定描述如何將抽象內(nèi)容映射為具體的格式。但是,在某些情況下,抽象定義可能與一個或多個綁定的具體表示方式完 全相符或十分接近,致使這些綁定不能提供任何映射信息或只能提供少量信息;而同一消息定義的另一個綁定可能需要大量的映射信息。因此,只有在對綁定進行檢 查之后,才能確定消息的實際“抽象程度”。 端口類型 端口類型是一組指定的抽象操作,以及所涉及的抽象消息。 <wsdl:definitions…> <wsdl:portType name="nmtoken"> <wsdl:operation name="nmtoken"…/> * </wsdl:portType> </wsdl:definitions> 端口類型 name 屬性所指定的名稱在其所在 WSDL 文檔定義的所有端口類型中是唯一的。 操作是通過 name 屬性來命名的。 WSDL 提供以下四個可得到端點支持的傳輸原語: · 單向 (One-way):端點接收消息。 · 請求響應 (Request-response):端點接收消息,然后發(fā)送相關(guān)消息。 · 要求響應 (Solicit-response):端點發(fā)送消息,然后接收相關(guān)消息。 · 通知 (Notification):端點發(fā)送消息。 WSDL 稱這些原語為操作。雖然可以使用兩條單向消息抽象地模擬請求/響應或要求/響應,但是將其作為原語操作類型模型也很有用,因為: · 經(jīng)常需要使用這兩個操作。 · 可以使順序相互關(guān)聯(lián),而不必引入更為復雜的流信息。 · 某些端點可以只接收消息(如果它們是同步請求響應的結(jié)果)。 · 需要流定義時,可以通過算法從這些原語派生簡單的流。 雖然請求/響應或要求/響應在 WSDL 文檔中是邏輯相關(guān)的,仍然有一個特定的綁定描述具體的相關(guān)信息。例如,請求消息和響應消息可以作為一兩個實際網(wǎng)絡通信的一部分進行交換。 操作使用類型為 QName 的 message 屬性來引用所涉及的消息。該屬性遵循 WSDL 為鏈接定義的規(guī)則。 單向操作 單向操作的語法是: <wsdl:definitions…> <wsdl:portType…> * <wsdl:operation name="nmtoken"> <wsdl:input name="nmtoken"? message="qname"/> </wsdl:operation> </wsdl:portType > </wsdl:definitions> input 元素指定單向操作的抽象消息格式。 請求響應操作 請求響應操作的語法是: <wsdl:definitions…> <wsdl:portType…> * <wsdl:operation name="nmtoken" parameterOrder="nmtokens"> <wsdl:input name="nmtoken"? message="qname"/> <wsdl:output name="nmtoken"? message="qname"/> <wsdl:fault name="nmtoken" message="qname"/>* </wsdl:operation> </wsdl:portType > </wsdl:definitions> input 元素和 output 元素分別指定請求和響應的抽象消息格式??蛇x的 fault 元素為操作可能產(chǎn)生的錯誤消息(協(xié)議所特有的除外)指定抽象消息格式。 請注意,請求響應操作是一個抽象的概念;必須查詢特定的綁定,才能確定消息的實際發(fā)送方式:是在同一個通信中發(fā)送(例如 HTTP 請求/響應),還是作為兩個獨立的通信發(fā)送(例如兩個 HTTP 請求)。 要求響應操作 要求響應操作的語法是: <wsdl:definitions…> <wsdl:portType…> * <wsdl:operation name="nmtoken" parameterOrder="nmtokens"> <wsdl:output name="nmtoken"? message="qname"/> <wsdl:input name="nmtoken"? message="qname"/> <wsdl:fault name="nmtoken" message="qname"/>* </wsdl:operation> </wsdl:portType > </wsdl:definitions> output 元素和 input 元素分別指定所要求的請求和響應的抽象消息格式??蛇x的 fault 元素為操作可能產(chǎn)生的錯誤消息(協(xié)議所特有的除外)指定抽象消息格式。 請注意,請求響應操作是一個抽象的概念;必須查詢特定的綁定,才能確定消息的實際發(fā)送方式:是在同一個通信中發(fā)送(例如 HTTP 請求/響應),還是作為兩個獨立的通信發(fā)送(例如兩個 HTTP 請求)。 通知操作 單向操作的語法是: <wsdl:definitions…> <wsdl:portType…> * <wsdl:operation name="nmtoken"> <wsdl:output name="nmtoken"? message="qname"/> </wsdl:operation> </wsdl:portType > </wsdl:definitions> output元素指定通知操作的抽象消息格式。 操作中的元素名稱 inuput 元素和 output 元素的 name 屬性所指定的名稱在其所在端口類型的所有 input 元素和 output 元素中是唯一的。 為了避免需要為操作中的每個 input 元素和 output 元素指定名稱,WSDL 提供了一些以操作名稱為基礎(chǔ)的默認值。如果未在單向消息或通知消息中指定 name 屬性,則該屬性默認為操作的名稱;如果未在請求響應或要求響應操作的輸入或輸出消息中指定 name 屬性,則該屬性默認為分別附帶有“Request”/“Solicit”或“Response”的操作名稱。 必須為每個 fault 元素指定名稱,綁定才能指定錯誤消息的具體格式。fault 元素的名稱在為該操作定義的錯誤集合中是唯一的。 操作中的參數(shù)順序 操作并不指定它們是否與類似 RPC 這樣的綁定一起使用。但是,當操作與 RPC 綁定一起使用時,能夠捕獲原始 RPC 函數(shù)簽名非常有用。因此,請求響應或要求響應操作可以通過類型為 nmtokens 的 parameterOrder 屬性來指定參數(shù)名稱列表。該屬性的值是一個由單個空格分隔的消息片段名稱列表。指定的片段必須遵循以下規(guī)則: · 指定片段的順序必須反映 RPC 簽名中的參數(shù)順序 · return 值片段不在列表中出現(xiàn) · 如果片段名稱同時在輸入和輸出消息中出現(xiàn),則片段是 in/out 參數(shù) · 如果片段名稱只在輸入消息中出現(xiàn),則片段是 in 參數(shù) · 如果片段名稱只在輸出消息中出現(xiàn),則片段是 out 參數(shù) 請注意,該信息僅作為“提示”,對于那些不關(guān)心 RPC 簽名的用戶,完全可以忽略。而且,即使當操作與類似 RPC 這樣的綁定一起使用時,也不是必須使用

注意事項

本文(Web 服務描述語言 (WSDL))為本站會員(仙***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!