Transcodificação de uma Matriz de Bytes em uma Carga Útil da Mensagem
Uma mediação pode transcodificar uma matriz de bytes em uma carga útil da mensagem sem alterar o significado da mensagem.
Uma mediação pode reconstruir a carga útil da mensagem a partir de uma matriz de bytes, por exemplo, após a criação do log de uma mensagem. Para reconstruir a mensagem, chame o método createDataGraph fornecido pela API SIDataGraphFactory. Esse método requer uma matriz de bytes e uma sequência de formatações e cria um novo gráfico de dados, analisando os bytes de acordo com o formato passado para o método, conforme mostrado no exemplo a seguir:
DataGraph newDataGraph = SIDataGraphFactory.getInstance().createDataGraph(byteArray, newFormat);
A tabela a seguir descreve as regras para transcodificação de uma matriz de bytes em um gráfico de dados SIMessage.
Argumento de Formato | Condições Prévias | Resultado |
---|---|---|
JMS: | Nenhuma. | Retorna nulo |
JMS:text | java.lang.String(inputBytes, "UTF-8") não resulta em uma exceção. | Retorna uma nova instância de gráfico de dados no formato JMS:text. O valor do gráfico no caminho data/value é igual a java.lang.String(inputBytes, "UTF-8"). |
JMS:bytes | inputBytes não é nulo. | Retorna uma nova instância de gráfico de dados no formato JMS:bytes. O valor do gráfico no caminho data/value é uma cópia da matriz de bytes inputBytes. |
JMS:stream | A matriz de bytes é XML e é válida com respeito ao tipo de JmsStreamBody da definição do esquema XML. | Retorna uma nova instância de gráfico de dados no formato JMS:stream. O valor do gráfico no caminho data/value tem a Lista de Tipos, contendo uma sequência de valores de tipo simples, de acordo com os tipos e valores de cada um dos elementos no documento XML. |
JMS:object | Não nulo Nota: Você deve assegurar-se de que a matriz de bytes seja um objeto serializado válido.
|
Retorna uma nova instância de gráfico de dados no formato JMS:object. O valor do gráfico no caminho data/value é uma cópia da matriz de bytes inputBytes. |
SOAP: | O buffer de bytes contém um SOAP válido com respeito ao modelo WSDL associado. | Retorna um novo gráfico de dados, com sistema de tipos definido pelo WSDL ao qual o buffer de bytes faz referência e com os valores do gráfico definidos pela carga útil do SOAP. |
Bean: | O buffer de bytes contém um Bean válido com respeito ao modelo WSDL associado. | Retorna um novo gráfico de dados, com sistema de tipos definido pelo WSDL ao qual o buffer de bytes faz referência e com os valores do gráfico definidos pela carga útil do Bean. |