Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Java by (50.2k points)

We are seeing frequent java.net.SocketException: Connection reset errors in our logs for a component that calls a third party Web service that sends SMS messages.

Our application is written in Java and runs on top of Tomcat 5.5. It was written by contractors who are no longer with us. The current team has no real Java expertise, and we are unsure as to where the Connection reset error is coming from, and how to go about debugging.

The issue appears to be completely intermittent, and unrelated to the messages we are attempting to send.

Any suggestions on what the typical causes of this exception might be, and how we might proceed, are welcome.

The whole call stack is included below for completeness.

(com.companyname.mtix.sms is our component)

 java.net.SocketException: Connection reset

        at java.net.SocketInputStream.read(SocketInputStream.java:168)

        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)

        at java.io.BufferedInputStream.read(BufferedInputStream.java:235)

        at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)

        at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:105)

        at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1115)

        at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1832)

        at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1590)

        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)

        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)

        at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)

        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)

        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)

        at com.companyname.mtix.sms.services.impl.message.SendTextMessage.sendTextMessage(SendTextMessage.java:127)

        at com.companyname.mtix.sms.services.MessageServiceImpl.sendTextMessage(MessageServiceImpl.java:125)

        at com.companyname.mtix.sms.services.remote.MessageServiceRemoteImpl.sendTextMessage(MessageServiceRemoteImpl.java:43)

        at sun.reflect.GeneratedMethodAccessor203.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:585)

        at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)

        at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)

        at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)

        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)

        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)

        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)

        at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)

        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)

        at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

        at com.companyname.mtix.sms.http.filters.NoCacheFilter.doFilter(NoCacheFilter.java

1 Answer

0 votes
by (107k points)

SocketTimeoutException- This exception will be established if the configured timeout is exceeded while blocked on a socket operation. The status of the socket itself is not changed when this exception is thrown, but if your exception handler closes the socket, and then tries to write to it, you'll be in a connection reset condition.

Related questions

0 votes
1 answer
0 votes
1 answer
0 votes
2 answers
0 votes
1 answer

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...