Forum

Error con WS Listen...
 
Notifications
Clear all

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!

[Closed] Error con WS Listener en Mirth

6 Posts
3 Users
0 Reactions
1,672 Views
(@drexmad)
Active Member
Joined: 2 years ago
Posts: 4
Topic starter   [#703]

Hi all,

I am facing a bug or something like that when I try to create a WS listener on a Mirth 3.8.1 channel.

I need a WS listener channel to receive HL7 messages and send the data to another channel to proccess the information.

See the attached file to find the channel itself.

Inbound Data Type is set to XML, I didn't touch anything more, it's a clean installation.

I tried to send some data using SOAP UI and the service only responds HTTP 500 Internal Server error, I also tried another WS (not mirth created) and works fine, so I don't think SoapUI is the problem.

On mirth, I get the following error:

Web Service Sender error
ERROR MESSAGE: Error invoking web service
com.sun.xml.ws.client.ClientTransportException: The server sent HTTP status code 500: Internal Server Error
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:324)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:274)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:232)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:145)
at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:139)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877)
at com.sun.xml.ws.client.Stub.process(Stub.java:463)
at com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:265)
at com.sun.xml.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:304)
at com.mirth.connect.connectors.ws.WebServiceDispatcher$DispatchTask.call(WebServiceDispatcher.java:744)
at com.mirth.connect.connectors.ws.WebServiceDispatcher.send(WebServiceDispatcher.java:560)
at com.mirth.connect.donkey.server.channel.DestinationConnector.handleSend(DestinationConnector.java:888)
at com.mirth.connect.donkey.server.channel.DestinationConnector.process(DestinationConnector.java:518)
at com.mirth.connect.donkey.server.channel.DestinationChain.doCall(DestinationChain.java:121)
at com.mirth.connect.donkey.server.channel.DestinationChain.call(DestinationChain.java:63)
at com.mirth.connect.donkey.server.channel.Channel.process(Channel.java:1759)
at com.mirth.connect.donkey.server.channel.Channel.dispatchRawMessage(Channel.java:1221)
at com.mirth.connect.donkey.server.channel.SourceConnector.dispatchRawMessage(SourceConnector.java:192)
at com.mirth.connect.server.controllers.DonkeyEngineController.dispatchRawMessage(DonkeyEngineController.java:1091)
at com.mirth.connect.server.controllers.DonkeyMessageController.reprocessMessages(DonkeyMessageController.java:443)
at com.mirth.connect.server.api.servlets.MessageServlet$1.run(MessageServlet.java:214)
at java.base/java.lang.Thread.run(Thread.java:1583)

Thanks in advance.



   
(@drexmad)
Active Member
Joined: 2 years ago
Posts: 4
Topic starter  

Hi,

Since I can't post the channel file, i was trying another ways to configure it and I found some information on log file:

ERROR 2024-05-06 14:04:10,781 [pool-64-thread-4] com.sun.xml.ws.transport.http.HttpAdapter: javax.xml.soap.SOAPException: Unable to create SAAJ meta-factory: Provider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found
java.lang.Error: javax.xml.soap.SOAPException: Unable to create SAAJ meta-factory: Provider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found
      at com.sun.xml.ws.api.SOAPVersion.getMessageFactory(SOAPVersion.java:223)
      at com.sun.xml.ws.api.message.saaj.SAAJFactory.readAsSOAPMessage(SAAJFactory.java:292)
      at com.sun.xml.ws.api.message.saaj.SAAJFactory.readAsSAAJ(SAAJFactory.java:222)
      at com.sun.xml.ws.api.message.saaj.SAAJFactory.read(SAAJFactory.java:211)
      at com.sun.xml.ws.message.AbstractMessageImpl.toSAAJ(AbstractMessageImpl.java:236)
      at com.sun.xml.ws.api.message.MessageWrapper.readAsSOAPMessage(MessageWrapper.java:176)
      at com.sun.xml.ws.handler.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:85)
      at com.mirth.connect.connectors.ws.LoggingSOAPHandler.handleMessage(LoggingSOAPHandler.java:62)
      at com.mirth.connect.connectors.ws.LoggingSOAPHandler.handleMessage(LoggingSOAPHandler.java:29)
      at com.sun.xml.ws.handler.HandlerProcessor.callHandleMessage(HandlerProcessor.java:297)
      at com.sun.xml.ws.handler.HandlerProcessor.callHandlersRequest(HandlerProcessor.java:140)
      at com.sun.xml.ws.handler.ServerSOAPHandlerTube.callHandlersOnRequest(ServerSOAPHandlerTube.java:138)
      at com.sun.xml.ws.handler.HandlerTube.processRequest(HandlerTube.java:127)
      at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136)
      at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)
      at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019)
      at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877)
      at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:419)
      at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:868)
      at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:422)
      at com.sun.xml.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:113)
      at com.sun.xml.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:97)
      at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:98)
      at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
      at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:101)
      at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:871)
      at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:98)
      at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:847)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
      at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: javax.xml.soap.SOAPException: Unable to create SAAJ meta-factory: Provider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found
      at javax.xml.soap.SAAJMetaFactory.getInstance(SAAJMetaFactory.java:112)
      at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:150)
      at com.sun.xml.ws.api.message.saaj.SAAJFactory.createMessageFactory(SAAJFactory.java:250)
      at com.sun.xml.ws.api.message.saaj.SAAJFactory.getMessageFactory(SAAJFactory.java:103)
      at com.sun.xml.ws.api.SOAPVersion.getMessageFactory(SOAPVersion.java:221)
      ... 30 more
I also did the solution that some Mirth experts answered to this trouble about copying the content of java9+ folder... but it didn't work.
 
Thanks in advance.
 
 


   
(@pmtorres)
Member Admin
Joined: 13 years ago
Posts: 31
 

