Validando Mensagens

O intermediário fornece validação com base nos dicionários de mensagens para mensagens predefinidas.

A validação, portanto, se aplica apenas às mensagens que você modelou e definiu para o domínio MRM. As opções de validação se aplicam ao corpo da mensagem e não influenciam os cabeçalhos da mensagem.

O intermediário não fornece nenhuma validação para mensagens de autodefinição.

Os fluxos de mensagens são projetados para transformar e rotear mensagens que estão de acordo com determinadas regras. Por padrão, o analisador MRM valida uma mensagem, mas apenas para assegurar a integridade da operação de análise. No entanto, também é possível validar uma mensagem rigorosamente no modelo de mensagens contido no dicionário de mensagens, especificando opções de validação em determinados nós no fluxo de mensagens.

Você pode utilizar opções de validação para validar as seguintes mensagens:

Essas opções de validação podem garantir a validade de dados que estão entrando e saindo do fluxo de mensagens. As opções fornecem algum grau de controle sobre a validação executada para:

Você pode especificar também qual ação deve ser executada quando ocorrer uma falha na validação.

A validação de mensagens envolve a navegação por uma árvore de mensagens e a verificação de sua validade. É uma extensão da criação da árvore quando a mensagem é analisada, e uma extensão da criação do fluxo de bits quando a mensagem de saída é gravada.

Início da mudançaAs opções de validação estão disponíveis nos nós MQInput, Compute e Mapping:Fim da mudança

Nó MQInput
A mensagem de entrada é validada quando é analisada e a árvore de mensagens é criada a partir do fluxo de bits. Você pode especificar se toda a mensagem deve ser analisada e validada neste momento (Sincronização = Concluído), ou se campos individuais na mensagem serão analisados e validados apenas quando referidos (Sincronização = Adiado).

A amostra Airline mostra como funciona a validação de mensagens no nó de entrada.

Nós Compute e Mapping
As mensagens criadas pelos nós Compute ou Mapping podem ser validadas quando o fluxo de bits das mensagens é criado a partir da árvore de mensagens. Isso significa que mesmo que as opções de validação sejam especificadas nos nós Compute ou Mapping, a mensagem não será validada até que seja gravada em um fluxo de bits por um nó de saída subseqüente.

Isso tem as seguintes implicações:

  • Se uma árvore de mensagens criada por um nó Compute ou Mapping for transmitida como entrada para um segundo nó Compute ou Mapping, as opções de validação serão perdidas. Quaisquer árvores de mensagens criadas pelo segundo nó possuem as opções de validação especificadas pelo segundo nó, mesmo que toda a mensagem seja copiada.
  • Quando o fluxo de bits for gravado e as opções de validação aplicadas, toda a mensagem será validada. É possível que a árvore de mensagens contenha um tipo não resolvido (por exemplo, se um nó Compute tiver copiado um tipo não resolvido de uma mensagem de entrada para uma mensagem de saída sem resolvê-lo). Se tal tipo for encontrado, ocorrerá um erro de validação porque não é possível validar o tipo. Para evitar isso, assegure que todos os tipos não resolvidos sejam resolvidos antes de serem copiados para mensagens de saída.
Por padrão, ocorre uma quantidade limitada de validação, se você deixar as definições de validação inalteradas. Nesse nível padrão, será emitida uma exceção se uma das seguintes condições for aplicável:
  • Os limites de cadeia de Comprimento Mínimo ou Comprimento Máximo forem ultrapassados
  • Houver uma incompatibilidade de dados na qual, por exemplo, o analisador não puder interpretar os dados fornecidos para o tipo de campo especificado
  • A ordem de elementos na mensagem de saída não corresponder à ordem na árvore de mensagem lógica (apenas comprimento fixo de TDS e ambientes CWF)

No entanto, você pode solicitar uma validação mais completa de mensagens. Por exemplo, talvez você queira validar uma ou mais das seguintes condições e lançar uma exceção ou registrar os erros:

Para obter informações sobre como é possível controlar a validação, utilizando diferentes propriedades, consulte Propriedades de Validação.

Conceitos relacionados
Fluxos de Mensagem

Tarefas relacionadas
Projetando um Fluxo de Mensagens
Criação de um Fluxo de Mensagens
Definindo o Conteúdo do Fluxo de Mensagens

Referências relacionadas
Nós Internos
Propriedades de Validação para Mensagens no Domínio MRM