Muy buenas, ando un poco perdida en este tema... estoy intentando enviar a un webservice (me daba error y buscándolo ponía que tenía que hacerlo por HTTP sender), así que lo he intentado así.
Me ha dado el siguiente error...
HTTP Sender error ERROR MESSAGE: Error connecting to HTTP server javax.net.ssl.SSLException: Received fatal alert: close_notify at sun.security.ssl.Alerts.getSSLException(Unknown Source) at sun.security.ssl.Alerts.getSSLException(Unknown Source) at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:275) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:254) at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:117) at org.apache.http.impl.conn.BasicHttpClientConnectionManager.connect(BasicHttpClientConnectionManager.java:318) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at com.mirth.connect.connectors.http.HttpDispatcher.send(HttpDispatcher.java:311) at com.mirth.connect.donkey.server.channel.DestinationConnector.handleSend(DestinationConnector.java:747) at com.mirth.connect.donkey.server.channel.DestinationConnector.process(DestinationConnector.java:445) at com.mirth.connect.donkey.server.channel.DestinationChain.call(DestinationChain.java:155) at com.mirth.connect.donkey.server.channel.Channel.process(Channel.java:1656) at com.mirth.connect.donkey.server.channel.Channel.dispatchRawMessage(Channel.java:1155) at com.mirth.connect.donkey.server.channel.SourceConnector.dispatchRawMessage(SourceConnector.java:191) at com.mirth.connect.donkey.server.channel.SourceConnector.dispatchRawMessage(SourceConnector.java:169) at com.mirth.connect.connectors.jdbc.DatabaseReceiver.processRecord(DatabaseReceiver.java:200) at com.mirth.connect.connectors.jdbc.DatabaseReceiver.processResultSet(DatabaseReceiver.java:160) at com.mirth.connect.connectors.jdbc.DatabaseReceiver.poll(DatabaseReceiver.java:117) at com.mirth.connect.donkey.server.channel.PollConnector$PollConnectorTask.run(PollConnector.java:131) at java.util.TimerThread.mainLoop(Unknown Source) at java.util.TimerThread.run(Unknown Source)
lo he enviado en metodo POST y "text/plain"
Muy buenas,
Sí el ws usa https, cuando intento enviarlo como Web Service Sender me da otro error, cuando le doy a 'Get operations'
Error caching WSDL. Please check the WSDL URL and authentication settings.
com.mirth.connect.client.core.ClientException: method failed: HTTP/1.1 500 com.eviware.soapui.impl.support.definition.support.InvalidDefinitionException
com.mirth.connect.client.core.ServerConnection.executePostMethod(ServerConnection.java:140)
com.mirth.connect.client.core.Client.invokeConnectorService(Client.java:366)
com.mirth.connect.client.ui.panels.connectors.ConnectorSettingsPanel$1.doInBackground(ConnectorSettingsPanel.java:161)
javax.swing.SwingWorker$1.call(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
javax.swing.SwingWorker.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
He comprobado que la URL se puede abrir desde el explorador.
Saludos!
Hola, Cristina:
Como bien decías al principio, debes usar un conector de tipo HTTP Sender para realizar los envíos, y no un Web Service Sender.
Además, debes localizar qué almacén de certificados JKS está utilizando Mirth Connect y añadir los certificados de los servidores a los que quieres enviar para que Mirth Connect confíe en ellos.
Para añadir los certificados puedes utilizar la herramienta KeyStore Explorer. Respecto a la localización del almacén de certificados, cuidado, Mirth Connect a veces usa el fichero cacerts del JRE que tengas instalado aunque se indique otro fichero JKS en el fichero de propiedades mirth.properties.
En cuanto a los certificados que necesitas, seguramente puedas descargarlos desde un navegador web. De hecho, te recomiendo que descargues las rutas de certificación completas y añadas todos los certificados al almacén, ya que a veces es necesario.
Una vez hecho lo anterior, es posible que tengas que reiniciar Mirth Connect para que los envíos funcionen correctamente.
Ya nos cuentas qué tal ha ido.
Un saludo.