¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

¡Acceso SAP S/4HANA desde $100!

Acceso a SAP

Como resolver o erro de transformação no adaptador REST: remoção de caracteres especiais

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 7 Vistas
0
Cargando...

Olá,

estamos enfrentando um problema com o receptor REST. Estamos fazendo a transformação padrão no adaptador REST de XML para JSON. Antes disso, estamos fazendo um mapeamento para alguns campos especiais que estão causando este erro:

"project":{"key": "PLAYCOMPL"},

Alguém sabe como podemos remover a \ neste payload?

Esta é a mensagem completa após o mapeamento e após o receptor REST processá-la:

{"CreateIssue_In_MT":{

"project":{"key": "PLAYCOMPL"},

"issuetype":{"name": "Complaint"},

"resolution":{"name": "Incomplete"},

"priority":{"name": "Major"},

"summary":"Create Issue Test 2",

"description":"Criação de um problema usando chaves de projeto e nomes de tipos de problemas usando a API REST",

"customfield_15513":[{"value": "No"}],

"customfield_15509":[{"value": "TEST"}],

"customfield_15506":[{"value": "TEST"}],

"customfield_15503":[{"value": "Instituições Financeiras"}],

"customfield_15528":350,

"customfield_15514":351,

"customfield_15529":352,

"customfield_15523":353,

"customfield_15530":"Organização de Vendas",

"customfield_15525":"Número do Pedido de Compra",

"customfield_15507":{"name": "teste"}],

"customfield_15512":"TESTE",

"customfield_15527":"2018-01-09",

"customfield_15517":"ABCDE",

"customfield_15504":123456,

"components":[{"name": "TESTE"}]

}

Precisaríamos de algo assim:

{"CreateIssue_In_MT":{

"project":{"key": "PLAYCOMPL"},

"issuetype":{"name": "Complaint"},

"resolution":{"name": "Incomplete"},

"priority":{"name": "Major"},

"summary":"Create Issue Test 2",

"description":"Criação de um problema usando chaves de projeto e nomes de tipos de problemas usando a API REST",

"customfield_15513":[{"value": "No"}],

"customfield_15509":[{"value": "TEST"}],

"customfield_15506":[{"value": "TEST"}],

"customfield_15503":[{"value": "Instituições Financeiras"}],

"customfield_15528":350,

"customfield_15514":351,

"customfield_15529":352,

"customfield_15523":353,

"customfield_15530":"Organização de Vendas",

"customfield_15525":"Número do Pedido de Compra",

"customfield_15507":{"name": "teste"}],

"customfield_15512":"TESTE",

"customfield_15527":"2018-01-09",

"customfield_15517":"ABCDE",

"customfield_15504":123456,

"components":[{"name": "TESTE"}]

}

Cumprimentos
David

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá,

Você está certo. Reorganizei a estrutura da solicitação JSON como um XML (com mais segmentos) e agora parece bem melhor.

Cumprimentos

David

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá, David!

Parece estranho. A conversão XML-JSON no adaptador REST funciona muito bem na maioria dos casos. Talvez a estrutura XML de destino esteja incorreta ou a configuração do canal não atenda aos seus requisitos?

Cumprimentos, Evgeniy.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Eu entendo o que você está dizendo, mas isso também não está funcionando para nós porque mesmo que construamos a mensagem alvo no formato correto, continuamos enfrentando o problema com as aspas duplas.

O canal REST sempre coloca uma aspa dupla na carga útil:

"project": "{\îkey\î: \TEXT\î}" mas precisamos de "project": {îkeyî: ìTEXTî} e depois há campos que estão corretos depois que o canal se converte em JSON. Acredito que não há solução para isso no PI.

Além disso, não sei escrever em JAVA nem XSLT.

Cumprimentos
David

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá David!

Francamente, não entendo por que você está construindo sua estrutura XML de destino dessa maneira.

Você pode construir a mensagem XML de destino usando uma estrutura de árvore e nomes de elementos de acordo com sua estrutura JSON desejada e permitir que o canal REST converta esse XML em JSON, ou construir a mensagem JSON usando mapeamento Java ou XSLT e não utilizar nenhuma conversão no canal de comunicação de todo.

Cumprimentos, Evgeniy.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeconsultor.com

+1 (305) 285-8622

© 2025 Todos los derechos reservados.

Desarrollado por Prime Consultor

¡Hola! Soy Diana, asesora académica de Prime Consultor, indícame en que Academia SAP estás interesado, saludos!
Hola ¿Buscas Academias SAP?