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
Resultados
Exemplo
- 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>