Web services WS-Addressing有什么好处?

Web services WS-Addressing有什么好处?,web-services,soap,ws-addressing,Web Services,Soap,Ws Addressing,我刚刚开始使用soapweb服务,偶然发现了WS-Addressing 我已经阅读了,但是我很难理解WS-Addressing的意义 根据Wikipedia和web上的各种来源,WS-Addressing允许将“寻址信息”或“路由信息”放入SOAP请求的头中 这为什么有用?如果我通过HTTP(甚至通过SMTP或UDP)发送请求,那么我发送到的地址就是将处理我的请求的服务器的地址,服务器可以简单地通过相同的通道进行回复。那么,为什么需要寻址/路由信息呢 我特别感兴趣的是一些真实世界(或多或少)的示

我刚刚开始使用soapweb服务,偶然发现了WS-Addressing

我已经阅读了,但是我很难理解WS-Addressing的意义

根据Wikipedia和web上的各种来源,WS-Addressing允许将“寻址信息”或“路由信息”放入SOAP请求的头中

这为什么有用?如果我通过HTTP(甚至通过SMTP或UDP)发送请求,那么我发送到的地址就是将处理我的请求的服务器的地址,服务器可以简单地通过相同的通道进行回复。那么,为什么需要寻址/路由信息呢


我特别感兴趣的是一些真实世界(或多或少)的示例,其中WS-Addressing非常有用。

我发现WS-Addressing在无法立即提供SOAP响应的情况下特别有用。要么形成响应的资源无法立即使用,要么结果本身需要很长时间才能生成

例如,当您的业务流程涉及“人的接触”时,可能会发生这种情况(如目标流程)。您可以将web服务放在业务的前面,但有时业务需要时间。它可能是一个必须手动验证的订阅,需要批准的东西,不管怎样,但需要几天才能完成。你要一直保持连接打开吗?除了等待答复,你什么也不做吗?不这是低效的

您需要的是一个通知流程。客户端发出请求,但不等待响应。相反,它使用“回复到”地址指示服务器将响应发送到何处。一旦响应可用,服务器将连接到该地址并发送响应

web服务之间的异步交互,将通信过程的生存期与HTTP连接的生存期分离。非常有用

但是等等。。。HTTP连接?我为什么要关心这个?如果我希望通过另一种协议返回响应,该怎么办?(SOAP善意地提供了它,因为它不受任何协议的约束)

在正常的请求/响应流中,响应与请求在同一个通道上,因为这是一个您知道的连接。。。。例如,您有一个HTTP连接。。。这意味着HTTP输入和HTTP输出

但是有了WS-Addressing,您就不必拘泥于此您可以在其他类型的频道上请求响应。例如,请求来自HTTP,但您可以指示服务器通过SMTP将响应发送回

通过这种方式,WS-Addressing定义了标准方法 通过多个传输路由消息。正如人们所说:

而不是依靠网络级传输来传递路由信息, 利用WS-Addressing的消息可以在标准化SOAP头中包含自己的调度元数据

至于你的观察:

服务器可以简单地通过相同的通道进行回复

。。。对某些人有效的可能对其他人无效,而对其他人,我们有WS-Addressing:D