WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Convertendo Dados em uma Mensagem

É possível converter os dados de uma forma para outra.

Um exemplo típico de requisito para converter os dados é se os itens forem conhecidos em uma mensagem pelo nomes e em outra mensagem pelos números. Por exemplo:

Nome do Tipo       Código do Tipo

Confectionary      2000
Newspapers         3000
Hardware           4000

Considere a seguinte mensagem de entrada:

<Dados>
  <Items>
    <Item>
      <Cat>1000</Cat>
      <Description>Milk Chocolate Bar</Description>
      <Type>Confectionary</Type>
    </Item>
    <Item>
      <Cat>1001</Cat>
      <Description>Daily Newspaper</Description>
      <Type>NewsPapers</Type>
    </Item>
    <Item>
      <Cat>1002</Cat>
      <Description>Kitchen Sink</Description>
      <Type>Hardware</Type>
    </Item>
  </Items>
  <TranslateTable>
    <Translate>
      <Name>Confectionary</Name>
      <Number>2000</Number>
    </Translate>
    <Translate>
      <Name>NewsPapers</Name>
      <Number>3000</Number>
    </Translate>
    <Translate>
      <Name>Hardware</Name>
      <Number>4000</Number>
    </Translate>
  </TranslateTable>
</Data>

Essa mensagem tem duas seções: a primeira seção é uma lista de itens na qual cada item tem um número de catálogo e um tipo; a segunda é uma tabela de conversão entre nomes de tipos descritivos e códigos de tipos numéricos. Inclua um nó Compute na seguinte transformação:

SET OutputRoot.XMLNS.Result.Items.Item[] = 
   (SELECT M.Cat, M.Description, T.Number As Type
     FROM 
       InputRoot.XMLNS.Data.Items.Item[]               As M,
       InputRoot.XMLNS.Data.TranslateTable.Translate[] As T
     WHERE M.Type = T.Name
   );

A seguinte mensagem de saída é gerada:

<Result>
  <Items>
    <Item>
      <Cat>1000</Cat>
      <Description>Milk Chocolate Bar</Description>
      <Type>2000</Type>
    </Item>
    <Item>
      <Cat>1001</Cat>
      <Description>Daily Newspaper</Description>
      <Type>3000</Type>
    </Item>
    <Item>
      <Cat>1002</Cat>
      <Description>Kitchen Sink</Description>
      <Type>4000</Type>
    </Item>
  </Items>
</Result>

No resultado, cada nome de tipo foi convertido em seu código correspondente. Nesse exemplo, os dados e a tabela de conversão estavam na mesma árvore de mensagens, embora isso não seja um requisito. Por exemplo, a tabela de conversão poderia ser codificada em um banco de dados ou pode ter sido configurada no LocalEnvironment por um nó Compute anterior.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:29:59


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | ak05790_