使用 JAX-WS 异步响应侦听器
Java™ API for XML-based Web Services (JAX-WS) 包含异步响应侦听器,该侦听器在 JAX-WS 瘦客户机和应用程序客户机环境中使用,以接收异步调用的请求的响应。
开始之前
JAX-WS 支持使用回调或轮询模型以通过异步客户机调用来调用 Web Service。回调模型和轮询模型在 Dispatch client 和 Dynamic proxy client 上可用。当 JAX-WS 客户机使用异步客户机调用时,异步响应侦听器将接收响应。要了解如何使用异步客户机调用模型,请阅读关于通过异步方式调用 JAX-WS Web Service 的内容。
关于此任务
在 Web Service 客户机中使用异步响应侦听器来处理入局异步响应。可以在 JAX-WS 瘦客户机环境和应用程序客户机环境中使用此侦听器。缺省情况下,此侦听器打开随机端口以侦听异步响应,或者您可以根据情况对要使用的侦听器配置特定端口。将 JAX-WS 客户机配置为期望异步响应时,此侦听器将在 JAX-WS 运行时中自动启动。
有两个版本的异步响应侦听器。异步响应侦听器的非安全版本支持 HTTP 协议,而异步响应侦听器的安全版本支持 HTTPS 协议。将根据 JAX-WS 客户机所使用的特定传输来自动启动正确的异步响应侦听器。要确保在异步响应侦听器和应用程序服务器之间进行正确的安全套接字层 (SSL) 握手,请使用 SSL 传输策略或 Java 系统属性来配置 SSL 属性。
对于在应用程序服务器环境中运行的 Web Service 客户机,请使用异步响应 servlet 来接收异步响应。
过程
结果
示例
下列示例演示定义定制端口 9999 时如何启用异步响应侦听器:
- 使用以下 Java 命令来配置瘦客户机环境中异步响应侦听器的定制 HTTP 端口:
- java.exe -Dcom.ibm.websphere.webservices.http.listenerPort=9999 com.ibm.websphere.my_program
- 使用以下 launchClient 命令来配置应用程序客户机容器中异步响应侦听器的定制 HTTP 端口:
- launchClient.bat MyClient.ear -CCDcom.ibm.websphere.webservices.http.listenerPort=9999
- 以下内容摘自 HTTPTransport policy binding.xml 文件,此文件包含异步响应侦听器属性:
</wsp:Policy> </wsp:ExactlyOne> </wsp:All> <wshttp:outAsyncResponseProxy> <wshttp:connectInfo host="" port=""></wshttp:connectInfo> <wshttp:basicAuth userid="" password=""></wshttp:basicAuth> </wshttp:outAsyncResponseProxy> <wshttp:properties> <wshttp:customProperty name="com.ibm.websphere.webservices.http.listenerPort" value="9999" /> </wshttp:properties> </wsp:All> </wsp:ExactlyOne> </wsp:Policy>