Avalados por :

Cómo solucionar el error de transformación en REST adapter: eliminación de caracteres especiales

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

Hello,

we are facing a problem with REST receiver. We are doing the standard transformation in the REST adapter from XML to JSON. Before this we are doing a mapping for some special fields which are causing this error:

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

Does anyone know how we can remove the \ in this payload?

This is the full message after the mapping and after the REST receiver has processed it:

{"CreateIssue_In_MT":{

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

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

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

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

"summary":"Create Issue Test 2",

"description":"Creating of an issue using project keys and issue type names using the REST API",

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

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

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

"customfield_15503":[{"value": "Financial Institutions"}],

"customfield_15528":350,

"customfield_15514":351,

"customfield_15529":352,

"customfield_15523":353,

"customfield_15530":"Sales Organization",

"customfield_15525":"Purchase Order Number",

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

"customfield_15512":"TEST",

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

"customfield_15517":"ABCDE",

"customfield_15504":123456,

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

}

We would need something like this:

{"CreateIssue_In_MT":{

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

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

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

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

"summary":"Create Issue Test 2",

"description":"Creating of an issue using project keys and issue type names using the REST API",

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

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

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

"customfield_15503":[{"value": "Financial Institutions"}],

"customfield_15528":350,

"customfield_15514":351,

"customfield_15529":352,

"customfield_15523":353,

"customfield_15530":"Sales Organization",

"customfield_15525":"Purchase Order Number",

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

"customfield_15512":"TEST",

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

"customfield_15517":"ABCDE",

"customfield_15504":123456,

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

}

Regards
David

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

4 Respuestas

0
Cargando...

Hola,

tienes razón. Reorganicé la estructura de la solicitud JSON como un XML (con más segmentos) y ahora se ve bastante bien.

Saludos

David

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

¡Hola, David!

Suena extraño. La conversión XML-JSON en el adaptador REST funciona bastante bien en la mayoría de los casos. ¿Quizás la estructura XML de destino es incorrecta o la configuración del canal no se ajusta a sus requisitos?

Saludos, Evgeniy.

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

Hola,

Sé a lo que te refieres, pero esto tampoco nos está funcionando porque incluso si construimos el mensaje objetivo en el formato correcto, seguimos enfrentando el problema con las comillas dobles.

El canal REST siempre coloca un doble comilla en la carga útil:

"project": "{\”key\”: \TEXT\”}" pero necesitamos "project": {”key”: “TEXT”} y luego hay campos que están bien después de que el canal se convierte en JSON. Creo que para esto no hay solución en PI.

Además, no puedo escribir JAVA ni XSLT.

Saludos
David

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

¡Hola David!

Francamente, no entiendo por qué construyes tu estructura XML de destino de esta manera.

Puedes construir el mensaje XML de destino utilizando una estructura de árbol y nombres de elementos de acuerdo con tu estructura JSON deseada y permitir que el canal REST convierta ese XML a JSON, o construir el mensaje JSON utilizando mapeo de Java o XSLT y no utilizar ninguna conversión en el canal de comunicación en absoluto.

Saludos, 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?