最早的满足传输中立性的协议文本WS-Routing
WS-Routing是最早完成此类功能的协议文本,该协议可以使您以传输中立的方式指定消息路由和调度信息。该规范定义了要在 SOAP 标头块中使用的新元素(名为 <r:path>)。这个路径元素有几个子元素,它们可以用来指定路由和调度信息,包括 <r:to> 和 <r:action>。这些元素可以用来捕获与以前相同的信息,但与传输协议没有任何关系,下面的代码框架说明了WS-Routing的基本石用规则:
<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
>
<s:Header>
<!-- WS-Routing -->
<r:path xmlns:r="http://schemas.xmlsoap.org/rp">
<r:action />
<r:to />
<r:fwd>
<r:via /> *
</r:fwd>
<r:rev>
<r:via /> *
</r:rev>
<r:from />
<r:id />
<r:relatesTo />
<r:fault />
</r:path>
...
其中,<r:fwd>表示消息定义前进路径、<r:rev>表示相应响应消息的相反路径、<r:id> 和 <r:relatesTo>表示消息相互关联的方式。值得说明的是,处理路径信息的路由器必须在将消息发送到路径中下一个节点之前对 WS-Routing 标头进行更改。消息内的路由功能虽然提供了一些有趣的可能性,但也带来一系列安全问题,主要是路由器必须修改标头使得消息签名复杂化,原始的发送方无法签署消息(包括 WS-Routing 标头),而且在不破坏原始签名的情况下通过 WS-Routing 路径发送该消息。