【发布时间】:2013-11-20 14:17:57
【问题描述】:
我需要从我的 CXF (JAX WS) Web 服务层向客户端发送异步消息...
客户如何能够接收到它?需要采取哪些步骤来实现这一点?是否有可用的示例教程?
【问题讨论】:
标签: asynchronous jax-ws cxf
我需要从我的 CXF (JAX WS) Web 服务层向客户端发送异步消息...
客户如何能够接收到它?需要采取哪些步骤来实现这一点?是否有可用的示例教程?
【问题讨论】:
标签: asynchronous jax-ws cxf
您有两种选择可以使用 CXF 实现来自客户端的异步调用。
每种解决方案都有优缺点,所以请根据您的需要进行选择。
轮询为您提供一个 Response 对象,您可以通过 response.isDone() 测试调用是否完成。 (如果没有,请稍等,然后发送另一个请求)
回调为您提供了一个包装调用的 Future 对象,您可以定义一个 AsyncHandler 例如,当您调用服务来定义流程完成时将运行的内容。
从服务器端,您应该看看 WS-Addressing(如果需要,为回调定义一个 replyTo 端点)和 WS-POLICY:http://cxf.apache.org/docs/ws-addressing.html
请注意,如果您需要使用回调(似乎是这样),则必须在客户端定义一个 CXF 客户端以启用 WS 寻址(在 cxf 总线上)。
【讨论】: