日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SOAP基础知识

發布時間:2024/7/5 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SOAP基础知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、SOAP是什么?

SOAP是一種輕量級協議,旨在在分散的分布式環境中交換結構化信息。 SOAP使用XML技術來定義可擴展的消息傳遞框架,該框架提供了可以在各種基礎協議之間交換的消息構造。

  • 通信協議

  • 用于應用程序之間的通信

  • 發送消息的格式

  • 設計用于通過Internet通信

  • 平臺無關

  • 語言無關

  • 基于XML

  • 簡單且可擴展

  • 允許繞過防火墻

  • 一個W3C標準

  • 簡單的SOAP消息

    ?

    復雜的SOAP消息

    ?

    二、SOAP的作用

    SOAP提供了一種使用不同的技術和編程語言在運行于不同操作系統上的應用程序之間進行通信的方法

    SOAP提供了一個基于XML的消息傳遞框架

  • 可擴展的

  • 簡潔仍然是SOAP的主要設計目標之一。

  • 簡單總是勝過效率或技術純度。

  • SOAP定義了一個通信框架,該框架允許將功能添加為分層擴展。

  • 可在各種基礎網絡協議上使用

  • 可以在任何傳輸協議上使用 TCP、HTTP、SMTP

  • SOAP規范提供了一個靈活的框架,用于定義任意協議綁定

  • 由于HTTP已被廣泛使用,因此它今天為HTTP提供了顯式綁定。

  • 獨立于編程模型,

  • 允許任何編程模型,與遠程過程調用無關

  • SOAP定義了用于處理單個單向消息的模型。 SOAP允許任何數量的消息交換模式(MEP)。

  • 由于RPC的流行,SOAP概述了將RPC與SOAP一起使用的約定。

  • ?

    三、SOAP消息例子

    請求消息

    <soap:Envelope><soap:Body><m:GetBookPrice xmlns:m="http://www.amzn.org/books" />? ?<m:BookName>Fast Food Nation</m:BookName>??</m:GetBookPrice></soap:Body></soap:Envelope>

    回應消息

    <soap:Envelope><soap:Body><m:GetBookPriceResponse xmlns:m="http://www.amzn.org/books" /><m:Price>34.5</m:Price></m:GetBookPriceResponse></soap:Body></soap:Envelope>

    四、SOAP信封

    SOAP消息包含在XML“信封”中,并帶有標題和正文。

    SOAP頭是可選的,包含有關SOAP消息的特定于應用程序的信息(例如身份驗證,付款等)

    SOAP體是必需的,包含用于消息最終端點的實際SOAP消息。

    ?

    五、SOAP頭

  • 一種擴展機制,提供了一種在SOAP消息中傳遞信息的方式,該信息不是應用程序有效負載。

  • 這允許以特定于應用程序的方式擴展SOAP消息。

  • 標頭塊可以分別針對在從發送者到最終接收者的消息路徑中可能遇到的SOAP節點。

  • ?

    六、SOAP節點

    SOAP假定消息具有一個發起者,一個或多個最終接收者以及零個或多個中介。SOAP消息的始發者,中介和接收者都稱為SOAP節點。原因是支持分布式消息處理。實現此消息路由不在SOAP的范圍之內。

    ?

    頭部有三個可選屬性:

  • actor:確定是節點應處理特定的標頭

  • mustUnderstand:如果設置為” true”,則節點必須知道如何處理頭。

  • relay:指示是否應轉發未處理的標頭塊。

  • ?

    七、協議綁定

  • SOAP消息傳遞框架獨立于基礎協議

  • 具體的協議綁定準確定義了如何使用給定協議傳輸SOAP消息

  • 定義了標準協議綁定,確保SOAP應用程序和基礎結構之間的高度互操作性

  • SOAP1,1規范僅將HTTP的標準協議綁定編碼

  • HTTP綁定:HTTP協議綁定定義了通過HTTP使用SOAP的規則。

  • SOAP:請求/響應自然地映射到HTTP請求/響應模型。

  • ?

    八、協議綁定——請求示例

    <!--【HTTP頭】-->POST /Temperature HTTP/1.1Host: www.weather.comContent-Type: text/xmlContent-Length: n<!-- 【XML負載均衡】--><s:Envelope xmlns:s=“http://www.w3.org/2001/06/soap-envelope"><s:Body>… …</s:Body></s:Envelope><wsdl:binding name="InventoryServiceSoapBinding" type="InventoryService"><soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="inquiryInventory"><soap:operation soapAction="http://abc.com/get"/><wsdl:input name="inquiryInventoryRequest"><soap:body use="literal"/></wsdl:input><wsdl:output name="inquiryInventoryResponse"><soap:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding>


    九、WSDL與SOAP的綁定

  • soap標記:綁定有兩個屬性

  • style:“RPC”或者“document”

  • transport:定義要使用的SOAP協議

  • 對于每個操作,需要定義相應的SOAP操作。 此外,需要指定輸入和輸出消息的編碼方式。

  • ?

    十、SOAP消息風格

    SOAP消息的兩種基本風格

  • Document風格:表示 正文僅包含XML文檔,發送者和接收者必須同意其格式。

  • RPC風格:表示 主體包含方法調用的XML表示形式

  • ?

    十一、Document風格的SOAP消息

    <Envelope xmlns:s=“http://www.w3.org/2001/06/soap-envelope”><Body><purchaseOrder xmlns:n=“urn:OrderService”><from><person>Christopher Robin</person><dept>Accounting</dept></from><to><person>Pooh Bear</person><dept>Honey></dept></to><order><quantity>1</quantity><item>Pooh Stick</item></order></purchaseOrder></Body></Envelope>

    十二、遠程調用消息:典型的兩種消息

    十三、RPC風格的SOAP消息

    <!--請求--><Envelope xmlns:s=“http://www.w3.org/2001/06/soap-envelope”><Body><getQuote xmlns:n=“urn:QuoteService”><symbol xsi:type=“xsd:string”>IBM</symbol></getQuote></Body></Envelope><!--響應--><Envelope xmlns:s=http://www.w3.org/2001/06/soap-envelope><Body><getQuoteResponse xmnls:n=“urn:QuoteService”><value xsi:type=“xsd:float”>98.06</value></getQuoteResponse></Body></Envelope>

    十四、SOAP消息風格

    有兩種技術可以決定如何將數據序列化到主體中:(在WSDL的<soap:body>元素的use屬性中指示)

    Literal:架構定義從字面上定義了主體的XML格式,沒有歧義。

    Encoded:SOAP處理器必須在運行時遍歷各種SOAP編碼規則,以確定主體的正確序列化。

    ?

    十五、總結

  • SOAP定義了一個簡單且可擴展的XML消息傳遞框架,該框架可在具有多種不同編程模型的多種協議上使用。

  • 基于XML和現有Internet協議的輕量級替代物,用于復雜的分布式對象技術。

  • 該規范整理了如何在HTTP和RPC調用中使用SOAP。

  • ?

    總結

    以上是生活随笔為你收集整理的SOAP基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。