




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、SOAPSOAP協議協議西源軟件培訓中心西源軟件培訓中心回顧uXML DSO 是一個 Microsoft ActiveX 控件,嵌入到 Microsoft Internet Explorer 中uDSO 有助于格式化數據并將這些數據顯示在 HTML 頁面上 uDSO 可用于從外部 XML 文檔或從嵌入到 HTML 文檔的 XML 數據中提取數據u 和 標簽之間綁定的 XML 數據稱為 XML 數據島回顧u可以通過在 HTML 文檔中使用 標簽或通過使用 JavaScript 創建函數,將外部 XML 文檔鏈接到 HTML 文檔u可以使用 datasrc 和 datafld 屬性從數據島中提取數
2、據uDSO 可用于使用樣式表中定義的樣式來顯示 XML 數據島的數據目標u了解了解SOAP概述概述u理解理解SOAP消息消息u理解理解SOAP消息交換模型消息交換模型u了解了解SOAP協議綁定框架協議綁定框架u理解理解SOAP編碼編碼u了解把了解把SOAP用于用于RPCSOAP概述u SOAP(simpleobJectAcce眺PNtoc01,簡單對象訪問協議)是一個用來在分散/分布式的環境中交換信息的簡單協議,它是一個基于XML的協議。因為SOAP消息的格式是標準的,并且是基于XML標準的,所以,SOAP可以用來在不同的計算機體系結構、不同的語言和不同的操作系統之間進行通信。web服務就是使
3、用SOAP作為它的標準通信協議。 SOAP概述uSOAP本身是一個無狀態的、單向的消息交換機制,但是應用程序可以在此基礎上,通過結合單向交換與底層傳輸協議的特性或應用程序信息來創建更加復雜的交互模型,例如請求響應和請求/多重響應等。u SOAP中沒有包含應用于SOAP消息路由、可靠數據傳輸和穿越防火墻等方面的應用程序數據傳送語義,但是它提供了一個機制,通過這個機制,特定于應用程序的信息能夠以一種可靠的方式傳送。同時,SOAP描述了SOAP處理器如何對所接收SOAP稍息進行操作。SOAP協議的四個部分uSOAP封裝封裝 封裝定義了一個描述消息中的內容劇十么、是誰發送的、誰應當接受并處理它以及如何
4、處理它們的框架。uSOAP編碼規則編碼規則 用于表示應用程序需要使用的數據類型的實例即如何把語言類型映射到SOAP消息中的XML上。uSOAP RPC表示表示 描述如何使用盼AP進行遠程過程調用和響應。uSOAP綁定綁定 描述如何使用底層協議交換信息。 SOAP規范中包含一個默認的HTTP綁定,它定義了如何通過HTTP交換SOAP消息。SOAP 消息 SOAP消息完全基于XML,它包含以下部分:u封裝封裝(Envelope): 封裝是表示SOAP消息的頂級元素,它是必需的EnvelOpe元素,包含兩個子元素Header和Body元素,這兩個元素中的內容是由應用程序定義的并且不屬于SOAP規范。
5、u報頭報頭(Header): 報頭是可選的,它是一種用來以分散方式向SOAP消息上添加額外特性的通用機制。通過這種機制,添加額外特性時不需要得到通信雙方的事先同意。正是通過這種機制,應用程序才能以特定的方式對SOAP消息進行擴充。報頭的直接子元素稱為報頭條目,它表示一些邏旗數據分組,可被傳輸路徑中的SOAP節點進行處理。SOAP定義了一些屬性來指出誰應該處理某個特性以及這個特性是可選的還是必須要處理的。SOAP 消息u報體(Body): 報體是一個包含發送給最終目標節點的必需信息的容器,它是必需的。SOAP消息的最終接收者必須要正確處理Body元素。最終SOAP接收者使用Body元素的子元素的
6、局部名和命名空間名來確定所要執行的處理。實際上,SOAP RPC約定就是使用這種方式。SOAP為報體定義了一個Fault元素,它用來報告錯誤。SOAP 消息結構SOAP封裝SOAP報體報體SOAP報頭報頭Envelope元素uSOAP 射裝對應的元素是Envelope,它是SOAP 消息的頂級元素,它必須要出現在SOAP 叫目息中,并且報頭和報體都必須位于Envelope元素中, 在Envelope 中可以包含命名空間聲明和其他一些屬性,并且這些屬性必須要使用命名空間進行限定。 示例ENV:Envelope xmlns:SOAP-ENV=/s
7、oap/encelope/ENV:encodingStyle=/soap/encoding/uEnvelope元素的聲明中就包含了一個命名空間聲明SOAPENV和一個屬性encodingStyleHeader元素u 報頭對應的元素為Header這個元素是可選的,如果出現,則必須是Envelope元素的第一個于元素,并使用命名空間進行完全限定。 Header元素中可以包含一些屬性和報頭條目,每一個條目都是Header的直接子元素,并且必須要使用命名空間進行限定。uactor屬性屬性(next、ultimate receiver) Actor是由
8、SOAP注釋定義的,在SOAP 1.2中,actor屬性已經被更名為role。Actor屬性和XML命名空間組合在一起使用,以確定要用哪個代碼模塊處理具體的Header。Next角色表示消息路徑中的下一個節點必須處理文件頭。 Ultimate receiver角色表示只有消息的最終接收方才能處理指定的Header。u mustUnderstand屬性屬性 表示處理是否為強制性處理,如果一個節點不能識別某一個強制性Header,那么必定會產生SOAP錯誤。如果MustUnderstand屬性的值是0,如果應用程序沒有能夠識別該文件頭,那么必須刪除此文件頭。Body元素u報體對應的元素是Body,
9、它是Envelope元素的直接子元素并且必須出現在SOAP消息中,它通過完全限定名標識。如果Envelope元素中包含Header元素,則Body元素必須位于Header元素的后面,否則的話,Body元素必須是Envelope元素的第一個子元素。uBody元素中可以包含一些條目,每一個條目都是它的直接子元素,并且必須使用命名空間進行限定,用戶可以在Body元素中使用encodingStryle屬性來指出這些條目所使用的編碼方式。u Body元素提供了一個簡單的機制來與消息的最終接收者交換必須的信息。Body的典型用法包括調度RPC調用和錯誤報告。uS0AP定義了一個報體條目Fault,它用來報
10、告錯誤。Fault元素u當在處理消息的過程中發生錯誤時,SOAP Fault元素用來在SOAP消息中攜帶錯誤和或狀態信息,如果消息中包含Fault元素,則它必須作為Body元素的直接子元素出現,并且最多只能出現一次。SOAP消息的交換模式uSOAP消息是一個從發送方到接受方的單向傳送,實際上SOAP消息經常以請求/響應的方式實現。SOAP消息的交換模式 SOAP處理模型描述了一個節點上的處理模型描述了一個節點上的SOAP處理器在接收到一條處理器在接收到一條SOAP消息時所采取的動作。一個消息時所采取的動作。一個SOAP節點必須按照以下的順節點必須按照以下的順序來處理序來處理SOAP消息:消息:
11、u 確定節點的角色,這可以使用SOAP封裝(包括報頭條目和報體)中的內容來確定。u 識別所有定向到該節點的強制報頭條目。u 如果上一步中識別的一個或多個報頭條目不被該節點所理解,則產生一個SOAP MustUnderstand錯誤,并取消所有后續的處理。與報體相關的錯誤不能在這一步里產生。u 處理所有定向到該節點的報頭條目,并且如果該節點是最終接收者,則還要處理報體。S0AP節點必須處理所有定向到它的報頭條目,但可以選擇忽略哪些定向到它的非強制報頭條目的處理。u 在中間節點的情況下,刪除所有定向到該節點的報頭條目(不管報頭條目是被處理還是被忽略,都必須刪除),并可以插入新的報頭條目。SOAP協
12、議綁定框架u SOAP消息交換模型描述了對所有SOAP節點都通用的處理過程,綁定規范的目的是擴充這些核心規則,主要是通過添加特定于綁定和底層協議通信方式的處理過程來實現。SOAP協議綁定框架 綁定框架的日標是:u 描述對所有綁定規范都通用的需求和概念。u 方便對支持通用特性的綁定曲描述。多個綁定可以提供某個指定的可選特性,比如消息的可靠分發,這可以直接依賴于底層協議的特性來實現,也可以通過在綁定中提供相應的程序邏輯來實現。這種特性可以以一種一致的方式呈現給應用程序,而不管使用哪一個綁定。SOAP編碼uXML允許非常靈活的數據編碼方式。S0AP定義了一個較小的編碼規則集合。u SOAP編碼格式基
13、于一個簡單的類型系統,概括了程序語言、數據庫和半結構化數據等類型系統的共同特性。一個類型可以是一個簡單類型,比如字符串、整數和故舉等,也可以是由幾個部分組合而成的復合類型,其中,每個部分都有自己的類型,比如定單類和報表類等。簡單類型uSOAP采用XML架構規范中定義的內建數據類型作來它的簡單類型,示例:500(int類型),3141592653E+1(float類型),”XML Web Service”(String類型)等等。uSOAP聲明元素45 枚舉u XML架構規范中定義丁一種稱為枚舉(enumeration)的機制。SOAP數據模型直接采用了這種機制。u 枚舉表示一組不同的名字。一個
14、特定的枚舉就是對應于特定基類型的不同值的列表。例如,顏色名稱集合(“Green”、“Blue”和“Brown”)可以定義為基于字符串類型的枚舉,而值(“1”、“3”和“5)則可能是一個基于整數類型的枚舉等。XML架構規范可以用來定義放舉類型。在下面架構示例中, EyeColor定義為基類型是字符串的枚舉,可能的值是“Green”、 “Blue”或“Brown其他還可以使用字節數組,多態訪問器,復合類型等等SOAP用于RPCu S0AP的設計目標之一就是使用XML的可擴充性和靈活性來封裝遠程過程調用功能。在使用HTTP作為底層傳輸協議的情況下,RPC調用映射到Http請求,RPC響應映射到Htt
15、p響應。但是,把SOAP用于RPC并不局限于HTTP協議綁定。調用一個RPC需要以下信息:u 日標SOAP節點的URlu 過程或方法的名稱u 可選的過程或方法簽名u 過程或方法的參數u 可選的報頭數據u SOAP依賴于協議綁定來提供攜帶URL的機制。例如,對于HTTP來說,請求URL表示被調用的資源除了必須是一個合法的URL外,SOAP沒有對它的形式施加其他的限制。傳輸層消息交換模式 uTMEP(Transport Message Exchange Pattem,傳輸層消息交換模式)是一個用于在SOAP節點之間交換消息的模板。u傳輸層消息交換模式描述了一個傳輸層消息交換的生命周期、多個消息之間
16、的關系以及消息交換的正常和異常終止。u傳輸層綁定規范可以支持一個或多個使用URL命名的傳輸層消息交換模式。默認的HTTP綁定uHTTP是一個眾所周知的連接模型和消息交換模型??蛻敉ㄟ^URL標識服務器并通過底層的TCPIP 網絡連接到它,然后在相同的連接上發出HTTP請求消息并接收HTTP響應消息。HTTP隱含地把它的請求消息與響應消息相關聯,因此,使用這個綁定的應用程序可以推斷HTTP請求主體中的SOAP消息與HTTP響應返問的SOAP消息之間的關系。類似地,HTTP通過URL標識服務器端點,它也可以用來標識節點上的SOAP處理器。u HTTP允許初始客戶與請求URL標識的服務器之間存在多個中
17、間節點,在這種情況下,請求響應模型就由一系列的請求響應對組成。注意:uHTTP中間節點與SOAP中間節點是不同的消息交換操作u請求SOAP節點的行為失敗請求SOAP節點的狀態轉換等待接受成功響應SOAP節點的行為u響應SOAP節點上的狀態轉換。失敗接受響應S0AP節點上的狀態轉換處理響應成功SOAPAction特性u默認的HTTP綁定規范在“http://2001/12/soap/bindings/defaultHTTP/SOAPAction/”中定義了一個特定于綁定的特性SOAPAction,這個特性是一個可選的特性,它位于SOAP消息封裝(Envelope元素)的外部,以HTTP標題字段的形式使用。這個特性的用法中SOAP接收者指定。總結uSOAP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園門口日常管理制度
- 校外培訓應急管理制度
- 2025年6月中級銀行從業資格考試《個人理財》真題卷
- 體育媒體傳播效果-洞察及研究
- 生物醫藥研發與實驗技術練習題
- 農業園區綜合開發與管理合同
- 農戶家庭農田設施維護管理合同
- 智能問答機器人協議
- 地震演練考試題及答案
- java流面試題及答案2025年
- 2025年高考志愿填報-12種選科組合專業對照表
- 《知識產權法學》一萬字筆記
- 固體廢物堆肥處理技術課件
- 腦卒中的診斷與治療
- 中國古茶樹資源狀況白皮書2025
- 牙科技術入股合作協議書
- 2025甘肅省農墾集團限責任公司人才招聘524人易考易錯模擬試題(共500題)試卷后附參考答案
- 溫泉水項目可行性分析報告(模板參考范文)
- 2024年海關總署在京直屬事業單位招聘筆試真題
- T/CCIAS 010-2023雞精調味料生產技術規范
- 2025年微觀經濟學與宏觀經濟學專業考試試卷及答案
評論
0/150
提交評論