WS-Addressing 的目的是啥?

Posted

技术标签:

【中文标题】WS-Addressing 的目的是啥?【英文标题】:What is the purpose of WS-Addressing?WS-Addressing 的目的是什么? 【发布时间】:2013-03-20 07:27:37 【问题描述】:

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

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

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

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

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

感谢您的回复!我仍然没有投票权,所以这是我能做的最好的事情 那里应该有一个可点击的复选标记,表明您接受了答案。当您获得更多积分时,您将有机会投票。【参考方案2】:

根据WS-Addressing specification by W3C organization:

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

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

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

【讨论】:

以上是关于WS-Addressing 的目的是啥?的主要内容,如果未能解决你的问题,请参考以下文章

server.sin_addr.s_addr是啥意思?

in_addr_t inet_ntoa 等类型的地址是啥

使用 Spring-WS 路由 WS-Addressing 响应

gsoap - SOAP Header 中的 WS-Addressing 元素

STM32中GPIOD->BSRR = addr(0x0000ffff<<16); <<16是啥意思

asp net core soap请求ws-addressing