Esta página é uma introdução à utilização de um nó MQGet em um fluxo de pedido/resposta e descreve como o nó processa as mensagens de entrada (de acordo com o Ambiente Local e parâmetros de entrada configurados) para construir as mensagens de saída.
Um fluxo pedido-resposta entre dois aplicativos permite que um dos aplicativos solicite mensagens do outro. Esse tipo de fluxo é ilustrado no diagrama a seguir:
No diagrama, o Aplicativo Solicitante coloca uma mensagem na fila de entrada "Pedido" do Aplicativo de Resposta. O Aplicativo de Resposta processa a mensagem e envia uma resposta à fila de "Resposta" especificada na mensagem original do Aplicativo Solicitante.
Se um desses aplicativos precisar ser substituído ou aprimorado sem alterações do outro, então, as mensagens precisarão ser transformadas entre os dois aplicativos. Para tal, o Intermediário pode ser inserido entre eles, conforme mostrado no diagrama a seguir:
Agora, um alias de fila, ou um dispositivo similar, é configurado de forma que o Aplicativo Solicitante coloque sua mensagem de pedido na fila de entrada do fluxo de mensagens do Intermediário "Resposta do Pedido Coordenada". No exemplo anterior, essa mensagem era colocada diretamente na fila de entrada do Aplicativo de Resposta. O fluxo "Resposta do Pedido Coordenada" transforma a mensagem em um formato adequado para o Aplicativo de Resposta e transfere a mesma para sua fila de entrada. Também salva os detalhes da fila de resposta do Aplicativo Solicitante original e restaura os mesmos para a mensagem de resposta recebida do Aplicativo de Resposta, de forma que possa ser postada novamente corretamente para o Aplicativo Solicitante.
Um nó MQGet pode ser colocado em qualquer local de um fluxo e recebe em seu terminal de entrada uma árvore de entrada propagada a partir do nó anterior. Em seguida, utiliza a mensagem recuperada da fila configurada do WebSphere MQ para construir uma árvore de resultados. Por fim, utiliza a árvore de entrada e a árvore de resultados para construir uma árvore de saída que é, então, propagada para seu terminal de saída, aviso ou falha, dependendo da configuração do nó e do resultado da operação Get.
Para obter detalhes adicionais sobre como construir um fluxo, consulte a amostra: Amostra Coordinated Request Reply .
O LocalEnvironment propagado do nó anterior é lido e atualizado pelo nó MQGet.
${inputMQParmsLocation} é o valor configurado na Propriedade do Nó MQGet Local dos Parâmetros MQ de Entrada na guia Propriedades do Pedido.
${outputMQParmsLocation} é o valor configurado na Propriedade do Nó MQGet Local dos Parâmetros MQ de Saída na guia Propriedades do Resultado.
Para obter detalhes sobre essas propriedades, consulte Nó MQGet.
O diagrama a seguir mostra de forma um pouco mais detalhada como o nó MQGet constrói o MQMD a ser utilizado na chamada para o WebSphere MQ:
O diagrama a seguir esboça como a árvore de mensagens de saída é construída, combinando a árvore de entrada do nó anterior com a árvore de resultados da chamada de MQGet:
A seguir estão alguns exemplos de como as árvores de mensagens são construídas, de acordo com as regras esboçadas acima.
Com uma montagem de mensagem semelhante a esta: | A mensagem retornada por MQGet é: |
---|---|
|
![]()
![]() |
Com as seguintes configurações: | A montagem de mensagem de saída resultante é: |
---|---|
|
|
|
Esta árvore é efetivamente o resultado de uma designação de ${resultDataLocation} a ${outputDataLocation}. O valor do elemento de origem é copiado, pois são todos filhos, incluindo atributos. |
|
Esta árvore tem o MQMD utilizado para get no OutputLocalEnvironment, porque o local de parâmetros de entrada do MQ continha um elemento MQMD. Mesmo que a árvore de entrada não seja copiada, a presença do elemento MQMD faz com que o MQMD utilizado para get ser colocado na árvore de saída. |
|
A configuração de copyMessage neste caso não faz diferença para a eventual árvore de saída. |