从Web服务中调用Web服务而不是等待响应

时间:2013-03-27 13:16:12

标签: java web-services spring rest

作为网络服务的一部分说A,我需要打电话给另一个网络服务说B。

给予A的呼叫者的响应不应该依赖于B,即它应该将响应返回给呼叫者,而不管B的结果如何,考虑到B可能需要一些时间。

呼叫A和B的系统都不同。我如何实现这一目标?

注意:使用RESTful web-services / Java

3 个答案:

答案 0 :(得分:3)

客户端应异步调用 Web Service A 操作。

Web服务也应该异步调用 Web Service B 操作。

这样,无论 Web Service B 的结果如何,客户端都将始终收到响应。

大多数REST框架已经具有异步调用支持:

答案 1 :(得分:0)

答案 2 :(得分:0)

根据给定的要求,

从客户端到服务A的呼叫可以是您的情况下的同步Restful呼叫。 从服务A到服务B的呼叫是异步的。

因此,请像往常一样在客户端与服务A之间使用restful连接。

在致电服务A的情况下 - >您需要使用的服务B,JMS概念,请求请求和响应队列。请参考http://docs.oracle.com/cd/E14571_01/web.1111/e15184/asynch.htm 这些通常实现为2个单向请求。