0

我有一个需要在 Web 层处理的异步 Web 服务对。我编写了一个向服务发送查询请求的“请求”服务客户端。客户端收到一个 http '200' 表示服务器已成功接收到消息。

然后我有一个单独的响应侦听器,它是一个接收响应的 Camel/CXF Web 服务。我正在使用 WS-Addressing 消息 ID 来关联请求和响应。

我现在的任务是在 web 层处理这个问题。我希望用户填写表单,单击提交,然后调用 Web 服务。然后我的 CXF Web 服务侦听器会收到响应,查看消息 ID 并将其返回给 Web 层。

使用同步服务,这非常简单。但是,对于异步 Web 服务对,我不知道从哪里开始。我可以使用轮询方法调用 Web 服务,将消息 ID 写入地图,然后轮询地图并等待 Web 侦听器将响应写入地图。但是,我认为有框架支持这一点。

我正在研究 Spring MVC 和 JQuery,因为我认为这是正确的方向,但是在为初学者寻找好的资源时遇到了问题。

有没有人有任何想法?

谢谢,约格什

4

1 回答 1

0

一种方法是编写一个调用出站 Web 服务的 Spring MVC 控制器,并等待接收到入站 Web 服务(即:响应)。您可以通过在等待入站服务时暂停线程并在之后恢复线程来实现此目的。发生这种情况时,您可以在网站上显示某种微调器。所以从浏览器的角度来看,它仍然看起来像一个请求和响应。

但是,根据您的网站流量,这可能是一种低效的方法,因为在您等待入站服务时将使用一个 Web 容器线程。如果您的网站流量很大——并且入站和出站请求之间的延迟很长,您可能会很快用完可用线程并导致网站崩溃。

于 2013-02-01T04:06:00.390 回答