WS-Addressing的目的是什么?

时间:2013-03-29 15:05:47

标签: java web-services soap jax-ws ws-addressing

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

维基百科称,它是一种传输中立机制的规范,允许Web服务“传递寻址信息”。

传达寻址信息? SOAP Web服务是否已具备开始时的能力,否则它们将如何进行通信?

它给出了什么价值,为什么它不是默认的东西的一部分,因为它似乎提供了核心功能?

2 个答案:

答案 0 :(得分:17)

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

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

enter image description here

使用 WS-Addressing ,特定于传输的数据将复制到SOAP标头。这将地址数据从协议分离到SOAP消息本身,实现了维基百科所讨论的“传输中立性”。

enter image description here

WS-Addressing在WS *规范组中起着重要作用(即WS-Security,WS-ReliableMessaging,WS-Coordination)。

答案 1 :(得分:0)

根据WS-Addressing specification by W3C organization

  

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

     

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

     

/ WSA:FaultTo
  此OPTIONAL元素(类型为wsa:EndpointReferenceType)提供[fault endpoint]属性的值。如果存在此元素,则wsa:MessageID必须存在。