您好,登錄后才能下訂單哦!
小編給大家分享一下XML模式中SOAP有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
簡單對象訪問協議(Simple Object Access Protocol,SOAP)實際上是一種 Web 服務技術,但 Web 服務中客戶機和服務器之間的數據交換格式是通過靈活的 XML 模式實現的。
Web 服務的主要優點是客戶機和服務器通過網絡進行信息和數據交換的互操作性的層次。SOAP 標準使用 XM
簡單對象訪問協議(Simple Object Access Protocol,SOAP)實際上是一種 Web 服務技術,但 Web 服務中客戶機和服務器之間的數據交換格式是通過靈活的 XML 模式實現的。
Web 服務的主要優點是客戶機和服務器通過網絡進行信息和數據交換的互操作性的層次。SOAP 標準使用 XML 以一種體系結構中立的格式來構造數據,定義數據類型和信息。
對于編程語言來說,只需要提供數據類型和需要在遠程服務器上調用的函數名稱即可。SOAP 庫將用主機語言編寫的信息和格式轉化成 XML 格式的消息,其中包括調用的函數和提供的參數。
通過 W3C 的例子就可以了解 SOAP 的結構。調用遠程 SOAP 函數 GetEndorsingBoarder()
的時候,客戶機上的調用程序生成清單 1 所示的 XML 消息。清單 1. 調用遠程 SOAP 函數 GetEndorsingBoarder()
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetEndorsingBoarder xmlns:m="http://namespaces.snowboard-info.com"> <manufacturer>K2</manufacturer> <model>Fatbob</model> </m:GetEndorsingBoarder> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
SOAP 客戶機發送的整個消息都放在 SOAP 信封中。信封的內容就是消息的詳細內容。
被調用的函數顯然是 GetEndorsingBoarder
,它包括兩個參數:manufacturer 和 model。由此可見,它把本地的可能采用二進制編碼的字符串轉化成了 XML 字符串。由于 XML 是平臺獨立的,主機使用 SOAP 系統不需要復雜的二進制編碼和解碼就可以交換消息。
服務器通過另一個 XML 編碼的 SOAP 信封返回響應,這一次是函數的返回值。SOAP 請求的響應格式與函數相同,只不過在信封內容的后面加上了 Response
,如清單 2 所示。
清單 2. SOAP 請求的響應
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetEndorsingBoarderResponse xmlns:m="http://namespaces.snowboard-info.com"> <endorsingBoarder>Chris Englesmann</endorsingBoarder> </m:GetEndorsingBoarderResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
通常不需要自己編寫 SOAP 消息,SOAP 庫會自動生成。不過 SOAP 信封的結構和簡單性表明使用 SOAP 標準共享信息很簡單。
SOAP 大大簡化了交換消息和調用遠程函數的工作。遠程過程調用(Remote Procedure Call,RPC)標準需要復雜的方法來處理二進制數據的序列化,發送結構化更高的信息需要詳細的聲明和雙向的信息轉換。
使用 SOAP,XML 序列化大大降低了這種復雜性,使得跨平臺、跨語言集成和數據交換更加簡單。
以上是“XML模式中SOAP有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。