Powerscribe vs Mirth 3.2 issues - socket close

lundi 30 mars 2015

I am using Mirth version 3.2 to interface with powerscribe. I am sending ORM message to powerscribe. And I am receiving ORU message from powerscribe. After that I am sending back ORU message to them. All these processes are happening simultaneously. My first two channels ORM sending and ORU receiving is imported from Mirth 1.5 version. My third channel (ORU sending) I created newly in Mirth 3.2.



I my ORU channel I am getting following errors frequently while sending messages to receiver system. But in ORM channel I got "Empty or blank response received" only once.



1. Empty or blank response received.



2. TCP Sender error

ERROR MESSAGE: Software caused connection abort: socket write error

java.net.SocketException: Software caused connection abort: socket write error

at java.net.SocketOutputStream.socketWrite0(Native Method)

at java.net.SocketOutputStream.socketWrite(Unknown Source)

at java.net.SocketOutputStream.write(Unknown Source)

at java.io.BufferedOutputStream.flushBuffer(Unknown Source)

at java.io.BufferedOutputStream.flush(Unknown Source)

at com.mirth.connect.connectors.tcp.TcpDispatcher.sen d(TcpDispatcher.java:236)

at com.mirth.connect.donkey.server.channel.Destinatio nConnector.handleSend(DestinationConnector.java:74 7)

at com.mirth.connect.donkey.server.channel.Destinatio nConnector.process(DestinationConnector.java:445)

at com.mirth.connect.donkey.server.channel.Destinatio nChain.call(DestinationChain.java:155)

at com.mirth.connect.donkey.server.channel.Channel.pr ocess(Channel.java:1656)

at com.mirth.connect.donkey.server.channel.Channel.di spatchRawMessage(Channel.java:1155)

at com.mirth.connect.donkey.server.channel.SourceConn ector.dispatchRawMessage(SourceConnector.java:191)

at com.mirth.connect.donkey.server.channel.SourceConn ector.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.PollConnec tor$PollConnectorTask.run(PollConnector.java:131)

at java.util.TimerThread.mainLoop(Unknown Source)

at java.util.TimerThread.run(Unknown Source)



3. Message control Ids do not match.

Expected: 1366

Actual: 1363



4. TCP Sender error

ERROR MESSAGE: Connection refused: connect

java.net.ConnectException: Connection refused: connect

at java.net.DualStackPlainSocketImpl.waitForConnect(N ative Method)

at java.net.DualStackPlainSocketImpl.socketConnect(Un known Source)

at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)

at java.net.AbstractPlainSocketImpl.connectToAddress( Unknown Source)

