8

我只是对ws-addressing感到困惑。

维基百科说它是一种传输中立机制的规范,允许网络服务“交流寻址信息”。

传达寻址信息?难道 SOAP Web 服务一开始就没有这种能力,否则它们将如何进行通信?

鉴于它似乎提供了核心功能,它提供了什么价值,为什么不是默认内容的一部分?

4

2 回答 2

20

WS-Addressing在通过不同协议进行异步通信的上下文中最有用。它用于标记消息,以便稍后可以相互协调请求和延迟响应,而不管它是通过哪个协议发送的。

如果您一直使用 HTTP,则不需要 WS-Addressing,这就是默认情况下关闭它的原因。但是,我们倾向于假设 SOAP 只能通过 HTTP 传输,而实际上它可以通过其他方式传输,例如SMTPJMS。他是一个说明这一点的例证。

在此处输入图像描述

使用WS-Addressing,特定于传输的数据被复制到 SOAP 标头。这将地址数据从协议中解耦到 SOAP 消息本身,实现了 Wikipedia 所谈论的“传输中立性”。

在此处输入图像描述

WS-Addressing 在 WS* 规范组(即 WS-Security、WS-ReliableMessaging、WS-Coordination)中扮演着重要角色。

于 2013-03-29T15:32:54.567 回答
0

根据W3C 组织的 WS-Addressing 规范

/wsa:MessageID
此可选元素(类型为 xs:anyURI)传达 [message id] 属性。如果存在 wsa:ReplyTo 或 wsa:FaultTo,则必须存在此元素。

/wsa:ReplyTo
此可选元素(类型为 wsa:EndpointReferenceType)提供 [reply endpoint] 属性的值。如果需要回复,则必须存在此元素。如果存在此元素,则必须存在 wsa:MessageID。

/wsa:FaultTo
此可选元素(类型为 wsa:EndpointReferenceType)提供 [故障端点] 属性的值。如果存在此元素,则必须存在 wsa:MessageID。

于 2016-02-12T19:15:21.163 回答