Enviando Mensagens de Serviço da Web Diretamente pelo Barramento de um Cliente JAX-RPC
Use esta tarefa para enviar mensagens do serviço da Web por meio de um barramento redefinindo o destino do cliente JAX-RPC.
Sobre Esta Tarefa
Os aplicativos clientes Java™ API for XML-based Remote Procedure Calls (JAX-RPC) enviam e recebem mensagens de solicitação e resposta de serviços da Web. Os aplicativos clientes JAX-RPC que utilizam o tempo de execução do IBM JAX-RPC podem fazer isso de várias formas diferentes, dependendo das ligações no documento WSDL em que elas são desenvolvidas e dos dados de configuração que são utilizados no tempo de execução.
Para obter uma introdução aos conceitos de programação básicos do JAX-RPC, incluindo os modelos de programação do cliente e servidor JAX-RPC, consulte Introdução ao JAX-RPC.
- Utilize uma ligação SOAP (SOAP sobre HTTP ou SOAP sobre JMS) e transmita as mensagens indiretamente por meio de um listener de nó de extremidade para um serviço de entrada. Você fará isso se tiver rotinas de tratamento JAX-RPC específicas do SOAP que devem ser executadas no contexto do aplicativo cliente.
- Transmita mensagens diretamente para o barramento de integração de serviço em um destino, "reutilizando como alvo" o aplicativo cliente JAX-RPC, conforme descrito neste tópico.
- O espaço de nomes de ligação é definido para indicar que o cliente utiliza o barramento de sistema de mensagens diretamente.
- O endereço do nó de extremidade é definido para incluir o destino específico e (opcionalmente) o formato de mensagens que o cliente utiliza.
- Crie um serviço de saída. Um serviço externo representa um serviço da Web fornecido externamente. Nesse caso, os pedidos do cliente JAX-RPC são transmitidos por meio do destino do serviço e são, então, enviados para o provedor de serviços definido pela configuração do serviço de saída.
- Crie um serviço de entrada. Um serviço de entrada representa um serviço fornecido em algum lugar dentro ou além do barramento de sistema de mensagens. É possível criar um serviço de entrada em qualquer destino existente. A criação de um serviço de entrada associa um tipo de porta WSDL ao destino. Ao reutilizar como alvo um destino com um serviço de entrada, o aplicativo cliente precisa especificar o nome do destino e o nome do serviço de entrada, porque é possível configurar mais de um serviço de entrada em um único destino. Nesse caso, os pedidos do cliente JAX-RPC são transmitidos por meio do destino do serviço e são, então, encaminhados por meio do barramento de integração de serviço dependendo do roteamento que é feito no destino inicial.
Para que as mensagens do serviço da Web sejam enviadas diretamente para um destino usando um cliente JAX-RPC, conclua as seguintes etapas:
Procedimento
- Crie o aplicativo cliente JAX-RPC.
- Crie o serviço de saída ou o serviço de entrada com o qual você deseja que o aplicativo cliente JAX-RPC troque mensagens.
- Use o console administrativo para acessar as informações da porta para o aplicativo cliente JAX-RPC, conforme descrito em Configurando Ligações de Cliente de Serviços da Web e Informações de Porta do Cliente de Serviços da Web.
- Substitua a ligação SOAP padrão para o aplicativo cliente JAX-RPC. Altere o espaço de nomes da ligação para http://www.ibm.com/ns/2004/02/wsdl/mp/sib
- Substitua o terminal que o aplicativo cliente JAX-RPC usa para enviar pedidos de serviços da Web. O novo nó de extremidade deve utilizar sib: sintaxe de URL e incluir o nome de destino do serviço de saída ou o nome do serviço de entrada e seu nome de destino correspondente.
O que Fazer Depois
Depois de alterar o espaço de nomes de ligação, as listas de rotinas de tratamento JAX-RPC que foram configuradas para a porta redirecionada serão ignoradas. Para clientes que são desenvolvidos no WSDL com uma ligação SOAP, a reutilização como alvo diretamente para o barramento faz com que as rotinas de tratamento sejam ignoradas. No entanto, se o cliente for desenvolvido no WSDL sem ligação para o serviço, a reutilização como alvo para o barramento não será considerada para alterar o espaço de nomes de ligação e, portanto, as informações da rotina de tratamento serão mantidas. Nesse caso, as rotinas de tratamento JAX-RPC serão chamadas com a subclasse SDOMessageContext.
Informações de referência associadas: