Um Aplicativo Ativado pelo WebSphere MQ Chamando um Serviço da Web

Este cenário representa um aplicativo que utiliza o WebSphere MQ para fazer uma chamada para um serviço da Web enquanto processa uma mensagem. O domínio MIME é utilizado para este exemplo. Um fluxo de mensagens para este cenário e as árvores de mensagens resultantes são especificados abaixo:

Este diagrama mostra um cliente ativado por MQ externo enviando e recebendo mensagens de um fluxo de mensagens. O fluxo de mensagens consiste em um nó MQInput conectado a um nó Compute chamado Compute1. O nó Compute é então conectado a um nó HTTPRequest. O nó HTTPRequest faz um pedido para um serviço da Web externo e recebe a resposta. Em seguida, a mensagem é enviada para um segundo nó Compute chamado Compute2. Este nó é então conectado a um nó MQOutput que retorna uma mensagem de resposta ao cliente MQ.

Quando uma mensagem MIME entra no fluxo de mensagens, o Content-Type e quaisquer outros cabeçalhos MIME de nível superior são armazenados na árvore MIME. O intermediário também armazena uma cópia do Content-Type da mensagem como o valor ContentType na subárvore Propriedades. O diagrama abaixo mostra algumas das árvores de mensagens após uma delas ter saído do nó MQInput:

O diagrama mostra a árvore de mensagens lógicas após a mensagem ter saído do nó MQInput. A raiz da árvore é chamada Root e possui três filhos. Eles são, pela ordem, Properties, MQMD e MIME.

O primeiro nó Compute, Compute1, é utilizado para configurar HTTPRequestHeader se for requerido um. Compute 1 também pode ser utilizado para criar uma nova árvore MIME ou para modificar a árvore MIME existente se o aplicativo intermediário que fornece o serviço da Web precisar de uma mensagem MIME.

Quando o nó HTTPRequest gera uma mensagem de pedido, ele remove o cabeçalho MQMD da árvore de mensagens. Se precisar salvar as informações do MQMD, como MsgId, para utilizar a mensagem de resposta para o cliente MQ, isto pode ser feito de uma das seguintes formas:
  • Compute1 pode salvar os campos requeridos na árvore Ambiente para que o segundo nó Compute, Compute2, possa recriar o MQMD.
  • Compute1 salva os campos requeridos na árvore OutputLocalEnvironment para que Compute2 possa recriar o MQMD. Para isso, Compute1 deve ser configurado para propagar Mensagem e Ambiente Local.
  • Configure o nó HTTPRequest para não substituir a mensagem de entrada pela resposta HTTP. Em vez disso, especifique que a resposta deve ser anexada como OutputRoot.MIME. A árvore de entrada original e o MQMD ainda estão disponíveis, mas Compute2 precisa alterar a árvore antes de transmitir a mensagem para o nó MQOutput. Por exemplo, Compute2 pode remover partes da árvore, como HTTPRequestHeader e HTTPResponseHeader. Para isso, copie apenas as partes da árvore que deseja manter. O ESQL a seguir mostra um exemplo de como fazer isso:
    SET OutputRoot.MQMD = InputRoot.MQMD;
    SET OutputRoot.MIME = InputRoot.MIME;

As propriedades do nó HTTPRequest controlam o conteúdo da árvore de saída.

Os diagramas abaixo mostram a árvore de mensagens antes e depois de fazer a chamada de serviço da Web no nó HTTPRequest:

O diagrama abaixo mostra a árvore de mensagens lógicas como o pedido de serviço da Web que está sendo enviado do nó HTTPRequest. A raiz da árvore é chamada Root e possui três filhos. Eles são, pela ordem, Properties, HTTPRequestHeader e MIME.

O diagrama mostra a árvore de mensagens lógicas quando a mensagem é retornada do pedido de serviço da Web para o nó HTTPRequest. A raiz da árvore é chamada Root e possui quatro filhos. Eles são, pela ordem, Properties, HTTPRequestHeader, HTTPResponseHeader e MIME.

Compute2 é utilizado para criar ou restaurar um MQMD se for requerido um e para organizar a árvore para remover cabeçalhos inapropriados como o HTTPResponseHeader.

Conceitos relacionados
Manipulando Mensagens no Domínio MIME
Detalhes da Árvore MIME
Mensagens MIME
Tarefas relacionadas
Desenvolvendo ESQL
Desenvolvendo Java
Referências relacionadas
Criando um Serviço da Web com HTTP como o Transporte
Criando um Serviço da Web com o WebSphere MQ como o Transporte
Acessando um Aplicativo Ativado pelo WebSphere MQ como um Serviço da Web
Nó HTTPReply
Nó HTTPRequest
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ac30050_