使用 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 来接收异步响应。

过程

  1. 确定是否希望 JAX-WS 客户机使用 HTTP 或 HTTPS 传输机制。
  2. 配置异步响应侦听器以使用 HTTP 进行非安全通信。

    可以将异步响应侦听器的 HTTP 端口配置为 Java 系统属性或配置为传输策略中的定制属性。在策略集绑定文件中定义的属性将覆盖可能已定义的任何 Java 系统属性。

    1. com.ibm.websphere.webservices.http.listenerPort 属性定义为 Java 系统属性。如果将此属性设置为 Java 系统属性,那么将影响该 Java 虚拟机 (JVM) 中的所有异步响应侦听器。
    2. HTTPTransport 传输策略集绑定文件中定义 com.ibm.websphere.webservices.http.listenerPort 属性。如果将此属性设置为传输策略集绑定中的定制属性,那么将仅影响对其配置了此策略集的服务。
  3. 配置异步响应侦听器以使用 HTTPS 进行安全通信。

    可以将异步响应侦听器的 HTTPS 端口配置为 Java 系统属性或配置为传输策略中的定制属性。

    1. com.ibm.websphere.webservices.https.listenerPort 属性定义为 Java 系统属性。如果将此属性设置为 Java 系统属性,那么将影响此 JVM 中的所有异步响应侦听器。
    2. SSLTransport 传输策略集绑定文件中定义 com.ibm.websphere.webservices.https.listenerPort 属性。如果将此属性设置为传输策略集绑定中的定制属性,那么将仅影响对其配置了此策略集的服务。

结果

JAX-WS Web Service 客户机已配置为使用异步响应侦听器来接收入局异步响应。

示例

下列示例演示定义定制端口 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>

下一步做什么

请使用指定的异步响应侦听器选项来运行 JAX-WS 客户机。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_httpasyncresplist
文件名:twbs_httpasyncresplist.html