sle*_*ske 28 soap web-services ws-addressing
我刚刚开始使用SOAP Web服务,偶然发现了WS-Addressing.
我已阅读维基百科页面,但我很难理解WS-Addressing的重点.
根据维基百科和Web上的各种来源,WS-Addressing允许将"寻址信息"或"路由信息"放入SOAP请求的标头中.
为什么这有用?如果我通过HTTP(或甚至通过SMTP或UDP)发送请求,那么我发送到的地址是将处理我的请求的服务器的地址,并且服务器可以简单地通过相同的通道进行回复.那么为什么需要寻址/路由信息呢?
我对一些真实世界(或多或少)WS-Addressing有用的例子特别感兴趣.
小智 67
我发现WS-Addressing在无法立即提供SOAP响应的情况下特别有用.要么形成响应的资源不能立即使用,要么结果本身需要很长时间才能生成.
例如,当您的业务流程涉及"人性化"时(例如WS-HumanTask所针对的流程),就会发生这种情况.您可以在业务前坚持使用Web服务,但有时业务需要时间.它可能是必须手动验证的订阅,需要批准的东西,无论如何,但它需要数天才能完成.你打算一直打开连接吗?除了等待回复,你还会做什么吗?没有!这是低效的.
您需要的是通知流程.客户端发出请求但不等待响应.它通过使用"回复"地址指示服务器在何处发送响应.响应可用后,服务器将连接到该地址并发送响应.
瞧...... Web服务之间的异步交互,将通信进程的生命周期与HTTP连接的生命周期分离开来.很有用...
但是等等...... HTTP连接?我为什么要关心这个?如果我希望将响应发送回另一种类型的协议怎么办?(由于它不依赖于任何协议,因此SOAP提供了这种方式).
在正常的请求/响应流程中,响应与请求相同的通道出现'因为它是您知道的连接....例如,您有一个HTTP连接......这意味着HTTP输入和HTTP输出.
但是使用WS-Addressing你并不依赖于它.您可以在其他类型的频道上请求响应.例如,请求来自HTTP,但您可以指示服务器通过SMTP发回响应.
通过这种方式,WS-Addressing定义了通过多个传输路由消息的标准方法.正如维基页面所说:
利用WS-Addressing的消息可以在标准化SOAP头中包含其自己的分派元数据,而不是依靠网络级传输来传送路由信息.
至于你的观察:
并且服务器可以简单地通过相同的频道进行回复
...对某些人有用,对其他人有用,对于其他人我们有WS-Addressing:D.
| 归档时间: |
|
| 查看次数: |
9935 次 |
| 最近记录: |