選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

XML 教程

XML 主頁 XML 簡介 XML 如何使用 XML 樹 XML 語法 XML 元素 XML 屬性 XML 名稱空間 XML 顯示 XML HttpRequest XML 解析器 XML DOM XML XPath XML XSLT XML XQuery XML XLink XML 驗證器 XML DTD XML Schema XML 伺服器 XML 示例 XML 測驗 XML 證書

XML AJAX

AJAX Introduction AJAX XMLHttp AJAX Request AJAX Response AJAX XML File AJAX PHP AJAX ASP AJAX Database AJAX Applications AJAX Examples

XML DOM

DOM Introduction DOM Nodes DOM Accessing DOM Node Info DOM Node List DOM Traversing DOM Navigating DOM Get Values DOM Change Nodes DOM Remove Nodes DOM Replace Nodes DOM Create Nodes DOM Add Nodes DOM Clone Nodes DOM Examples

XPath 教程

XPath Introduction XPath Nodes XPath Syntax XPath Axes XPath Operators XPath Examples

XSLT 教程

XSLT Introduction XSL Languages XSLT Transform XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT Apply XSLT on the Client XSLT on the Server XSLT Edit XML XSLT Examples

XQuery 教程

XQuery Introduction XQuery Example XQuery FLWOR XQuery HTML XQuery Terms XQuery Syntax XQuery Add XQuery Select XQuery Functions

XML DTD

DTD Introduction DTD Building Blocks DTD Elements DTD Attributes DTD Elements vs Attr DTD Entities DTD Examples

XSD Schema

XSD 簡介 XSD 如何操作 XSD <schema> XSD 元素 XSD 屬性 XSD 限制 XSD 複雜元素 XSD 空 XSD 僅元素 XSD 僅文字 XSD 混合 XSD 指示符 XSD <any> XSD <anyAttribute> XSD 替換 XSD 示例

XSD Data Types

XSD String XSD Date/Time XSD Numeric XSD Misc XSD Reference

Web Services

XML Services XML WSDL XML SOAP XML RDF XML RSS

參考手冊

DOM 節點型別 DOM 節點 DOM NodeList DOM NamedNodeMap DOM Document DOM Element DOM Attribute DOM Text DOM CDATA DOM Comment DOM XMLHttpRequest DOM Parser XSLT 元素 XSLT/XPath 函式

XML WSDL


  • WSDL 代表 Web Services Description Language (Web 服務描述語言)
  • WSDL 用於描述 Web 服務
  • WSDL 使用 XML 編寫
  • WSDL 是 W3C 於 2007 年 6 月 26 日釋出的推薦標準

WSDL 文件

WSDL 文件描述一個 Web 服務。它使用以下主要元素指定服務的地址和服務的方法

元素 描述
<types> 定義 Web 服務使用的資料(XML Schema)型別
<message> 為每個操作定義資料元素
<portType> 描述可執行的操作以及涉及的訊息。
<binding> 為每個埠型別定義協議和資料格式

WSDL 文件的主要結構如下所示

<definitions>

<types>
  資料型別定義........
</types>

<message>
  定義正在通訊的資料....
</message>

<portType>
  操作集......
</portType>

<binding>
  協議和資料格式規範....
</binding>

</definitions>


WSDL 示例

這是一個簡化的 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>

在此示例中,<portType> 元素定義“glossaryTerms”作為的名稱,並將“getTerm”定義為操作的名稱。

“getTerm”操作有一個名為“getTermRequest”的輸入訊息和一個名為“getTermResponse”的輸出訊息

<message> 元素定義每個訊息的部分以及關聯的資料型別。


<portType> 元素

<portType> 元素定義一個 Web 服務、可執行的操作以及涉及的訊息

請求-響應型別是最常見的操作型別,但 WSDL 定義了四種類型

型別 Definition(定義)
單向 該操作可以接收訊息,但不會返回響應
請求-響應 該操作可以接收請求並返回響應
請求-響應 該操作可以傳送請求並等待響應
通知 該操作可以傳送訊息,但不會等待響應

WSDL 單向操作

單向操作示例

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

在上面的示例中,portType “glossaryTerms”定義了一個名為 “setTerm” 的單向操作。

“setTerm”操作允許輸入新的詞彙表術語訊息,使用名為 “newTermValues” 的訊息,其中包含引數 “term” 和 “value”。但是,該操作沒有定義輸出。


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>

在上面的示例中,portType “glossaryTerms”定義了一個名為 “getTerm” 的請求-響應操作。

“getTerm”操作需要一個名為 “getTermRequest” 的輸入訊息,其中包含一個名為 “term” 的引數,並將返回一個名為 “getTermResponse” 的輸出訊息,其中包含一個名為 “value” 的引數。


WSDL 繫結到 SOAP

WSDL 繫結定義了 Web 服務的訊息格式和協議詳細資訊。

請求-響應操作示例

<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">
   <soap:binding style="document"
   transport="http://schemas.xmlsoap.org/soap/http" />
   <operation>
     <soap:operation soapAction="http://example.com/getTerm"/>
     <input><soap:body use="literal"/></input>
     <output><soap:body use="literal"/></output>
  </operation>
</binding>

binding 元素有兩個屬性 - name 和 type。

name 屬性(可以使用任何名稱)定義繫結的名稱,type 屬性指向繫結的埠,在此例中是“glossaryTerms”埠。

soap:binding 元素有兩個屬性 - style 和 transport。

style 屬性可以是“rpc”或“document”。在此例中我們使用 document。transport 屬性定義要使用的 SOAP 協議。在此例中我們使用 HTTP。

operation 元素定義了 portType 公開的每個操作。

對於每個操作,必須定義相應的 SOAP 操作。您還必須指定輸入和輸出的編碼方式。在此例中我們使用“literal”。


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援