Custom Wire Format: Relacionamento com o Modelo Lógico

Existem algumas restrições em relação ao modelo lógico para mensagens definidas utilizando o CWF.

Composição

Uma mensagem CWF é sempre gravada com os elementos na seqüência especificada na definição de modelo de mensagem lógica. No entanto, você nem sempre precisa especificar o ESQL ou Java que constrói elementos nessa seqüência. As seguintes regras para codificação de ESQL são especificadas para cada valor da propriedade Composição de tipo.

Seqüência
É necessário construir a mensagem de saída para corresponder à seqüência dos elementos ou grupos na mensagem. Normalmente, isto pode ser feito utilizando instruções ESQL SET para designar um valor a cada elemento ou tipo. A primeira instrução SET configura o valor do primeiro elemento ou tipo na mensagem, a segunda instrução SET configura 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 configurados. Isto ocorre porque os elementos construídos fora de seqüência são assumidos como de autodefinição e, para 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 configura o valor do primeiro elemento na mensagem, a próxima instrução SET configura 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 configurados. Isto ocorre porque os elementos construídos fora de seqüência são assumidos como de autodefinição e, para 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 sã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 sã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 o elemento.
Mensagem
Os mecanismos para a resolução de mensagens integradas são discutidos no tópico Formato de Ligação Customizado: Mensagens Multipartes.

Validação do Conteúdo

CWF é um formato fixo e todos os elementos devem estar presentes em uma mensagem. Portanto, a validação de conteúdo é ignorada. 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 configurado (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. Estas propriedades são utilizadas durante 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. Os valores padrão são utilizados para elementos ausentes e os elementos em excesso serão descartados.

Estas regras surgem porque, em um formato da mensagem CWF, não há tags ou outra marcação que pode ser utilizada para determinar o final de um número variável de repetições.

Entretanto, este comportamento é substituído se a propriedade Referência de Repetição de CWF estiver configurada, o que indica que o número de ocorrências é fornecido em substituição por 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

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:12:08

ad10490_