Error creating web ...
 
Avisos
Vaciar todo

Error creating web service dispatch  

  RSS

(@rosam)
Miembro Eminente
Registrado: hace 1 año
Mensajes: 23
9 septiembre, 2020 09:18  

Buenos días,

Me han facilitado un WSDL el cual lo he probado en SOAP UI y me ha funcionado perfectamente. Pero cuando lo quiero utilizar en mi Mirth (3.7.1) en un conector de tipo Web Service Sender me muestra el siguiente error:

ERROR: Error creating web service dispatch [XMLStreamReaderException: error del lector XML: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 start byte 0xfa (at char #10638, byte #7999)]

El Set data types de mi canal tengo que la entrada y salida del conector sean XML.

Nunca he tenido este problema con ningún WSDL y no entiendo a qué es debido. Buscando por internet hay gente que este problema lo ha solucionado utilizando un conector de tipo HTTP Sender pero en mi caso recibo el siguiente error:

Error: HTTP method POST is not supported by this URL

Ya no sé que más puedo probar.

Agradecería muchísimo vuestras aportaciones.

Muchas gracias!


Cita
Nikkator
(@nsoria)
Miembro Moderator
Registrado: hace 5 años
Mensajes: 59
9 septiembre, 2020 10:03  

Hola Rosam.

¿El servicio es de tipo HTTP o HTTPs?.

Cuando cambias al conector de tipo HTTP Sender, ¿incluyes en los Headers el 'SOAPAction'?.

Mi recomendación es que te fijes en todos los parámetros y cabeceras que se envían desde SoapUI, y tratar de replicarlos en el conector de destino de Mirth.

 

Un saludo.


ResponderCita
(@rosam)
Miembro Eminente
Registrado: hace 1 año
Mensajes: 23
9 septiembre, 2020 12:12  

Hola de nuevo,

El servicio es HTTPS.

Cuando cambio al conector HTTPSender he probado a añadir el SOAPAction al Header (adjunto imagen por si me dejo algún parámetro) pero sigo teniendo el mismo error:

Error: HTTP method POST is not supported by this URL

También he revisado las cabeceras de SOAP UI y son las mismas que se muestran en el conector de tipo Web Service Sender.

Espero vuestras respuestas y ayuda.

Muchas gracias


ResponderCita
Nikkator
(@nsoria)
Miembro Moderator
Registrado: hace 5 años
Mensajes: 59
9 septiembre, 2020 12:32  

@rosam, al tratarse de un servicio HTTPs, tendrás que incluir los certificados públicos del servicio en el contenedor de claves de Java, que habitualmente se llama 'cacerts'. ¿Tienes los certificados ya inlcuidos?.


ResponderCita
(@rosam)
Miembro Eminente
Registrado: hace 1 año
Mensajes: 23
9 septiembre, 2020 12:36  

@nsoria sí, los certificados estan incluidos.

En otras integraciones ya utilizo WSDL de tipo HTTPS y hasta ahora nunca me había ocurrido este problema.


ResponderCita
Nikkator
(@nsoria)
Miembro Moderator
Registrado: hace 5 años
Mensajes: 59
9 septiembre, 2020 13:21  

@rosam, para poder asgurarnos de que estás enviando todos los parámetros y cabeceras desde Mirth, tal y como lo hace SoapUI, podrías crear un canal HHTP Receiver en Mirth y enviar a éste el mensaje que envías al servicio Soap desde SoapUI.

Para ello, tendrás que cambiar el endpoint en SoapUI para que apunte al endpoint que has creado en Mirth. Una vez enviado un mensaje, podrás ver los 'headers' y parameters' en el sourceMap del mensaje.


ResponderCita
(@rosam)
Miembro Eminente
Registrado: hace 1 año
Mensajes: 23
9 septiembre, 2020 13:46  

@nsoria Hola de nuevo,

No sé si te entendido bien, te explico:

- He creado un nuevo canal en Mirth de tipo Webservice Listener y desde SOAP UI envío un mensaje ( el SOAP envelope del WSDL).

- cuando el mensaje llega a mirth, llega como un mensaje cualquiera....

Como lo debo hacer para ver el sourceMap con los 'headers' y 'parameters'?


ResponderCita
Nikkator
(@nsoria)
Miembro Moderator
Registrado: hace 5 años
Mensajes: 59
9 septiembre, 2020 13:59  

@rosam, no es del todo así, el canal que debes crear es de tipo HTTP Listener, no Soap.

El objetivo es poder ver en el mensaje, las variables de tipo sourceMap, 'headers' y parameters'.


ResponderCita
(@rosam)
Miembro Eminente
Registrado: hace 1 año
Mensajes: 23
9 septiembre, 2020 14:14  

@nsoria en el caso de crear un HTTP Listener lo hago de la siguiente manera (adjunto imagen) pero cuando creo un nuevo SOAP Project en SOAP UI con la URL:

http://localhost:80/Caduceus/    muestra el siguiente error:

Error loading [ http://localhost:80/Caduceus/]: org.apache.xmlbeans.XmlException: org.apache.xmlbeans.XmlException: error: Unexpected end of file after nul

 


ResponderCita
Nikkator
(@nsoria)
Miembro Moderator
Registrado: hace 5 años
Mensajes: 59
9 septiembre, 2020 14:21  

@rosam, no necesitas crear un nuevo proyecto en SoapUI, tan sólo modificar el endpoint en el cuadro de la llamada (request). El objetivo es que, mediante el mismo WSDL, redirijas el mensaje hacia Mirth.


ResponderCita
(@rosam)
Miembro Eminente
Registrado: hace 1 año
Mensajes: 23
9 septiembre, 2020 14:48  

@nsoria

han llegado los siguientes headers:

Source headers {content-length=[2867], accept-encoding=[gzip,deflate], connection=[keep-alive], host=[localhost:80], user-agent=[Apache-HttpClient/4.1.1 (java 1.5)], content-type=[text/xml;charset=UTF-8], soapaction=["http://sap.com/xi/WebService/soap1.1"]}

He añadido al conector de mirth HTTPSender los headers: soapactio, content-type, accept-encoding i content-lenght

pero ahora me muestra el siguiente error:

ERROR: Error connecting to HTTP server [ClientProtocolException: null]


ResponderCita
Nikkator
(@nsoria)
Miembro Moderator
Registrado: hace 5 años
Mensajes: 59
10 septiembre, 2020 12:16  

@rosam vaya, ya lo último que se me ocurre es que trates de crear un proyecto nuevo en SoapUI de tipo HTTP, no Soap, y tratar de replicar lo que haces desde Mirth, es decir, crear los headers a mano e insertar la URL en la request. Si así funcionase, yo me decantaría a que podría haber algún problema con el HTTPs.


ResponderCita
Compartir:
caduceusadminForum