调度 SOAP 消息

有多种方法可以处理将收到的 SOAP 消息调度到相应的服务。 两种最简单的机制是传输级别调度,以及地址和操作调度。

传输级别调度

通过传输级别调度,基础 HTTP 服务器 ((例如 HTTP API) )用于管理向设备及其服务的请求路由。 服务器为每个服务提供不同的 URL,并且为每个 URL 注册了不同的设备和不同的接收器。 这样,就可以设计代码,使每个服务与另一个服务隔离,无论是作为同一进程中的单独组件运行,还是作为单独的进程运行。

传输级别调度具有一些优势。 消息可以调度到适当的组件,而无需先分析 SOAP 信封或消息正文。 此外,大多数 HTTP 服务器实现提供的路由消息的现有机制可以重复使用,这意味着不需要自定义调度代码。 它还隔离了服务之间的 SOAP 处理代码,这些服务提供了一定程度的安全性,因为安全服务避免消息通过常见代码传输。

地址和操作调度

地址和操作调度依赖于 SOAP 标头来确定将消息调度到的相应服务。 此模型还可以使用其他信息(如参考参数)进一步帮助调度。

此模型鼓励在整个分层消息堆栈中重复使用代码,因为所有到 SOAP 处理器的代码都由所有服务共享。 此外,不需要服务的不同传输地址,这意味着 UUID 地址可用于服务终结点。 地址和操作调度还更直接地转换为编程模型。 开发人员可以将服务和设备插入管理路由的单个组件,而无需绑定到 HTTP 层或为每个服务创建单独的组件。