如何在java / Axis2中创建一个应该保持发布数据的web服务

时间:2009-09-04 13:04:31

标签: web-services axis2

我是Axis2和SOAP的新手。我最近在研究Axis2 SOAP项目,我通过使用java和axis2实现会话范围来创建SOAP服务器和SOAP客户端。问题是当我发送请求时,它只返回一次响应。我无法让网络服务继续发布数据 定期直到会话结束。任何人都可以帮助我......

提前致谢

2 个答案:

答案 0 :(得分:1)

我可能错了,但我认为既然你使用HTTP就无法做到 永久响应,直到您让客户永久/定期执行呼叫。

永久请求 - >永久回应

答案 1 :(得分:1)

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

  • 让客户端等待,直到您在一个响应中发回所有数据。但是,如果这需要太长时间,您可能会在客户端上出现超时问题。
  • 更改您的模型,以便您发送多个请求并将数据分成几部分。
  • 将您的模型更改为轮询样式,您可以继续发送请求(并接收空响应),直到所有数据都准备好发回。
  • 将您的协议更改为异步(例如JMS),以便您将请求发送到队列,稍后会在队列中响应,以便客户端读取。