org.apache.http.NoHttpResponseException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • It appears this was caused by the updated version of Apache HttpComponents HttpClient we're using (4.5.1). If the server drops a connection, the client may not be aware of it until it actually tries to use the socket. Apparently the newer version does not automatically check for server-side closures, so if you send a message a while after the server has closed its side, you'll get something like this: {code}HTTP Sender error ERROR MESSAGE: Error connecting to HTTP server org.apache.http.NoHttpResponseException: localhost:9001 failed to respond at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:143) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71) at com.mirth.connect.connectors.http.HttpDispatcher.send(HttpDispatcher.java:318) at com.mirth.connect.donkey.server.channel.DestinationConnector.handleSend(DestinationConnector.java:778) at com.mirth.connect.donkey.server.channel.DestinationConnector.process(DestinationConnector.java:437) 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:1706) at com.mirth.connect.donkey.server.channel.Channel.dispatchRawMessage(Channel.java:1189) at com.mirth.connect.donkey.server.channel.SourceConnector.dispatchRawMessage(SourceConnector.java:192) at com.mirth.connect.server.controllers.DonkeyEngineController.dispatchRawMessage(DonkeyEngineController.java:1052) at com.mirth.connect.server.api.servlets.MessageServlet$2.run(MessageServlet.java:106) at java.lang.Thread.run(Thread.java:745){code}
    via by Nick Rupley,
  • It appears this was caused by the updated version of Apache HttpComponents HttpClient we're using (4.5.1). If the server drops a connection, the client may not be aware of it until it actually tries to use the socket. Apparently the newer version does not automatically check for server-side closures, so if you send a message a while after the server has closed its side, you'll get something like this: {code}HTTP Sender error ERROR MESSAGE: Error connecting to HTTP server org.apache.http.NoHttpResponseException: localhost:9001 failed to respond at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:143) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71) at com.mirth.connect.connectors.http.HttpDispatcher.send(HttpDispatcher.java:318) at com.mirth.connect.donkey.server.channel.DestinationConnector.handleSend(DestinationConnector.java:778) at com.mirth.connect.donkey.server.channel.DestinationConnector.process(DestinationConnector.java:437) 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:1706) at com.mirth.connect.donkey.server.channel.Channel.dispatchRawMessage(Channel.java:1189) at com.mirth.connect.donkey.server.channel.SourceConnector.dispatchRawMessage(SourceConnector.java:192) at com.mirth.connect.server.controllers.DonkeyEngineController.dispatchRawMessage(DonkeyEngineController.java:1052) at com.mirth.connect.server.api.servlets.MessageServlet$2.run(MessageServlet.java:106) at java.lang.Thread.run(Thread.java:745){code}
    via by Nick Rupley,
  • GitHub comment 189#146611801
    via GitHub by maksimu
    ,
    • org.apache.http.NoHttpResponseException: localhost:9001 failed to respond at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:143) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71) at com.mirth.connect.connectors.http.HttpDispatcher.send(HttpDispatcher.java:318) at com.mirth.connect.donkey.server.channel.DestinationConnector.handleSend(DestinationConnector.java:778) at com.mirth.connect.donkey.server.channel.DestinationConnector.process(DestinationConnector.java:437) 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:1706) at com.mirth.connect.donkey.server.channel.Channel.dispatchRawMessage(Channel.java:1189) at com.mirth.connect.donkey.server.channel.SourceConnector.dispatchRawMessage(SourceConnector.java:192) at com.mirth.connect.server.controllers.DonkeyEngineController.dispatchRawMessage(DonkeyEngineController.java:1052) at com.mirth.connect.server.api.servlets.MessageServlet$2.run(MessageServlet.java:106) at java.lang.Thread.run(Thread.java:745)

    Users with the same issue

    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    rsprangemeijer
    3 times, last one,
    raytest
    1 times, last one,
    tvrmsmith
    24 times, last one,
    32 more bugmates