at java.net.AbstractPlainSocketImpl.connect(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at com.mirth.connect.connectors.tcp.SocketUtil.connec tSocket(SocketUtil.java:62)

at com.mirth.connect.connectors.tcp.TcpDispatcher.sen d(TcpDispatcher.java:217)

at com.mirth.connect.donkey.server.channel.Destinatio nConnector.handleSend(DestinationConnector.java:74 7)

at com.mirth.connect.donkey.server.channel.Destinatio nConnector.process(DestinationConnector.java:445)

at com.mirth.connect.donkey.server.channel.Destinatio nChain.call(DestinationChain.java:155)

at com.mirth.connect.donkey.server.channel.Channel.pr ocess(Channel.java:1656)

at com.mirth.connect.donkey.server.channel.Channel.di spatchRawMessage(Channel.java:1155)

at com.mirth.connect.donkey.server.channel.SourceConn ector.dispatchRawMessage(SourceConnector.java:191)

at com.mirth.connect.donkey.server.channel.SourceConn ector.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.PollConnec tor$PollConnectorTask.run(PollConnector.java:131)

at java.util.TimerThread.mainLoop(Unknown Source)

at java.util.TimerThread.run(Unknown Source)



5. TCP Sender error

ERROR MESSAGE: Error receiving response: Connection reset

java.net.SocketException: Connection reset

at java.net.SocketInputStream.read(Unknown Source)

at java.net.SocketInputStream.read(Unknown Source)

at java.io.BufferedInputStream.fill(Unknown Source)

at java.io.BufferedInputStream.read(Unknown Source)

at com.mirth.connect.model.transmission.framemode.Fra meStreamHandler.read(FrameStreamHandler.java:120)

at com.mirth.connect.connectors.tcp.TcpDispatcher.sen d(TcpDispatcher.java:245)

at com.mirth.connect.donkey.server.channel.Destinatio nConnector.handleSend(DestinationConnector.java:74 7)

at com.mirth.connect.donkey.server.channel.Destinatio nConnector.process(DestinationConnector.java:445)

at com.mirth.connect.donkey.server.channel.Destinatio nChain.call(DestinationChain.java:155)

at com.mirth.connect.donkey.server.channel.Channel.pr ocess(Channel.java:1656)

at com.mirth.connect.donkey.server.channel.Channel.di spatchRawMessage(Channel.java:1155)

at com.mirth.connect.donkey.server.channel.SourceConn ector.dispatchRawMessage(SourceConnector.java:191)

at com.mirth.connect.donkey.server.channel.SourceConn ector.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.PollConnec tor$PollConnectorTask.run(PollConnector.java:131)

at java.util.TimerThread.mainLoop(Unknown Source)

at java.util.TimerThread.run(Unknown Source)



6. TCP Sender error

ERROR MESSAGE: Timeout waiting for response: Read timed out

java.net.SocketTimeoutException: Read timed out

at java.net.SocketInputStream.socketRead0(Native Method)

at java.net.SocketInputStream.socketRead(Unknown Source)

at java.net.SocketInputStream.read(Unknown Source)

at java.net.SocketInputStream.read(Unknown Source)

at java.io.BufferedInputStream.fill(Unknown Source)

at java.io.BufferedInputStream.read(Unknown Source)

at com.mirth.connect.model.transmission.framemode.Fra meStreamHandler.read(FrameStreamHandler.java:120)

at com.mirth.connect.connectors.tcp.TcpDispatcher.sen d(TcpDispatcher.java:245)

at com.mirth.connect.donkey.server.channel.Destinatio nConnector.handleSend(DestinationConnector.java:74 7)

at com.mirth.connect.donkey.server.channel.Destinatio nConnector.process(DestinationConnector.java:445)

at com.mirth.connect.donkey.server.channel.Destinatio nChain.call(DestinationChain.java:155)

at com.mirth.connect.donkey.server.channel.Channel.pr ocess(Channel.java:1656)

at com.mirth.connect.donkey.server.channel.Channel.di spatchRawMessage(Channel.java:1155)

at com.mirth.connect.donkey.server.channel.SourceConn ector.dispatchRawMessage(SourceConnector.java:191)

at com.mirth.connect.donkey.server.channel.SourceConn ector.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.PollConnec tor$PollConnectorTask.run(PollConnector.java:131)

at java.util.TimerThread.mainLoop(Unknown Source)

at java.util.TimerThread.run(Unknown Source)







And at the Reciever system RecieveCallBack mechanism is happening .Below is the receving system log.



[03/23/15 12:25:24.107]ReceiveCallback:SocketDisconnected From Remote:10.10.22.170:6661 Local=10.8.34.777:62129

[03/23/15 12:25:24.108]HL7Sock.CloseSocket: 10.8.34.777:62129

[03/23/15 12:25:24.110]Server Socket: [127.0.0.1:10178] closed.

[03/23/15 12:25:24.111]Shutting Down: 10178

[03/23/15 12:25:24.115]StartClientConnectTimer: 2000 ms.

[03/23/15 12:25:24.116]ReceiveCallback-CloseSocket

[03/23/15 12:25:26.115]Starting ClientSocket: 10.10.22.170:6661

[03/23/15 12:25:26.117]Initialize Client Socket 10.10.22.170:6661

[03/23/15 12:25:26.121]Client Socket Connected To Server: 10.10.22.170:6661





They are saying we are getting these errors because they are getting ReceiveCallback in there system from mirth. If a callback mechanism is happening their port will close and they will not be able to send an ACK back to us. This is the explanation they provided to us. And there port is not listening (telnet won't work) after some time due to these errors.Then they need to restart their service. They are saying we are closing the connection and we should not do that. My configuration is Keep connection open and send timeout zero. Unable to get why this recieve call back mechanism is happening at the receiver end. What parameters at the client side(Mirth end) are triggering this call back mechanism. Please let us know.





please find attached channel screenshot.








Powerscribe vs Mirth 3.2 issues - socket close

0 commentaires:

Enregistrer un commentaire