1

我是 Axis2 和 SOAP 的新手。我最近在处理一个 Axis2 SOAP 项目,我通过使用 java 和 axis2 实现会话范围创建了一个 SOAP 服务器和 SOAP 客户端。问题是当我发送请求时,它只返回一次响应。我无法让Web 服务 定期发布数据,直到会话结束。有谁能够帮我...

提前致谢

4

2 回答 2

1

我回应 KB22 的响应 - HTTP 具有请求-响应流,因此您的服务正在接收单个请求并发送回单个响应。实现会话范围意味着您有一个逻辑会话,可以将多个请求/响应绑定在一起。你有几个选择:

  • 让客户端等待,直到您将所有数据发送回一个响应。但是,如果这花费的时间太长,您很可能会在客户端上遇到超时问题。
  • 更改您的模型,以便您发送多个请求并分段取回数据。
  • 将您的模型更改为轮询样式,在此您不断发送请求(并接收空响应),直到所有数据都准备好发回。
  • 将您的协议更改为异步协议(例如 JMS),以便您将请求发送到队列,并在稍后的某个时间响应出现在队列中供您的客户端读取。
于 2009-09-04T15:01:32.213 回答
1

我可能是错的,但我认为由于您使用 HTTP,您无法使响应永久化,直到您让您的客户端永久/定期执行调用。

永久请求 --> 永久响应

于 2009-09-04T13:08:41.010 回答