作为web服务A的一部分,我需要调用另一个web服务B。
给A的调用者的响应不应该依赖于B,即它应该将响应返回给调用者,而不管B的结果如何,考虑到B可能需要一些时间。
调用A和B的系统都不同。我该如何实现这一点?
注意:使用Java服务/ RESTful
发布于 2013-03-27 14:58:11
客户端应该异步调用Web服务A操作。
Web服务A也应该异步调用Web服务B操作。
这样,无论Web服务B的结果如何,客户端都将始终收到响应。
大多数REST框架已经支持异步调用:
Resteasy一旦发布,Apache RS2.0将支持asynchronous HTTP.
发布于 2013-03-27 13:22:23
发布于 2013-04-25 12:02:01
根据给定的要求,
从客户端到服务A的调用在您的情况下可以是同步Restful调用。从服务A到服务B的调用是异步的。
因此,像往常一样在客户端到服务A之间使用restful连接。
在调用服务and服务B的情况下,您需要使用->概念,比如请求和响应队列。请参考http://docs.oracle.com/cd/E14571_01/web.1111/e15184/asynch.htm这些通常实现为2个单向请求。
https://stackoverflow.com/questions/15659789
复制相似问题