Update 10 de julio de 2020 - Se agregó funcionalidad para convertir números a cadena utilizando el parámetro NUM_TO_STRING.
Introdução:
Recientemente estaba intentando converter XML em JSON no formato abaixo no SAP 7.4 e também tentando remover algumas tags da estrutura XML e forçar alguns nós como um Array JSON.
[
{
record : [
{ key1: value1 }
]
},
{
record : [
{ key1: value1 },
{ key1: value2 }
]
}
]
É possível converter facilmente XML em JSON no canal REST. No entanto, há muitas restrições no SAP PI/PO.
Além disso, no SAP PO 7.5 é possível remover facilmente um nome de chave listando as tags em 'setIgnoredElements' no canal receptor REST. No entanto, essa liberdade não está disponível nas versões do SAP PI 7.4 e anteriores. O bean
Conversão personalizada de XML em JSON
também não ajuda muito aqui, especialmente se deseja remover um nó da estrutura JSON. Portanto, implementei um Mapeamento Genérico de Java que pode ser usado para alcançar isso e muitas outras tarefas.
Este blog se concentra na conversão de XML em JSON usando o Mapeamento de Java e também fornece a liberdade para brincar com a estrutura.
Isso pode ser usado em qualquer versão do SAP PI/PO.
Benefícios de usar este Mapeamento:
-
Converte XML em JSON
-
Força a conversão de JSONObject em JSONArray
-
Oculta os nomes das tags na estrutura JSON
-
Remove o par chave e valor de uma estrutura JSON
-
Remove as tags iniciais na estrutura JSON
-
Converte a tag raiz JSON em Array
-
Converte números em strings
São fornecidos exemplos mais adiante após a seção de implementação.
Implementação:
Passo 1
:- Obtenha o arquivo JAR de Mapeamento de JAVA
Pode baixar diretamente o arquivo zip de
aqui
e descompactá-lo.
Este zip contém 2 arquivos JAR. Importe os 2 arquivos jar no SAP ESR como Arquivos Importados.
Observe que o mapeamento de Java utiliza a biblioteca java org.json.XML para converter XML em JSON, então se não estiver em sua biblioteca SAP, receberá o erro 'org.json.XML' faltando. Portanto, importe também o arquivo jar orgXmlJson.
Passo 2:-
Utilize o mapeamento de Java em seu mapeamento de operações
Passo 3:-
Defina os 5 parâmetros de importação no