Custom Wire Format: Relacionamento com o Modelo Lógico

Há algumas restrições para mensagens definidas utilizando um CWF com relação ao modelo lógico que estão tratadas a seguir.

Composição

Uma mensagem CWF é sempre exibida com elementos na seqüência especificada na definição do modelo de mensagem lógica. No entanto, nem sempre é necessário especificar ESQL que constrói os elementos nessa seqüência. As seguintes regras para codificação de ESQL foram especificadas para cada valor para a propriedade Composição do tipo.

Seqüência
Você deve construir a mensagem de saída para corresponder à seqüência de elementos/grupos na mensagem. Normalmente, você faz isso utilizando instruções ESQL SET para designar um valor a cada elemento ou tipo. A primeira instrução SET define o valor do primeiro elemento ou tipo na mensagem, a segunda instrução SET define o valor para o segundo elemento ou tipo, e assim por diante. Você pode variar essa seqüência de instruções utilizando as instruções ESQL ATTACH, CREATE e MOVE.

Se os elementos ou tipos tiverem valores padrão e você não construir a mensagem na seqüência correta, esses elementos construídos fora de seqüência conterão seus valores padrão, não os valores definidos. Isso ocorre porque os elementos construídos fora de seqüência são assumidos como sendo de autodefinição e para o CWF, eles são descartados quando a mensagem é gravada no fluxo de bits.

Conjunto Ordenado
Você deve construir a mensagem de saída para corresponder a seqüência dos elementos na mensagem. Normalmente, você faz isso utilizando instruções ESQL SET para designar um valor a cada elemento. A primeira instrução SET define o valor do primeiro elemento na mensagem, a próxima instrução SET define o valor para o segundo elemento, e assim por diante. Você pode variar essa seqüência de instruções utilizando as instruções ESQL ATTACH, CREATE e MOVE.

Se os elementos tiverem valores padrão e você não construir a mensagem na seqüência correta, esses elementos construídos fora de seqüência conterão seus valores padrão, não os valores definidos. Isso ocorre porque os elementos construídos fora de seqüência são assumidos como sendo de autodefinição e para o CWF, eles são descartados quando a mensagem é gravada no fluxo de bits.

Conjunto Não-Ordenado
Você pode construir elementos da mensagem de saída em qualquer seqüência. Na saída, os elementos serão gravados na ordem especificada na definição do modelo de mensagem lógica.
Todos
Você pode construir elementos da mensagem de saída em qualquer seqüência. Cada elemento deve estar presente apenas uma vez (ou seja, ele não deve se repetir). Na saída, os elementos serão gravados na ordem especificada na definição do modelo de mensagem lógica.
Opção
Uma opção não pode ser resolvida puramente a partir de dados. O programa receptor deve interpretar os dados e decidir qual opção da opção a instância da mensagem contém. Esse processo é conhecido como tratamento de opções não resolvidas.A primeira referência no aplicativo a qualquer um dos elementos da opção resolve a opção para a opção que contém esse elemento.
Mensagem
Em CWF, não existe nenhuma forma de identificar, no fluxo de bits de uma mensagem de entrada, quais mensagens incorporadas aparecem nessa mensagem de entrada. Os mecanismos para a resolução de mensagens incorporadas é discutido no tópico Formato de Ligação Customizado: Mensagens Multipartes .

Validação de Conteúdo

CWF é um formato fixo e todos os elementos devem estar presentes em uma mensagem. Portanto, [Validação de conteúdo] é ignorado. Na saída, todos os elementos devem ser definidos explicitamente (por exemplo, utilizando ESQL SET), definidos implicitamente (utilizando uma função de cópia de árvore) ou devem ter um valor padrão definido.

Valores padrão

Na saída de uma mensagem CWF no domínio MRM, qualquer elemento ou ocorrência de um elemento para o qual um valor não foi definido (explícita ou implicitamente) herda o valor padrão especificado do elemento. Se nenhum valor padrão tiver sido especificado, será emitida uma exceção.

Mín. Ocorrências e Máx. Ocorrências

As propriedades lógicas Mín. Ocorrências e Máx. Ocorrências especificam o número permitido de ocorrências de um elemento ou grupo em uma mensagem. Elas são utilizadas durante a análise e gravação de mensagens e durante a validação do conteúdo de uma mensagem.

No CWF, as ocorrências Máx. Ocorrências são esperadas durante a análise e as ocorrências Máx. Ocorrências são geradas durante a gravação com valores padrão utilizados para elementos ausentes.

No entanto, este comportamento será substituído se estiver configurada a propriedade Referência de Repetição que indica que o número de ocorrências é especificado em vez de um elemento inteiro que ocorre anteriormente na mensagem. Neste caso, Máx. Ocorrências é ignorado.

Na validação, Mín. Ocorrências e Máx. Ocorrências são utilizados para verificar se o conteúdo da árvore de mensagens corresponde ao modelo.

Tipos Simples - Listas e Uniões

Listas e uniões são conceitos específicos de XML. Um elemento ou atributo de um tipo simples que é uma lista ou uma união gerará um aviso da lista de tarefas se um formato físico CWF estiver presente no conjunto de mensagens. O usuário pode escolher se deseja transformar isso em um erro, aviso ou informação, editando as Preferências de Validação. O gerador de dicionário omitirá mensagens definidas para conter tais elementos ou atributos da seção CWF do dicionário.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ad10490_