Foro

CDATA en WS respons...
 
Avisos
Vaciar todo

El foro de caduceus.es ha sido migrado a meditecs.com. Descubre más sobre el cambio en este post.

🇬🇧 English speaker? Go to Meditecs forums in English!

[Resuelto] CDATA en WS response [Solucionado]

8 Mensajes
2 Usuarios
0 Reacciones
5,820 Visitas
(@gonzalo_mendez_alarcon)
Active Member
Registrado: hace 11 años
Respuestas: 12
Topic starter   [#38]

Hola,

Estoy intentando sacar la información contenida en un CDATA de un mensaje devuelto por un WS Sender.

Cuando se almacena la respuesta del WS no hay manera de ver el CDATA (no lo veo en los mensajes de canal, almacenando en un mapa o almacenando en mi BBDD.

Los "Data types" del destino son Raw en entrada y salida.

¿Alguna idea de cómo sacar esa información del mensaje?



   
(@fjcarrasco)
Miembro Admin
Registrado: hace 13 años
Respuestas: 39
 

Hola, Gonzalo, eso me suena a bug, ¿qué versión de Mirth Connect estás utilizando?

Un saludo.



   
(@gonzalo_mendez_alarcon)
Active Member
Registrado: hace 11 años
Respuestas: 12
Topic starter  

Pues la versión 3.3.0.7801

Ya me dices si puedo solucionar con otra versión.

Gracias.



   
(@fjcarrasco)
Miembro Admin
Registrado: hace 13 años
Respuestas: 39
 

Hola, Gonzalo:

He probado con la versión de Mirth Connect 3.3.1.7856 y parece que, aunque se omiten los CDATA como tales, su contenido sí que se incluye, tanto en los envíos como en las respuestas.

En mi ejemplo, la respuesta del servicio web es la siguiente:

<![CDATA[<recibido><enviado><wbr />toma</enviado></recibido>]]>

Y lo que recibo es:

&lt;recibido&gt;&lt;<wbr />enviado&gt;toma&lt;/enviado&<wbr />gt;&lt;/recibido&gt;

¿Puedes ponerme un ejemplo de qué es lo que tú recibes y de qué es lo que deberías recibir en tu caso?

Un saludo.



   
(@gonzalo_mendez_alarcon)
Active Member
Registrado: hace 11 años
Respuestas: 12
Topic starter  

Este es el mensaje que "recibe" Mirth:

<SOAP-ENV:Fault xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>OSB-103</faultcode>
<faultstring>Error de validació XSD</faultstring>
<detail/>
</SOAP-ENV:Fault>

Y éste el que se recibe por SoapUI:

<soapenv:Fault>
<faultcode>OSB-103</faultcode>
<faultstring>Error de validació XSD</faultstring>
<detail><![CDATA[<ctx:details xmlns:ctx="http://www.bea.com/wli/sb/context"><ns0:ValidationFailureDetail xmlns:ns0="http://www.bea.com/wli/sb/stages/transform/config"><ns0:message>string length (0) is less than minLength facet (1) for st in namespace urn:hl7-org:v3</ns0:message><ns0:xmlLocation/></ns0:ValidationFailureDetail></ctx:details>]]></detail>
</soapenv:Fault>

Gracias!



   
(@fjcarrasco)
Miembro Admin
Registrado: hace 13 años
Respuestas: 39
 

Hola, Gonzalo, es cierto que ocurre este problema, al menos en tu versión de Mirth Connect.

Se me ocurre que puedes cambiar el tipo de conector de Web Service Sender a HTTP Sender. De esta forma, debería llegarte la respuesta tal cual y no omitirse el CDATA.

Ya nos cuentas qué tal.

Un saludo.



   
(@gonzalo_mendez_alarcon)
Active Member
Registrado: hace 11 años
Respuestas: 12
Topic starter  

Buenas Fran,

Perfecto, con el HTTP Sender funciona perfecto.

Un truco más de Mirth 🙂

Gracias!



   
(@fjcarrasco)
Miembro Admin
Registrado: hace 13 años
Respuestas: 39
 

Perfecto, Gonzalo, me alegro de que esto solucione tu problema.

De nada, para eso estamos. 😉



   
Compartir:
Scroll al inicio