Skip to Main Content

Java Security

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

java.net.SocketTimeoutException: Read timed out

843811Jul 15 2004 — edited Sep 24 2007
Hi All ,
I have webservice client connecting to SOAP Servivces through HTTPS using sun JSSE implementation. Everytime i make a webservice call i get the Read timed out exception. I am sure of SSL handshaking is happening. Below is the stack trace. I am behind the proxy as well.

Anything obivious wrong in here.
Thakns in advance.

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.net.SocketTimeoutException: Read timed out
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.a(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at org.apache.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:506)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:127)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at GetCLD.getCLD(GetCLD.java:110)
at GetCLD.main(GetCLD.java:145)


java.net.SocketTimeoutException: Read timed out
at org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:131)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at GetCLD.getCLD(GetCLD.java:110)
at GetCLD.main(GetCLD.java:145)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.a(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at org.apache.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:506)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:127)
... 11 more
java.lang.NullPointerException
at ParseResult.getStatus(ParseResult.java:5)
at GetCLD.main(GetCLD.java:150)

Comments

843811 Sep 17 2004
I am having the same problem. I am not using Axis, but am using JBoss' HTTP-Invoker and get this stack trace. It does not happen for most users, but happens consistently for a few that claim they aren't using a proxy server. Any pointers would be appreciated.

