有許多方法可將接收的SOAP訊息分派至適當的服務。 兩個最簡單的機制是傳輸層級分派,以及地址和動作分派。
傳輸層調度
使用傳輸層級分派時,基礎 HTTP 伺服器(例如 HTTP API)可用來管理對裝置及其服務的要求路由。 伺服器會為每個服務和裝置提供不同的 URL,並為每個 URL 註冊不同的接收器。 這可讓程式代碼設計成讓每個服務彼此隔離,不論是在相同進程內以個別元件的形式執行,或以個別進程的形式執行。
傳輸層級分派有幾個優點。 訊息可以分派至適當的元件,而不需要先剖析 SOAP 信封或訊息本文。 此外,大部分 HTTP 伺服器實作所提供的路由訊息的現有機制可以重複使用,這表示不需要自定義分派程序代碼。 它也會隔離服務之間的 SOAP 處理程式碼,以提供安全性層級,因為安全服務可避免訊息通過一般程式代碼傳輸。
地址與行動分派
地址和動作分派依賴 SOAP 標頭來判斷要分派訊息的適當服務。 此模型也可以使用其他資訊,例如參考參數,以進一步協助分派。
此模型鼓勵在整個分層傳訊堆疊中重複使用程式代碼,因為SOAP處理器的所有程式代碼都會由所有服務共用。 此外,不需要服務的不同傳輸位址,這表示 UUID 位址可用於服務端點。 地址和動作分派也會更直接地轉譯為程序設計模型。 開發人員可以將服務和裝置插入管理路由的單一元件,而不必系結至 HTTP 層,或為每個服務建立個別的元件。