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

Trabalhando com Dados Binários

Se for necessário incluir dados binários ou caracteres inválidos em seus documentos XML, o método mais seguro é codificar s dados como uma cadeia binária.

Codificações Binárias para XML

Há dois métodos de codificação de dados binários em um documento XML.
hexBinary:	<nonXMLChars>0001020304050607080B0C0E0F</nonXMLChars>

base64Binary:	<nonXMLChars>AAECAwQFBgcICwwODw==</nonXMLChars>

A codificação base64Binary faz melhor utilização dos caracteres XML disponíveis e, na média, um campo binário codificado por base64 tem 2/3 do tamanho de seu hexBinary equivalente. Base64Binary é amplamente utilizado pelo formato MIME e por vários padrões baseados em XML.

Você pode preferir utilizar a codificação hexBinary mais simples se estiver enviando dados a aplicativos que não podem decodificar dados base64 e se o aumento do tamanho da mensagem não for importante.

Analisando Dados Binários

A maneira mais direta de analisar quaisquer dados binários é usar o analisador XMLNSC com um modelo de mensagem:
  1. Localize ou construa um Esquema XML que descreva seu XML de entrada.
  2. No fluxo de mensagens, configure as propriedades do nó da seguinte forma:
    • Na página Padrão, configure Domínio de Mensagem como XMLNSC.
    • Na página Validação, configure Validação para Conteúdo e Valor.
    • Nas propriedades XMLNSC, selecione a caixa de opção Construir Árvore Utilizando Tipos de Esquemas XML.

O analisador XMLNSC decodifica automaticamente os dados hexBinary ou base64Binary, sendo guiado pelo tipo simples do elemento ou atributo que contém dados binários. A árvore de mensagens conterá o valor de BLOB decodificado.

Se estiver utilizando o domínio XMLNS, você deve analisar os dados binários como uma cadeia. Eles aparecerão na árvore de mensagens como um valor CHARACTER. Se os dados estiverem codificados como hexBinary, é possível utilizar a função ESQL CAST para converter um valor de BLOB. Se os dados forem codificados como base64Binary, a abordagem mais fácil será utilizar a função BASE64DECODE. Para obter informações adicionais, consulte Função BASE64DECODE.

Gerando Dados Binários

É possível gerar dados binários em seu XML de saída em codificação hexBinary ou base64Binary.

Para hexBinary, utilize a instrução ESQL CAST para converter seus dados BLOB para uma cadeia hexBinary.

Para base64Binary, há duas opções:
  • Chame a função BASE64ENCODE. Para obter informações adicionais, consulte Função BASE64ENCODE.
  • Utilize o analisador XMLNSC e modifique o campo de tipo do elemento da sintaxe, conforme mostrado neste exemplo:
    -- ESQL code to generate base64-encoded binary data
    DECLARE myBLOB BLOB;
    -- Populate myBLOB with your binary data
    CREATE LASTCHILD OF OutputRoot.XMLNSC.message
           TYPE BITOR(XMLNSC.Attribute, XMLNSC.base64Binary)
           NAME myBase64Element
           VALUE myBLOB; 

    Observe que configurar o tipo de campo para XMLNSC.base64Binary não altera o valor lógico na árvore de mensagens. No fluxo de mensagens, ainda é um BLOB, e se você chamar a representação da cadeia, é reportado como cadeia hexBinary. Entretanto, quando a árvore de mensagens é convertida a um fluxo de bits (em um nó de saída, ou por uma chamada ao ASBITSTREAM ) a conversão base64 é desempenhada autocaticamente, e o XML de saída contém a cadeia base64 correta.

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:28:54


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