Hi, DrexMad, thanks for participating in our forum.

This forum is in Spanish, but we have recently launched an English version of the forum. Therefore, I would like to encourage you to repost your topic in the English forum and be the first user to do so.

 
On the other hand, if you want to use Spanish, you are welcome to do so.
 
Thanks and kind regards
 
PS I edited your posts to add code formatting


   
(@drexmad)
Active Member
Joined: 2 years ago
Posts: 4
Topic starter  

Hola,

Disculpad por el inglés, el español es mi idioma nativo.

Sigo con este problema, he probado a importar el jar de saaj pero no ha funcionado, además de copiar el contenido del fichero java9+...options dentro de mcservice.options, y tampoco.

He probado actualizando Mirth, y nada, sin embargo, instalando limpio desde 0 en otro PC sí que me ha funcionado, la cosa es que no tengo control absoluto sobre la máquina que estoy ejecutándolo, la versión de Java es la correcta y todo lo demás funciona sin problema.

 

Adjunto el log de mirth:

ERROR 2024-05-15 13:32:25,407 [pool-32-thread-1] com.sun.xml.ws.transport.http.HttpAdapter:javax.xml.soap.SOAPException: Unable to create SAAJ meta-factory: Provider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found
java.lang.Error: javax.xml.soap.SOAPException: Unable to create SAAJ meta-factory: Provider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found
   at com.sun.xml.ws.api.SOAPVersion.getMessageFactory(SOAPVersion.java:223)
   at com.sun.xml.ws.api.message.saaj.SAAJFactory.readAsSOAPMessage(SAAJFactory.java:292)
   at com.sun.xml.ws.api.message.saaj.SAAJFactory.readAsSAAJ(SAAJFactory.java:222)
   at com.sun.xml.ws.api.message.saaj.SAAJFactory.read(SAAJFactory.java:211)
   at com.sun.xml.ws.message.AbstractMessageImpl.toSAAJ(AbstractMessageImpl.java:236)
   at com.sun.xml.ws.api.message.MessageWrapper.readAsSOAPMessage(MessageWrapper.java:176)
   at com.sun.xml.ws.handler.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:85)
   at com.mirth.connect.connectors.ws.LoggingSOAPHandler.handleMessage(LoggingSOAPHandler.java:62)
   at com.mirth.connect.connectors.ws.LoggingSOAPHandler.handleMessage(LoggingSOAPHandler.java:29)
   at com.sun.xml.ws.handler.HandlerProcessor.callHandleMessage(HandlerProcessor.java:297)
   at com.sun.xml.ws.handler.HandlerProcessor.callHandlersRequest(HandlerProcessor.java:140)
   at com.sun.xml.ws.handler.ServerSOAPHandlerTube.callHandlersOnRequest(ServerSOAPHandlerTube.java:138)
   at com.sun.xml.ws.handler.HandlerTube.processRequest(HandlerTube.java:127)
   at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136)
   at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)
   at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019)
   at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877)
   at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:419)
   at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:868)
   at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:422)
   at com.sun.xml.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:113)
   at com.sun.xml.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:97)
   at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:98)
   at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
   at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:101)
   at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:871)
   at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:98)
   at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:847)
   at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
   at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
   at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: javax.xml.soap.SOAPException: Unable to create SAAJ meta-factory: Provider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found
    at javax.xml.soap.SAAJMetaFactory.getInstance(SAAJMetaFactory.java:112)
    at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:150)
    at com.sun.xml.ws.api.message.saaj.SAAJFactory.createMessageFactory(SAAJFactory.java:250)
    at com.sun.xml.ws.api.message.saaj.SAAJFactory.getMessageFactory(SAAJFactory.java:103)
    at com.sun.xml.ws.api.SOAPVersion.getMessageFactory(SOAPVersion.java:221)
    ... 30 more

Gracias de antemano por la posible ayuda.

 

 



   
(@imontoro)
Active Member
Joined: 7 years ago
Posts: 13
 

Hola @DrexMad

Lo primero muchas gracias por participar en nuestro foro. En cuanto al error que estas comentando parece que es un BUG todavía abierto en el github de nextgen connect para las versiones 4.4.1 y 4.4.2. 

No obstante, si quieres mantener actualizada la versión de Mirth Connect existen algunos "workarounds" que podrías usar:

  • Desmarcar las dependencias del canal, editando el mismo bajo la pestaña Summary/Set Dependecies/
  • Marcar "Load Parent-first" en la pestaña Resources dentro del menu Settings
  • Añadir la siguiente linea al fichero mcservice.vmoptions o mcserver.vmoptions, en función del que estés utilizando
    • -Djavax.xml.ws.spi.Provider=com.sun.xml.ws.spi.ProviderImpl

 

Coméntanos si te sirvieron estas indicaciones.

 

Muchas gracias.



   
(@drexmad)
Active Member
Joined: 2 years ago
Posts: 4
Topic starter  

Hola, @imontoro , en primer lugar, muchas gracias por la ayuda.

 

He probado a desmarcar las dependencias del canal y añadir la línea al fichero de options, pero no ha funcionado, se mantiene el mismo error.

 

Ví que era un BUG pero entendí que solo afecta a las versiones a partir de la 4.4.1, de hecho, hice un rollback a la instalación y estoy actualmente corriendo sobre un Mirth 3.8.1, intentando hacer funcionar el WS antes de actualizar dado que en la 4.5 no me fue posible que funcionara de ninguna manera....

 

Quedo a la espera de ver si alguien más puede iluminarme con posibles soluciones en lo que voy probando lo que encuentro.

 

De nuevo gracias de antemano a cualquiera que ofrezca alternativas.

 

Saludos.



   
Share:
Scroll to Top