Utilize o nó MQGet para receber mensagens de clientes que se conectam ao intermediário utilizando o WebSphere MQ Enterprise Transport e as interfaces de programação de aplicativos MQI e AMI.
Você também pode utilizar o nó MQGet para recuperar mensagens que foram colocadas anteriormente em uma fila de mensagens do WebSphere MQ definida para o gerenciador de filas do intermediário.
Este tópico contém as seguintes seções:
O nó MQGet lê uma mensagem a partir de uma fila especificada e estabelece o ambiente de processamento para a mensagem. Se apropriado, você pode definir a fila de entrada como uma fila em cluster ou fila compartilhada do WebSphere MQ.
Você pode utilizar um nó MQGet em qualquer lugar dentro de um fluxo de mensagens, diferentemente de um nó MQInput, que você pode utilizar apenas como o primeiro nó em um fluxo de mensagens. A árvore de mensagens de saída de um nó MQGet é construído pela combinação da árvore de entrada com a árvore de resultados a partir da chamada de MQGET. Você pode definir as propriedades do nó MQGet para controlar o modo no qual as mensagens são recebidas; por exemplo, você pode indicar que uma mensagem seja processada no controle de transação ou você pode pedir que, quando a árvore de resultado estiver sendo criada, a conversão de dados seja executada no recebimento de cada mensagem de entrada.
O nó MQGet está contido no repositório da paleta do WebSphere MQ e é representado no ambiente de trabalho pelo seguinte ícone:
Quando tiver colocado uma instância do nó MQGet em um fluxo de mensagens, será possível configurá-lo; para obter informações adicionais, consulte Configurando um Nó do Fluxo de Mensagens. As propriedades do nó são exibidas na visualização Propriedades. Para exibir as propriedades do nó no diálogo Propriedades, dê um clique duplo no nó ou clique com o botão direito no nó e clique em Propriedades.
Todas as propriedades obrigatórias para as quais é necessário digitar um valor (aquelas que não têm um valor padrão definido) são marcadas com um asterisco.
Configure o nó MQGet.
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type> <Fmt>XML</Fmt></mcd>
Se você definir valores e estes valores forem diferentes dos valores no cabeçalho MQRFH2, os valores no cabeçalho MQRFH2 terão precedência.
Deixe Conjunto de Mensagens em branco para os analisadores XML, XMLNS, XMLNSC, JMS MIME e BLOB.
Deixe Tipo de Mensagem em branco para os analisadores XML, XMLNS, XMLNSC, JMS, IDOC, MIME e BLOB.
Deixe Formato de Mensagem em branco para os analisadores XML, XMLNS, XMLNSC, JMS, MIME e BLOB.
Se você alterar esse valor para Imediato (Immediate), a análise parcial será substituída e tudo o que estiver na mensagem será analisado e validado, exceto aqueles tipos complexos com uma composição de Opção (Choice) ou Mensagem (Message) que não possam ser resolvidos no momento. Se você alterar esse valor para Completo (Complete), a análise parcial será substituída e tudo que estiver na mensagem será analisado e validado; tipos complexos com uma composição de Opção (Choice) ou Mensagem (Message) que não podem ser resolvidos no momento causam falha de validação.
Você pode digitar qualquer referência de campo ESQL válida (essa referência pode incluir expressões), incluindo novas referências de campo para criar um novo nó na árvore de mensagens para inserir a resposta na mensagem propagada da árvore de entrada. Por exemplo, OutputRoot.XMLNS.ABC.DEF e Environment.GotReply são referências de campo válidas. Para obter informações mais detalhadas, consulte Um Cenário de Pedido/Resposta Utilizando um Nó MQGet.
Quando a cadeia de bits da mensagem de fila for analisada para criar o conteúdo da árvore de mensagens, as propriedades da mensagem especificadas como as propriedades de Análise de Mensagem de Entrada do nó serão utilizadas.
Você pode digitar qualquer referência de campo ESQL válida (consulte a descrição da propriedade Local dos Dados de Saída ). Os dados colocados neste local são sempre a árvore de resultados completa, com o corpo como um elemento BLOB. A opção Local dos Dados de Resultado não é utilizada para dados de aviso.
Para obter detalhes adicionais, consulte Validando Mensagens e Propriedades de Validação.
Quando você incluir e configurar um nó MQGet em um fluxo de mensagens, poderá desejar substituir suas propriedades sob algumas condições. Por exemplo, você pode desejar ler a partir de uma fila que é identificada em outra parte da mensagem ou que é recuperada a partir de um registro do banco de dados.
Para substituir os valores configurados para as propriedades do nó MQGet para obter uma maneira mais dinâmica de processar mensagens, inclua um nó Compute ou JavaCompute em seu fluxo de mensagens antes do nó MQGet. Configure este nó para criar uma nova mensagem de saída e inclua campos na árvore LocalEnvironment para definir novos valores para as propriedades que deseja alterar.
Por exemplo, inclua um nó Compute no fluxo e defina um novo nome de fila para o nó MQGet para ler mensagens, incluindo a seguinte instrução ESQL:
SET LocalEnvironment.MQ.GET.QueueName = 'new_queue';
Use LocalEnvironment.MQ.GET. como o nome de correlação para todos os campos relacionados ao nó MQGet.
Conecte os terminais Out, Warning, Failure e No Message desse nó a outro nó no fluxo de mensagens para processar a mensagem depois, processar erros ou enviar a mensagem a um destino adicional.
Para obter informações adicionais, consulte o Conectando Terminais com Falha.
Os terminais do nó MQGet são descritos na tabela a seguir.
Terminal | Descrição |
---|---|
In | O terminal de entrada que aceita a mensagem que está sendo processada pelo fluxo de mensagens. |
Warning | O terminal de saída ao qual a árvore de saída é propagada se ocorrer um erro (com um CC que indica um aviso) no nó ao tentar obter uma mensagem da fila. A parte MQMD da mensagem é analisada, mas o restante da mensagem será um elemento BLOB não analisado. O aviso é descartado se o terminal não for conectado e não houver nenhuma propagação da saída a partir do nó. |
Failure | O terminal de saída ao qual a mensagem de entrada é roteada se ocorrer um erro (com um CC que indica um erro mais grave do que um aviso) no nó ao tentar obter uma mensagem da fila. |
Out | O terminal de saída para o qual a mensagem será roteada se for recuperada com êxito da fila do WebSphere MQ. |
No Message | O terminal de saída para o qual a mensagem de entrada será roteada se nenhuma mensagem estiver disponível na fila. A mensagem de saída que é propagada para o terminal No Message é construída só a partir da mensagem de entrada, de acordo com os valores das propriedadesModo Gerar, Copiar Mensagem e Copiar Ambiente Local. |
As tabelas a seguir descrevem as propriedades do nó. A coluna com cabeçalho M indica se a propriedade é obrigatória (marcada com um asterisco se você precisar inserir um valor); a coluna com cabeçalho C indica se a propriedade é configurável (você pode alterar o valor quando incluir o fluxo de mensagens no arquivo BAR para implementá-lo).
As propriedades Descrição do nó MQGet são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Nome do Nó | Não | Não | O tipo de nó, MQGet | O nome do nó. |
Descrição Breve | Não | Não | Em Branco | Uma breve descrição do nó. |
Descrição Longa | Não | Não | Em Branco | Texto que descreve a finalidade do nó no fluxo de mensagens. |
As propriedades Básicas do nó MQGet são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Nome da Fila | Sim | Sim | Nenhum(a) | O nome da fila de mensagens do WebSphere MQ a partir da qual este nó recupera mensagens. |
As propriedades de Análise de Mensagem de Entrada do nó MQGet são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Domínio de mensagem | Não | Não | Nenhum | O domínio utilizado para analisar a mensagem de fila. |
Conjunto de Mensagens | Não | Não | Nenhum(a) | O nome ou identificador do conjunto de mensagens no qual a mensagem de fila está definida. |
Tipo de mensagem | Não | Não | Nenhum(a) | Nome do mensagem de fila. |
Formato de Mensagem | Não | Não | Nenhum(a) | O nome do formato físico da mensagem de fila. |
As propriedades Opções de Analisador do nó MQGet são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Cronometragem de análise (Parse timing) | Não | Não | On Demand | Essa propriedade controla quando a mensagem de fila é analisada. Os valores
válidos são On
Demand,
Imediato e
Completo. Para obter uma descrição completa desta propriedade, consulte Analisando On Demand. |
Utilizar analisador compacto MQRFH2C para domínio MQRFH2 | Não | Não | Não Selecionada | Esta propriedade controla se o Analisador Compacto MQRFH2C é utilizado para cabeçalhos MQRFH2 em vez do analisador MQRFH2. |
Utilizar analisador compacto XMLNSC para domínio XMLNS | Não | Não | Não Selecionada | Essa propriedade controla se o Analisador Compacto XMLNSC (XMLNSC Compact Parser) é utilizado para mensagens no Domínio XMLNS (XMLNS Domain). Se você definir essa propriedade, os dados da mensagem serão exibidos em XMLNSC nos nós que estão conectados ao terminal de saída quando o Domínio de Mensagens das propriedades de cabeçalho MQRFH2 de entrada ou Análise da Mensagem de Entrada for XMLNS. |
Reter conteúdo misto | Não | Não | Não Selecionada | Essa propriedade controla se o analisador XMLNSC cria elementos na árvore de mensagem quando ele encontra texto misto na mensagem mensagem de fila. Se você selecionar a caixa de opções, serão criados elementos para texto misto. Se você desmarcar a caixa de opções, texto misto será ignorado e nenhum elemento será criado. |
Reter comentários | Não | Não | Não Selecionada | Essa propriedade controla se o analisador XMLNSC cria elementos na árvore de mensagens quando ele encontra comentários na mensagem mensagem de fila. Se você selecionar a caixa de opções, serão criados elementos para comentários. Se você desmarcar a caixa de opções, comentários serão ignorados e nenhum elemento será criado. |
Reter instruções de processamento | Não | Não | Não Selecionada | Essa propriedade controla se o analisador XMLNSC criar elementos na árvore de mensagens quando ele encontra instruções de processamento na mensagem de fila. Se você selecionar a caixa de opções, serão criados elementos para instruções de processamento. Se você desmarcar a caixa de opções, instruções de processamento serão ignoradas e nenhum elemento será criado. |
As propriedades Avançadas do nó MQGet são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Modo de Transação | Não | Não | Sim | Esta propriedade controla se a mensagem que chega é recebida no ponto de sincronização. Os valores válidos são Automático, Sim e Não. |
Gerar modo | Não | Não | Mensagem | Essa propriedade controla quais partes da mensagem da árvore de entrada são copiadas. Os valores válidos são Mensagem, Ambiente Local, Mensagem e Ambiente Local e Nenhum. |
Copiar mensagem | Não | Não | Nenhuma | Essa propriedade controla quais partes da mensagem da árvore de entrada são copiadas. Os valores válidos são Nenhum, Copiar Cabeçalhos e Copiar Toda a Mensagem. |
Copiar ambiente local | Não | Não | Copiar Todo o Ambiente Local | Essa propriedade controla como o ambiente local
é copiado para a mensagem de saída. Se você configurar para Copiar
LocalEnvironment Inteiro, é criada na árvore, em cada nó do fluxo de mensagens, uma nova cópia do ambiente local e ela é preenchida com o conteúdo do ambiente local a partir do nó anterior.
Portanto, se o nó alterar o ambiente local, os nós de envio de dados não verão essas alterações, porque eles
têm suas próprias cópias.
Esse comportamento pode ser um problema
se você estiver utilizando um nó FlowOrder,
ou se você utilizar o comando propagate em um nó Compute. Se você configurar essa propriedade para Nenhum, cada nó não gera sua própria cópia do ambiente local, mas utiliza o ambiente local que é transmitido a ele pelo nó anterior. Portanto, se um nó alterar o ambiente local, essas alterações serão vistas pelos nós de envio de dados. |
Intervalo de espera (Wait interval (ms)) | Sim | Não | 1000 | O tempo máximo, em milissegundos, para aguardar a obtenção da mensagem de fila da fila de mensagens. |
Tamanho mínimo do buffer de mensagens (KB) | Sim | Não | 4 | O tamanho mínimo, em KB, do buffer de obtenção. O valor mínimo dessa propriedade é 1. |
As propriedades Pedido do nó MQGet são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Local de MQMD de entrada | Não | Não | O local na montagem da mensagem de entrada em que o MQMD que deve ser utilizado para MQGET pode ser encontrado. O local padrão é InputRoot.MQMD. | |
Local de parâmetros MQ de entrada | Não | Não | O local na montagem da mensagem de entrada em que os parâmetros WebSphere MQ (por exemplo, o tamanho de buffer inicial e o MQGMO são substituídos) podem ser localizados. O local padrão é InputLocalEnvironment.MQ.GET. | |
Obter por ID de correlação | Não | Não | Não Selecionada | Se você selecionar essa caixa de opções, apenas as mensagens que tiverem o ID de correlação especificado serão recuperadas. |
Obter por ID de mensagem | Não | Não | Não Selecionada | Se você selecionar essa caixa de opções, apenas as mensagens que tiverem o ID de mensagem especificado serão recuperadas. |
Utilizar Entrada Completa de MQMD | Não | Não | Não Selecionada | Se você selecionar essa caixa de opção, todos os campos de MQMD fornecidos serão utilizados; caso contrário, somente o ID de mensagem e o ID de correlação serão utilizados. |
As propriedades Resultado do nó MQGet são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Local de dados de saída | Não | Não | OutputRoot | Essa propriedade especifica onde os dados de saída são colocados. Se você deixar o campo em branco, OutputRoot será utilizado como padrão. |
Local de dados de resultado | Não | Não | ResultRoot | Esta propriedade especifica qual subárvore (da mensagem de fila) utilizar. Se você deixar essa campo em branco, ResultRoot será utilizado como padrão, e a mensagem de fila inteira será utilizada. Se, por exemplo, ResultRoot.MQMD.ReplyToQ for especificado, apenas essa subárvore será utilizada. |
Local de parâmetros MQ de saída | Não | Não | Essa propriedade especifica onde os parâmetros de saída do WebSphere MQ estão localizados. Se você deixar esse campo em branco, OutputLocalEnvironment.MQ.GET será utilizado como padrão. Defina o Modo Gerar para incluir LocalEnvironment para garantir que os valores atualizados estejam visíveis nos nós de recebimento de dados. O local padrão é OutputLocalEnvironment.MQ.GET. | |
Local de dados de aviso | Não | Não | OutputRoot | Essa propriedade especifica onde os dados de saída são colocados se MQGET retorna um código de aviso. Se você deixar esse campo em branco, OutputRoot será utilizado como padrão. |
As propriedades Validação do nó MQGet são descritas na tabela a seguir.
Para obter uma descrição completa dessas propriedades, consulte Propriedades de Validação.Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Validate | Não | Sim | Nenhuma | Essa propriedade controla se a validação ocorre. Os valores válidos são Nenhum, Conteúdo, Conteúdo e Valor e Herdar. |
Ação de falha | Não | Não | Exceção | Essa propriedade controla o que acontecerá se a validação falhar. Você pode configurar essa propriedade somente se configurar Validar como Conteúdo ou Conteúdo e Valor. Os valores válidos são Rastreio do Usuário, Registro de Erros Local, Exceção e Lista de Exceções. |
Inclusão de todos Valores de Tipo | Não | Não | Verdadeiro | Não é possível editar essa propriedade. As verificações de limitação de valor básico estão incluídas na validação de Conteúdo e Valor. |
Correção | Não | Não | Nenhuma | Não é possível editar essa propriedade. |