Soap如何支持异步调用而Rest不支持?

M S*_*ach 6 java rest soap web-services

我在网上通过Soap vs Rest,发现大多数人都说Soap支持异步调用,而Rest没有,但没有得到任何具体的例子.有人可以帮我吗?

这是我所指的资源之一

http://web.archive.org/web/20120421084456/http://www.prescod.net/rest/rest_vs_soap_overview/ http://searchsoa.techtarget.com/tip/REST-vs-SOAP-How-to-选择最好的网络服务 http://seanmehan.globat.com/blog/2011/06/17/soap-vs-rest/

根据我的理解,两者都应该是同步的.在这两种情况下,客户端通过肥皂或休息来调用Web服务,客户端等待响应从服务返回.那么,如果soap支持异步行为而休息不支持呢?

小智 11

REST纯粹是一个基于HTTP传输的呼叫,你会在另一边收到200 OK的响应,

SOAP使用两个品种,

  • HTTP上的同步消息传递
  • HTTP上的异步消息传递

通过同步消息传递,请求者发出请求,传输层代码块等待来自提供者的响应.请求者在请求者最初建立的用于发送请求的相同HTTP连接上接收响应.同步交换通常更容易实现,并要求提供程序能够在短时间内生成响应,特别是在小于HTTP超时值(通常为120秒)的时间内.[使用单个HTTP连接本身表现为同步]

通过异步消息传递,请求者能够在响应者确认请求后释放传输特定资源,并知道最终将收到响应.当提供者完成对消息的处理时,它通过新的HTTP连接将响应发送回请求者.[这里我们利用两个HTTP连接来实现异步消息传递

  • 第一个HTTP连接用于发送请求和接收确认HTTP响应200/OK
  • 第二个HTTP连接用于接收回调和响应HTTP响应200/OK]

Rijoy https://soascribbles.wordpress.com/


Eva*_*tti 5

SOAP 定义了一种允许异步计算的回复方法,如回调机制。您可以使用 REST 实现相同的功能,但没有针对它的规范,因此您必须自己构建它。

下面是一个使用 JAX-WS 2.0演示该功能的示例

我在Wikipedia WS-Addressing 中找到了有用的信息,其中有此W3C 规范的链接。

过去我也在 SAP ESB 设计器中开发,它允许异步服务接口方法。尽管我从未使用过该功能,但该工具完全符合 SOAP 规范,而且我很确定它会像上面的 Java 示例一样工作,因为 WSDL 用于生成基于 JAX-WS 服务器的。如果我下周有时间,我将使用该选项来查看会发生什么并将其张贴在这里。

您还应该检查此答案该答案解决了此方法的相关方面。