WS-Addressing
Web服務尋址(WS-Addressing)是一個W3C推薦標準,為Web服務提供一種與傳輸層無關的,傳送尋址信息的機制。規範主要由兩部分組成:傳送Web服務端點的引用的數據結構,以及一套能夠在特定的消息上關聯尋址信息的消息尋址屬性。
規範內容
WS-Addressing是將消息路由數據包含在SOAP頭中的一種標準方法。利用WS-Addressing的消息可以在標準化的SOAP頭中包含自己的包含發送元數據,而不是依賴於網絡層傳輸來傳送路由信息。網絡級傳輸只負責將消息發送到能夠讀取WS-Addressing元數據的分配器那裡。一旦消息抵達了URI所制定的分配器,網絡層傳輸的工作就完成了。
通過在標準的SOAP頭中(wsa:ReplyTo)指定應答消息應該發送到哪裡的端點引用,WS-Addressing可以支持異步交互方式。 服務提供者使用另一個連接,將應答消息發送給wsa:ReplyTo所指定的端點。這就將SOAP請求/應答消息的交互與HTTP請求/應答協議分離,這樣,跨越任意時間的長時間運行的交互成為可能。
端點引用
端點引用(Endpoint Reference,速寫EPR)是一個XML結構,封裝了對訪問Web服務的消息尋址有用的信息。這包括了消息的目的地地址,任何其他路由消息到目的地所需的參數(稱作引用參數),以及有關服務的任選的元數據(例如WSDL或WS-Policy)。
消息尋址屬性
消息尋址屬性表明與將消息傳送到Web服務有關的尋址信息,包括:
- 目的地 -- 該消息的目的地的URI。
- 源端點 -- 發出該消息的服務端點(EPR)
- 應答端點 -- 應答消息接收者的端點(EPR)
- 故障端點 -- 故障消息接收者的端點(EPR)
- 動作-- 指示該消息的語義(可能有助於該消息的尋址)的URI
- 消息ID -- 唯一消息標識符URI
- 關係 -- 與之前消息的關係(一對URI)
歷史
WS-Addressing最初由微軟, IBM, BEA, Sun和SAP所發起,並提交 (頁面存檔備份,存於網際網路檔案館)到W3C進行標準化。W3C WS-Addressing工作組 (頁面存檔備份,存於網際網路檔案館)在標準化的過程中對規範進行了改善和補充。
目前,WS-Addressing分成三部分說明:
- 核心 (頁面存檔備份,存於網際網路檔案館)--主要包括端點引用和消息尋址屬性的規範。
- SOAP綁定 (頁面存檔備份,存於網際網路檔案館)--將這些屬性綁定到SOAP協議上。
- 元數據 (頁面存檔備份,存於網際網路檔案館)規範--說明了在核心 (頁面存檔備份,存於網際網路檔案館)中定義的抽象的屬性將如何使用WSDL來描述,如何在端點引用中包含WSDL元數據,以及如何使用WS-Policy標明一個Web服務是否支持WS-Addressing。
WS-PAEPR(端點引用的Web服務策略附件) (頁面存檔備份,存於網際網路檔案館)闡述了將WS-Policy表達式包含在端點引用中的機制和方法。WS-PAEPR是W3C的成員提案。