Quando quiser acessar o conteúdo de uma mensagem, para ler ou gravar, utilize a estrutura e a organização dos elementos da árvore que o analisador cria a partir do fluxo de bits de entrada. Siga os relacionamentos entre pai e filho relevantes
do início da árvore para baixo, até chegar no elemento requerido.
A árvore de mensagens é transmitida a um nó JavaCompute como um argumento do método de avaliação. O argumento é um objeto MbMessageAssembly. MbMessageAssembly contém quatro objetos de mensagem:
- Mensagem
- Ambiente Local
- Ambiente Global
- Lista de Exceção
Esses objetos são de leitura, exceto para o Ambiente Global. Se você tentar
gravá-los, uma MbReadOnlyException será emitida.
Este tópico contém informações sobre como acessar elementos em uma árvore de mensagens:
Percorrendo a Árvore de Elementos
Esta tabela mostra os métodos Java que podem ser utilizados para acessar árvores de elementos e o nome de correlação ESQL equivalente para cada ponto da árvore.
Acessador Java de MbMessageAssembly |
nome de
correlação ESQL |
getMessage().getRootElement() |
InputRoot |
getMessage().getRootElement().getLastChild() |
InputBody |
getLocalEnvironment().getRootElement() |
InputLocalEnvironment |
getGlobalEnvironment().getRootElement() |
Ambiente |
getExceptionList().getRootElement() |
InputExceptionList |
Estes métodos podem ser utilizados para percorrer uma árvore de mensagens a partir de um elemento do tipo MbElement:
- getParent()
- retorna o pai do elemento atual
- getPreviousSibling()
- retorna o irmão anterior do elemento atual
- getNextSibling()
- retorna o próximo irmão do elemento atual
- getFirstChild()
- retorna o primeiro filho do elemento atual
- getLastChild()
- retorna o último filho do elemento atual
O exemplo a seguir mostra uma mensagem XML simples e a
árvore lógica que seria criada a partir da mensagem. A mensagem foi enviada utilizando
WebSphere MQ neste exemplo. O diagrama da árvore
lógica também mostra os métodos a serem chamados para navegar pela
árvore.
<document>
<chapter title='Introduction'>
Some text.
</chapter>
</document>

Este código Java acessa
o elemento capítulo da árvore lógica:
MbElement root = assembly.getMessage().getRootElement();
MbElement chapter = root.getLastChild().getFirstChild().getFirstChild();
Acessando Informações sobre um Elemento Utilizando um nó
JavaCompute
Utilize estes métodos para retornar informações sobre o elemento referido.
API do Nó Definido pelo Usuário Java fornece detalhes adicionais sobre os métodos:
- getName()
- retorna o nome do elemento como um java.lang.String
- GetValue()
- retorna o valor do elemento
- GetType()
- retorna o tipo genérico, que é um dos seguintes:
- NAME. Um elemento desse tipo tem um nome, mas nenhum valor.
- VALUE.
Um elemento desse tipo tem um valor, mas nenhum nome.
- NAME/VALUE. Um elemento desse tipo tem um valor e um nome.
- getSpecificType()
- retorna o tipo específico de analisador do elemento
- getNamespace()
- retorna o URI do espaço de nomes desse elemento