分派 SOAP 訊息

有許多方式可將接收的 SOAP 訊息分派給適當的服務。 兩個最簡單的機制是傳輸層級分派,以及位址和動作分派。

傳輸層級分派

使用傳輸層級分派時,基礎 HTTP 伺服器 (例如 HTTP API) ,可用來管理對裝置及其服務的要求路由。 伺服器會為每個服務提供不同的 URL,而裝置和不同的接收會針對每個 URL 註冊。 這可讓程式碼設計成讓每個服務彼此隔離,不論是在相同進程內以個別元件的形式執行,還是以個別進程執行。

傳輸層級分派有一些優點。 訊息可以分派至適當的元件,而不需要先剖析 SOAP 信封或訊息本文。 此外,大部分 HTTP 伺服器實作所提供的路由訊息的現有機制都可以重複使用,這表示不需要自訂分派程式碼。 它也會隔離服務之間的 SOAP 處理常式代碼,以提供安全性層級,因為安全服務會避免訊息通過一般程式碼。

位址和動作分派

位址和動作分派依賴 SOAP 標頭來判斷訊息分派的適當服務。 此模型也可以使用其他資訊,例如參考參數,進一步協助分派。

此模型鼓勵在整個分層傳訊堆疊中重複使用程式碼,因為所有服務都會共用 SOAP 處理器的所有程式碼。 此外,不需要服務的不同傳輸位址,這表示 UUID 位址可用於服務端點。 位址和動作分派也會更直接地轉譯為程式設計模型。 開發人員可以將服務和裝置插入管理路由的單一元件,而不需要系結到 HTTP 層,或為每個服務建立個別的元件。