java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at com.sun.net.ssl.internal.ssl.InputRecord.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.InputRecord.read(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(DashoA12275)
at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:747)
at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:777)
at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:115)
at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:712)
at org.apache.coyote.Request.doRead(Request.java:425)
at org.apache.coyote.tomcat5.InputBuffer.realReadBytes(InputBuffer.java:290)
at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:374)
at org.apache.coyote.tomcat5.InputBuffer.read(InputBuffer.java:305)
at org.apache.coyote.tomcat5.CoyoteInputStream.read(CoyoteInputStream.java:179)
at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2150)
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2163)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2631)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
at org.jboss.invocation.http.servlet.InvokerServlet.processRequest(InvokerServlet.java:121)
at org.jboss.invocation.http.servlet.InvokerServlet.doPost(InvokerServlet.java:209)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:72)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:275)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
843811 Sep 22 2004
You need to set the timeout above 60 seconds both in the http-invoker and axis (object over http)
843811 Sep 22 2004
set the timeout on the axis stub to something above 60 seconds; (object of http
843811 Nov 16 2004
Hi,

I am experiencing the same problem but under Weblogic (and also JBoss). I am also quite new to J2EE and would like to know where and how to set this timeout?

thanks in advance
cheers

Jonas
843811 Feb 4 2005
hi,
did any one got the solution for the problem given below. if so help me?Exception
java.net.SocketTimeoutException: Read timed out
at java.net.AbstractSocketImpl$1.read(II)I(Unknown Source)
at jrockit.io.NativeIOInputStream.read(I[BI)I(Unknown Source)
at jrockit.io.NativeIOInputStream.read([BII)I(Unknown Source)
at weblogic.servlet.internal.PostInputStream.read()I(PostInputStream.java:133)
at weblogic.servlet.internal.ServletInputStreamImpl.read()I(ServletInputStreamImpl.java:168)
at javax.servlet.ServletInputStream.readLine([BII)I(ServletInputStream.java:138)
at weblogic.management.console.utils.MultipartInputStreamHandler.readLine([BII)I(MultipartRequest.java:820)
at weblogic.management.console.utils.MultipartInputStreamHandler.readLine()Ljava.lang.String;(MultipartRequest.java:794)
at weblogic.management.console.utils.MultipartRequest.readNextPart(Lweblogic.management.console.utils.MultipartInputStreamHandler;Ljava.lang.String;)Z(MultipartRequest.java:446)
at weblogic.management.console.utils.MultipartRequest.readRequest()V(MultipartRequest.java:423)
at weblogic.management.console.utils.MultipartRequest.(Ljavax.servlet.http.HttpServletRequest;Ljava.lang.String;I)V(MultipartRequest.java:205)
at weblogic.management.console.utils.MultipartRequest.(Ljavax.servlet.ServletRequest;Ljava.lang.String;I)V(MultipartRequest.java:232)
at weblogic.management.console.actions.common.FileUploadAction.perform(Lweblogic.management.console.actions.ActionContext;)Lweblogic.management.console.actions.Action;(FileUploadAction.java:99)
at weblogic.management.console.actions.internal.ActionServlet.doAction(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(Optimized Method)
at weblogic.management.console.actions.internal.ActionServlet.doPost(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(ActionServlet.java:85)
at javax.servlet.http.HttpServlet.service(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Object;(ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(Optimized Method)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(Optimized Method)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava.lang.Object;(Optimized Method)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.AbstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(Optimized Method)
at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(Optimized Method)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic.servlet.internal.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponseImpl;)V(Optimized Method)
at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel.ExecuteThread;)V(Optimized Method)
at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(Optimized Method)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)
843811 Mar 16 2005
Can you exactly tell us how to change that? I am really new to this.

Thanks
843811 Mar 16 2005
"set the timeout on the axis stub to something above 60 seconds; (object of http"

Can you please let us know what exactly to change?

Thanks
843811 Jul 13 2005
Yes, I still have this problem.
I use a servlet to accept request and redirect it to .NET Webservice then if the time exceed 60 sec. then it will have an Exception like :
( java.net.SocketTimeoutException: Read timed out )
Actually, I can't find any configuration or xml setting that i can change this time.
Anyway the conclusion is finally it work... you can add the code below >>

((org.apache.axis.client.Call)call).setTimeout(new Integer(1000*120));

Of course, before you use that you need to use the call object >>
call = service.createCall(portName,"testConn");

Hope it can help you. ^_^ y
843811 Oct 17 2005
Did any of you guys find the solution or the reason why this is happening?
EJP Oct 17 2005
Just guessing, guys, but I would say that these containers impose a default socket timeout. It must be configurable somewhere.
843811 Feb 17 2006
Hi,
I am using Apache Axis to connect to a webservice and I too am getting the read time out error (mentioned below). I have set the timeout value on stub - stub.setTimeout(130). Also the timeout exception does not get caught in the catch block!!

try
{
call.invoke( );
}
} catch (RemoteException remoteException) {
//control does not come here
}

I wonder if the request thread keeps on waiting and tries to reconnect and is hung?? While performing the load test, a lot of thread seem to be hung (<Feb 13, 2006 1:08:18 PM MST> <Warning> <WebLogicServer> <BEA-000337> <ExecuteThread: '66' for queue: 'weblogic.kernel.Default' has been busy for "1,593" seconds working on the request "Http Request: /DTVAPP/user/RegisterFindAccount.jsp", which is more than the configured time (StuckThreadMaxTime) of "600" seconds.> )

Any inputs/suggestions will be greatly appreciated...

Thanks in anticipation...
Kapil

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.net.SocketTimeoutException: Read timed out
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.net.SocketTimeoutException: Read timed out
at java/net/AbstractSocketImpl$1.read(II)I(Unknown Source)
at jrockit/io/NativeIOInputStream.read(I[BI)I(Unknown Source)
at jrockit/io/NativeIOInputStream.read([BII)I(Unknown Source)
at java/io/BufferedInputStream.fill()V(BufferedInputStream.java:183)
at java/io/BufferedInputStream.read()I(BufferedInputStream.java:201)
at org/apache/axis/transport/http/HTTPSender.readHeadersFromSocket(Lorg/apache/axis/transport/http/SocketHolder;Lorg/apache/axis/MessageContext;Ljava/io/InputStream;Ljava/util/Hashtable;)Ljava/io/InputStream;(HTTPSender.java:583)
at org/apache/axis/transport/http/HTTPSender.invoke(Lorg/apache/axis/MessageContext;)V(HTTPSender.java:143)
at org/apache/axis/strategies/InvocationStrategy.visit(Lorg/apache/axis/Handler;Lorg/apache/axis/MessageContext;)V(InvocationStrategy.java:32)
at org/apache/axis/SimpleChain.doVisiting(Lorg/apache/axis/MessageContext;Lorg/apache/axis/HandlerIterationStrategy;)V(SimpleChain.java:118)
at org/apache/axis/SimpleChain.invoke(Lorg/apache/axis/MessageContext;)V(SimpleChain.java:83)
at org/apache/axis/client/AxisClient.invoke(Lorg/apache/axis/MessageContext;)V(AxisClient.java:165)
at org/apache/axis/client/Call.invokeEngine(Lorg/apache/axis/MessageContext;)V(Call.java:2784)
at org/apache/axis/client/Call.invoke()V(Call.java:2767)
at org/apache/axis/client/Call.invoke(Lorg/apache/axis/message/RPCElement;)Ljava/lang/Object;(Call.java:2443)
at org/apache/axis/client/Call.invoke(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;(Call.java:2366)
at org/apache/axis/client/Call.invoke([Ljava/lang/Object;)Ljava/lang/Object;(Call.java:1812)
at com/directv/ei/schemas/envelope/v3_0/GetProfileBindingStub.getProfile(Lcom/directv/ei/schemas/wsdl/billingServices/v3_0/getProfile/GetProfileRequestEntity;)Lcom/directv/ei/schemas/wsdl/billingServices/v3_0/getProfile/GetProfileResponseEntity;(GetProfileBindingStub.java:2303)
at com/directv/biz/user/bizservice/StmsSoapGetProfileBizService.getProfile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/directv/biz/user/CustomerAccount;)Lcom/directv/biz/user/CustomerAccount;(StmsSoapGetProfileBizService.java:326)
at com/directv/biz/user/GenericUserManager.getProfile(Lcom/directv/biz/user/DtvUserProfile;Ljava/lang/String;)Lcom/directv/biz/user/CustomerAccount;(GenericUserManager.java:517)
at com/directv/biz/user/formhandler/CustomerProfileFormHandler.findByAccountNumber(Lcom/directv/biz/user/form/UserForm;)V(CustomerProfileFormHandler.java:520)
at com/directv/biz/user/formhandler/CustomerProfileFormHandler.findAccount(Lcom/directv/biz/user/form/UserForm;)Z(CustomerProfileFormHandler.java:417)
at com/directv/biz/user/formhandler/CustomerProfileFormHandler.lookupCustomer(Latg/servlet/DynamoHttpServletRequest;Latg/servlet/DynamoHttpServletResponse;)V(CustomerProfileFormHandler.java:184)
at com/directv/biz/user/formhandler/CustomerProfileFormHandler.handleLookupCustomer(Latg/servlet/DynamoHttpServletRequest;Latg/servlet/DynamoHttpServletResponse;)Z(CustomerProfileFormHandler.java:247)
at jrockit/reflect/NativeMethodInvoker.invoke0(Ljava/lang/Object;ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)
at jrockit/reflect/NativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)
at jrockit/reflect/VirtualNativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)
at java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;I)Ljava/lang/Object;(Unknown Source)
at atg/droplet/EventSender.sendEvent(Latg/servlet/DynamoHttpServletRequest;Latg/servlet/DynamoHttpServletResponse;Latg/droplet/EventReceiver;[Ljava/lang/Object;Ljava/util/Vector;)Z(EventSender.java:655)
at atg/droplet/FormTag.doSendEvents(Latg/servlet/DynamoHttpServletRequest;Latg/servlet/DynamoHttpServletResponse;)Z(FormTag.java:735)
at atg/droplet/FormTag.sendEvents(Latg/servlet/DynamoHttpServletRequest;Latg/servlet/DynamoHttpServletResponse;)Z(FormTag.java:621)
at atg/droplet/DropletEventServlet.sendEvents(Latg/servlet/DynamoHttpServletRequest;Latg/servlet/DynamoHttpServletResponse;)Z(DropletEventServlet.java:438)
at atg/droplet/DropletEventServlet.service(Latg/servlet/DynamoHttpServletRequest;Latg/servlet/DynamoHttpServletResponse;)V(DropletEventServlet.java:468)

{http://xml.apache.org/axis/}hostname:d4dttw02

java.net.SocketTimeoutException: Read timed out
at org/apache/axis/AxisFault.makeFault(Ljava/lang/Exception;)Lorg/apache/axis/AxisFault;(AxisFault.java:101)
EJP Feb 17 2006
I have set the timeout value on stub - stub.setTimeout(130).
This is far too short for a timeout. These are milliseconds, not seconds! You should set it to at least two seconds, maybe several times as much.
I wonder if the request thread keeps on waiting and
tries to reconnect and is hung??
No, the stack trace tells you that it has timed out from a read().
843811 Apr 25 2006
Hi all,

I can also find the same exception in my webservice which is developed using Apache Axis toolkit by WSDL2JAVA approach. In this case, the stub classes are generated from the WSDL file. So, I wonder how to change the timeout values in the stub class as the classes are dynamically generated.

Please help me in resolving this doubt.

Thanks in advance,
Deepa
843811 Apr 25 2006
Keep in mind that this might have nothing to do with your app or your code. Many corporate firewalls are configured to clobber suspicious HTTP requests. Your network security folks might have a very different idea of what is acceptable than your application development folks.

Try testing your code from outside your corporate network. For example, try it from home where you have some control over your firewall.
843811 May 25 2006
Hi,

I am getting below exception in J2EE application deployed on weblogic 8.1 SP4 application server.
Could it be a reason that incoming request timeout since weblogic is not having sufficient number of threads to handle incoming request ?
----------------------------------------------------------
WARNING: Unexpected Exception
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at weblogic.servlet.internal.PostInputStream.read(PostInputStream.java:133)
at weblogic.servlet.internal.ServletInputStreamImpl.read(ServletInputStreamImpl.java:168)
at com.bt.llu.eco.xml.servlet.UploadServlet.getXmlBody(UploadServlet.java:148)
at com.bt.llu.eco.xml.servlet.UploadServlet.doPost(UploadServlet.java:117)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6722)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
----------------------------------------------------------
Has anybody got reason behind this exception?
EJP May 25 2006
But it Is handling the incoming request! How could the servlet get a read timeout if it wasn't doing something?

So, err, no, that couldn't be a possible reason.

What you have is a read timeout in the servlet, apparently while it's reading the POST request. This suggests either a tranmission problem at the client end or between the client and the servlet, or too short a timeout at the servlet end.
843811 May 31 2006
I got same problem because of the MTU setting in our firewall, so contact your network administrator to make sure the setting is correct.
843811 Sep 24 2007
I had same problem and following changes to jboss configuration file helped me. Hope it might help you.
Edit jboss-service.xml, which will be in default/conf directory.
Go to the section PooledInvoker. Default SocketTimeOut will be 60000 milli seconds (60 seconds).
Changing this setting will not solve the problem alone.
Open default/deploy/jboss-tocat.sar/server.xml file. You will find following lines
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="1000" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="10343" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
Change the connectionTimeOut some larger number. I changed it to 200000. This solved my problems.
Explanation
I am not an expert but this is my guess. Jboss-service.xml is a integrator file between jboss and tomcat server. SocketTimeout is actually dealing time out at the TCP/IP level. Server.xml file is a Tomcat server configuration and it is dealing at HTTP level. For more explanation please read Jboss documentation. This brings us some interesting points. Your Jboss should be either overloaded (Use load balancing or improve performance of servlets) or your network is too slow (could be a proxy problem too). Solution which I am providing is quick fix but not permanent. Hope it will help you.
1 - 18
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Oct 22 2007
Added on Jul 15 2004
18 comments
49,338 views