一. SOAP概述
SOAP(Simple Object Access Protocol),它是一種標準消息傳遞協議,通常是Web Service的事實標準。SOAP是以XML爲基礎,SOAP消息格式是由XML Schema模式定義,通過XML命名空間使SOAP具有很強的擴展性。
SOAP message:SOAP XML文檔實例,通常通過其他某些網絡協議的有效載荷來攜帶SOAP消息,例如:HTTP, SMTP, TCP/IP等。
Web Service可以使用兩種方式:One-Way messaging(單向消息傳遞)或者Request/Response messaging(請求/響應消息傳遞)
二. SOAP風格中RPC與Document的區別
在 Web 服務描述語言( Web Service Definition Language , WDSL )規範中隱含着一個非常巧妙的轉換開關,它可以將Web 服務的 SOAP 綁定從遠程過程調用轉換成 pass-through 文檔。在 SOAP 協議綁定中的樣式屬性可以包含這兩個值中的一個:rpc 或 document 。當屬性被設定爲文檔樣式時,客戶端知道應該使用 XML 模式而不是遠程過程調用約定。
如果樣式聲明爲 RPC ,消息就封裝在包裝器元素中,同時帶有從操作名屬性中提取的的元素的名稱以及從操作名稱空間屬性中提取的名稱空間。
三. SOAP消息傳遞模式
消息傳遞模式通常描述的是SOAP消息的有效負載:即XML文檔段或者是遠程過程調用對應的參數和返回值的XML表示。
SOAP支持四種消息傳遞模式(RPC/Literal, Document/ Literal, RPC/Encoded, and Document/Encoded),
但是WS-I Basic Profile只允許RPC/Literal和Document/ Literal,不支持SOAP encoding,因爲它會引起嚴重的互操作性。
Literal表示可以根據XML模式驗證XML文檔的有效性。
3.1 Document/ Literal消息傳遞模式
Document/ Literal消息傳遞模式中,SOAP的Body元素包含一個XML格式良好的文檔段;
3.2 RPC/Literal消息傳遞模式
RPC/Literal消息傳遞模式將Body元素格式化成struct。PRC請求消息包含調用的方法名稱與輸入參數。RPC響應消息則包含返回值和各種輸出參數(或者錯誤)
引用自:
WEB Service SOAP http://bldmickey.blog.sohu.com/58932442.html
SOAP風格中 RPC與Document的區別 http://blog.csdn.net/tomholmes7/article/details/2773738