Usando o Listener de Resposta Assíncrona JAX-WS

A API Java™ API para Serviços da Web baseados em XML (JAX-WS) inclui um listener de resposta assíncrona, que é usado dentro do Thin Client para JAX-WS e de ambientes de cliente de aplicativo para receber respostas para solicitações que são chamadas de forma assíncrona.

Antes de Iniciar

O JAX-WS fornece suporte para chamar serviços da Web usando uma chamada de cliente assíncrona usando um retorno de chamada ou modelo de pesquisa. O modelo de retorno de chamada e o modelo de sondagem estão disponíveis no cliente Dispatch e no cliente de proxy dinâmico. Quando o cliente JAX-WS utiliza uma chamada de cliente assíncrona, as respostas são recebidas pelo listener de resposta assíncrona. Para saber como usar o modelo de chamada de cliente assíncrono, leia sobre como chamar serviços da Web JAX-WS assincronicamente.

Sobre Esta Tarefa

O listener de resposta assíncrona é utilizado em um cliente de serviços da Web para tratar das respostas assíncronas de entrada. É possível utilizar o listener em ambientes Thin Client para JAX-WS e ambientes de aplicativo cliente. Por padrão, o listener abre uma porta aleatória para atender respostas assíncronas ou você pode configurar opcionalmente uma porta específica para que o listener utilize. O listener é iniciado automaticamente no tempo de execução JAX-WS quando o cliente JAX-WS é configurado para esperar uma resposta assíncrona.

Existem duas versões do listener de resposta assíncrona. A versão não segura do listener de resposta assíncrona suporta o protocolo HTTP e a versão segura do listener de resposta assíncrona suporta o protocolo HTTPS. O listener de resposta assíncrona correto é iniciado automaticamente com base no transporte específico utilizado pelo cliente JAX-WS. Para assegurar que ocorra o SSL (Secure Sockets Layer) correto entre o listener de resposta assíncrona e o servidor de aplicativos, configure as propriedades SSL utilizando a política de transporte SSL ou as propriedades do sistema Java.

Para clientes de serviços da Web que executam no ambiente do servidor de aplicativos, use o servlet de resposta assíncrona para receber respostas assíncronas.

Procedimento

  1. Determine se você deseja que o cliente JAX-WS utilize o mecanismo de transporte HTTP ou HTTPS.
  2. Configure o listener de resposta assíncrona para comunicação não segura utilizando o HTTP.

    É possível configurar a porta HTTP para o listener de resposta assíncrona como uma propriedade de sistema Java ou como uma propriedade customizada dentro da política de transporte. As propriedades que são definidas nos arquivos de ligação do conjunto de política substituem qualquer propriedade do sistema Java que possa ter sido definida.

    1. Defina a propriedade com.ibm.websphere.webservices.http.listenerPort como uma propriedade do sistema Java. Se esta propriedade estiver configurada como uma propriedade de sistema Java, então, todos os listeners de resposta assíncronas dentro dessa Java virtual machine serão afetados.
    2. Defina a propriedade com.ibm.websphere.webservices.http.listenerPort nos arquivos de ligações de conjunto de política de transporte Transporte HTTP. Se esta propriedade for configurada como uma propriedade customizada em uma ligação do conjunto de política de transporte, apenas os serviços para os quais o conjunto de política foi configurado serão afetados.
  3. Configure o listener de resposta assíncrona para comunicação segura utilizando o HTTPS.

    É possível configurar a porta HTTPS para o listener de resposta assíncrona como uma propriedade de sistema Java ou como uma propriedade customizada dentro da política de transporte.

    1. Defina a propriedade com.ibm.websphere.webservices.https.listenerPort como uma propriedade de sistema Java. Se esta propriedade estiver configurada como uma propriedade de sistema Java, então, todos os listeners de resposta assíncrona dentro dessa JVM serão afetados.
    2. Defina a propriedade com.ibm.websphere.webservices.https.listenerPort nos arquivos de ligações de conjunto de política de transporte Transporte SSL. Se esta propriedade for configurada como uma propriedade customizada em uma ligação do conjunto de política de transporte, apenas os serviços para os quais o conjunto de política foi configurado serão afetados.

Resultados

O seu cliente de serviços da Web JAX-WS é configurado para usar o listener de resposta assíncrona para receber respostas assíncronas de entrada.

Exemplo

Os exemplos a seguir demonstram como ativar o listener de resposta assíncrona ao definir a porta customizada de 9999:
  • Utilize o seguinte comando Java para configurar a porta HTTP customizada para o listener de resposta assíncrona em um ambiente thin-client:
    - java.exe -Dcom.ibm.websphere.webservices.http.listenerPort=9999 com.ibm.websphere.my_program
  • Use o comando launchClient a seguir para configurar a porta HTTP customizada para o listener de resposta assíncrona em um contêiner do aplicativo cliente:
    - launchClient.bat MyClient.ear -CCDcom.ibm.websphere.webservices.http.listenerPort=9999
  • A seguir está um fragmento de um arquivo HTTPTransport policy binding.xml que inclui as propriedades do listener de resposta assíncrona:
    </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>

O que Fazer Depois

Execute o cliente JAX-WS com as opções do listener de resposta assíncrona especificadas.

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_httpasyncresplist
Nome do arquivo: twbs_httpasyncresplist.html