Avalados por :

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

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 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@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?