版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、WSDL 概述WebServicesDescriptionLanguage(WSDLWeb 服務語言)是一個用于精確描述 WebService 的文檔格式。WSDL 非常適合于用作代碼生成器,它能夠讀取 WSDL 文檔,并且可以為訪問 Web 服務生成一個程序化的接口,大多數(shù)軟件供應商和主要的標準機構(包括 W3C、WS-I 和 OASIS)都支持WSDLo 例如:JAX-RPCprovider(例如:BEAWeblogic)通過 API 用 WSDL 生成相應的占位程序;IBMWebSphere、Microsoft.NET 以及 ApacheAxis 都有自己的工具生成相關的代碼。下圖是一個
2、例子:ClicDtWebSenicc?HatfnrmEnJiuiidExvhsmgi?SOAP聯(lián),一、IntrrfacrITJCrfncrjtcJAXRPC)stubJhdHdp)intinlerfdtr1P,XCSDLIRedWSDLdneumem上面的例子 JAX-RPC 通過讀取 WSDL 文檔,創(chuàng)建 JAX-RPCRMI 接口(endpoint 接口)和實現(xiàn)此接口的網絡占位程序(stub)??蛻舳顺绦蛲ㄟ^ RMI 接口,Stub 和 WebService 服務端交換 SAOP 消息。二、WSDL 基本結構WSDL文檔是一個遵循WSDLXML模式的XML文檔(文檔實例);類似于:SOAP
3、文檔是一個遵循SOAPXML模式的XML文檔(文檔實例);一個WSDL文檔的根元素是definitions元素,WSDL文檔包含7個重要的元素:types,import,message,portType,operations,binding和service元素。、WSDL 聲明3.1 XML 聲明6Code(tilt.illWSDL的聲明必須定義成使用:UTF-8或者UTF-16編碼。3.2 definition 元素所有WSDL文檔的根元素都是definition元素。2.%2definitionsname=BookQuoteWStargetNamespace=http:/www.Monso
4、n-H 元素中一般包括若干個 XML 命名空間;/wsdl/是默認的命名空間,這樣就可以不用顯式地定義每一個 WSDL 元素的命名空間了,例如:;文檔中所有的元素缺省應該屬于這個命名空間。definition 元素的的一個屬性是 name,此屬性不重要可以沒有;定義了 targetNamespace命名空間,它為在模式中顯式創(chuàng)建的所有新類型均聲明了 XML 命名空間,而且上面的例子中賦予了 mh 前綴。3.%2!-messageelementsdescribetheinputandoutputparameters-4.%2messagename
5、=GetBookPriceRequest5.%2partname=isbntype=xsd:string/6.%2/message7.%2messagename=GetBookPriceResponse8.%2partname=pricetype=xsd:float/9.%2/message10.%2!-portTypeelementdescribestheabstractinterfaceofaWebservice-11.%2portTypename=BookQuote12.%2operationname=getBookPrice13.%2inputname=isbnmessage=mh:G
6、etBookPriceRequest/14.%2outputname=pricemessage=mh:GetBookPriceResponse/上面的例子中:message元素利用name屬性指定了標簽(例如:GetBookPriceRequest),這些標簽會自動使用targetNamespace的命名空間,標簽了的messages元素通常被稱為定義。文檔中的其他元素用標簽和命名空間前綴去應用定義,例如上面的例子中:input元素是使用mh:GetBookPriceRequest來引用標簽GetBookPriceRequest。15.%2.3Types 元素Types元素用作一個容器,定義了
7、自定義的特殊數(shù)據(jù)類型,在聲明消息部分(有效負載)的時候,messages定義使用了types元素中定義的數(shù)據(jù)類型與元素。Types元素作為一個容器,用來定義XML模式內置的數(shù)據(jù)類型(即復雜類型和定制的簡單類現(xiàn),詳細見WebServiceXML文章)中沒有描述的各種數(shù)據(jù)類型。例如:ISBN。上面的例子中,types元素中直接嵌套了一個完整的W3CXML模式文檔,檔。16.%2 .4Import 元素Import元素可以讓當前的文檔使用其他WSDL文檔中指定命名空間中的定義。WSDL的import元素必須聲明兩個屬性, 即namespace屬性和location屬性。namespace屬性必須和正
8、導入的WSDL文檔中聲明的targetNamespace相匹配。location屬性必須指向一個實際的WSDL文檔。四、WSDL 抽象接口MessageportType和operation元素用于描述Web服務的抽象接口,相當于JAVA或者C+中編程中的類的接口。其中portType相當于類接口的名稱;operation相當于接口中包含的函數(shù),message相當于函數(shù)的參數(shù)和返回值。partname=isbntype=xsd:string/止匕文檔中targetNamespace必須是一個有效的非空值,而且必須屬于由WSDL文RPC 式樣的 Web 服務的 message 服務 GetBulk
9、BookPriceRequest 表示消息的輸入(相當于函數(shù)的參數(shù)),GetBulkBookPriceResponse 表示消息的輸出(相當于函數(shù)的返回值)WebService 的輸入和輸出參數(shù)可以是多個(一個特點),每一個輸入或者輸出使用 part 元素定義, RPC 樣式必須使用 type 來定義類型 RPC 樣式用類型來數(shù)據(jù)定義過程調用, 調用中的每一個元素表示某一個類型的參數(shù)。文檔式樣 Web 服務的 Messages 元素:當用戶采用文檔式樣消息傳遞模式的時候,messages 元素要應用 types 定義中的頂級元素。具體頂級元素的定義和 XMLschema 詳見 WebServe
10、rXML 文檔。消息部分使用 element 屬性定義文檔式樣的消息傳遞要交換 XML 文檔,并且應用它們的頂級元素。注:Messages 元素的 RPC/Document 試樣對應了 SOAPRPC/Document 消息傳遞模式,詳細見 WebServerSOAP 相關文檔xsd:elementname=conformance-rulestype=xsd:string/xsd:sequence/xsd:complexType/xsd:element/xsd:schema/types!-messageelementsdescribetheinputandoutputparameters-me
11、ssagename=GetBookPriceRequestpartname=isbntype=xsd:string/messagemessagename=GetBookPriceResponsepartname=pricetype=xsd:float/messagemessagename=InvalidArgumentFaultpartname=error_messageelement=mh:InvalidIsbnFaultDetail/message聲明錯誤消息:錯誤使用的消息定義只能采用 Document/Literal 編碼樣式上面聲明了匿名類型,InvalidIsbnFaultDeta
12、il 不需要 type 類型,complexType 中也不包括 name 屬性,詳細見 WebServiceXML 相關文檔。portType 元素PortType元素定義了Web服務的抽象接口,它可以由一個或者多個operation元素,每個operation元素定義了一個RPC樣式或者文檔樣式的Web服務方法。operation 元素Operation元素要用一個或者多個messages消息來定義它的輸入、輸出以及錯誤。messagename=GetBulkBookPriceRequestinputname=requestmessage=mh:GetBulkBookPriceReques
13、t/outputname=pricesmessage=mh:GetBulkBookPriceResponse/faultname=InvalidArgumentFaultmessage=mh:InvalidArgumentFault/Input 表示傳遞到 Web 服務的有效負載;output 表示返回給客戶的有效負載;可以不包括,也可以包括一個或者多個 fault 錯誤消息。parameterOrder 定義了 input 和 output 消息采用的正確的順序使用 parameterOrder 的時候,必須包含所有輸入?yún)?shù)部分;并且只包含不是返回類型的輸出部分,如果 output 只有一個
14、 part(上例),會假設返回值,所以不包括在 parameterOrder 中如果 parameterOrder 列出 output 中的 part 部分,那么這個將被作為OUT 參數(shù),如果 input 元素和 output 元素使用相同的名稱聲明了一個部分的時候,此部分為 INOUT 參數(shù)4.4WSDL 消息交換模式(MEP)MessagingexchangePatterns(MEP)Web服務中使用了四種消息交換模式,即請求/響應、單向、通知以及懇求/響應模式。大多數(shù)基于WSDL的web服務使用請求/響應和單向兩種模式。WSDL通過operation元素的input/output來定義使
15、用那種模式,如果有input+output+可選的fault參數(shù),那就使用請求/響應模式;如果只使用input,那就使用單向模式。在通知模式中:Web服務將消息發(fā)送給客戶,但不等待回復;般客戶通過注冊來接收通知;在懇求/響應模式中類似通知模式,唯一的區(qū)別要期待客戶對partname=pricestype=mh:prices/messagemessagename=InvalidArgumentFaultpartname=error_messageelement/messageportTypename=GetBulkBookPriceoperationname=getBulkBookPrice/=mh:InvalidIsbnFaultDetail/parameterOrder=isbnquantityWeb服務的響應。五、WSDL 實現(xiàn):Service 和 Port 元素servicename=BookPriceServiceportname=BookPrice_Portbinding=mh:BookPrice_Bindingsoa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘭州資源環(huán)境職業(yè)技術大學《液壓流體力學》2023-2024學年第一學期期末試卷
- 濟寧職業(yè)技術學院《傳播效果監(jiān)測》2023-2024學年第一學期期末試卷
- 湖南幼兒師范高等??茖W?!督Y構耐久性理論》2023-2024學年第一學期期末試卷
- 湖南工業(yè)大學科技學院《嬰幼兒藝術發(fā)展與教育》2023-2024學年第一學期期末試卷
- 衡陽科技職業(yè)學院《地理信息系統(tǒng)A》2023-2024學年第一學期期末試卷
- 湖南交通職業(yè)技術學院《生物醫(yī)藥文獻檢索和專業(yè)英語》2023-2024學年第一學期期末試卷
- 浙江師范大學《發(fā)酵工程制造技術及應用》2023-2024學年第一學期期末試卷
- 鄭州體育職業(yè)學院《工業(yè)設計專業(yè)導論》2023-2024學年第一學期期末試卷
- 浙江工貿職業(yè)技術學院《短視頻策劃與運營》2023-2024學年第一學期期末試卷
- 食品中重金屬殘留的控制手段
- 2024-2025學年成都高新區(qū)七上數(shù)學期末考試試卷【含答案】
- 定額〔2025〕1號文-關于發(fā)布2018版電力建設工程概預算定額2024年度價格水平調整的通知
- 2025年浙江杭州市西湖區(qū)專職社區(qū)招聘85人歷年高頻重點提升(共500題)附帶答案詳解
- 《數(shù)學廣角-優(yōu)化》說課稿-2024-2025學年四年級上冊數(shù)學人教版
- “懂你”(原題+解題+范文+話題+技巧+閱讀類素材)-2025年中考語文一輪復習之寫作
- 2025年景觀照明項目可行性分析報告
- 2025年江蘇南京地鐵集團招聘筆試參考題庫含答案解析
- 2025年度愛讀書學長參與的讀書項目投資合同
- 電力系統(tǒng)分析答案(吳俊勇)(已修訂)
- 化學-河北省金太陽質檢聯(lián)盟2024-2025學年高三上學期12月第三次聯(lián)考試題和答案
- 期末復習試題(試題)-2024-2025學年四年級上冊數(shù)學 北師大版
評論
0/150
提交評論