Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Uploading with FormFile in Struts

7 views
Skip to first unread message

John

unread,
Dec 22, 2003, 11:43:21 AM12/22/03
to
I am having an issue with the uploading of single files via Struts and
the FormFile implementation. The issue is that small files are making
it onto the box with no problems (small being 10-30k), However when
processing files around 700k and up, the uploads are sporatic at best.
The exception I always end up with is this :

SRVE0026E: [Servlet Error]-[IOException while reading file element:
Read timed out]: java.io.Interrupted
IOException: Read timed out
at java.net.SocketInputStream.socketRead(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java(Compiled
Code))
at com.ibm.ws.io.Stream.read(Stream.java(Compiled Code))
at com.ibm.ws.io.ReadStream.read(ReadStream.java(Compiled
Code))
at com.ibm.ws.http.ContentLengthInputStream.read(ContentLengthInputStream.java(Compiled
Code))
at com.ibm.ws.io.ReadStream.read(ReadStream.java(Compiled
Code))
at com.ibm.ws.webcontainer.http.HttpConnection.read(HttpConnection.java(Inlined
Compiled Code))
at com.ibm.ws.webcontainer.srp.SRPConnection.read(SRPConnection.java(Compiled
Code))
at com.ibm.ws.webcontainer.srt.SRTInputStream.read(SRTInputStream.java(Compiled
Code))
at com.ibm.ws.webcontainer.srt.http.HttpInputStream.read(HttpInputStream.java(Compiled
Code))
at org.apache.struts.upload.BufferedMultipartInputStream.fill(BufferedMultipartInputStream.java(Compiled
Code))
at org.apache.struts.upload.BufferedMultipartInputStream.read(BufferedMultipartInputStream.java(Compiled
Code))
at org.apache.struts.upload.BufferedMultipartInputStream.readLine(BufferedMultipartInputStream.java(Compiled
Code))
at org.apache.struts.upload.MultipartIterator.createLocalFile(MultipartIterator.java(Compiled
Code))
at org.apache.struts.upload.MultipartIterator.getNextElement(MultipartIterator.java(Compiled
Code))
at org.apache.struts.upload.DiskMultipartRequestHandler.handleRequest(DiskMultipartRequestHandler.java(Compiled
Code))
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java(Compiled
Code))
at org.apache.struts.action.ActionServlet.processPopulate(ActionServlet.java:2061)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1564)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled
Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled
Code))
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java(Compiled
Code))
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java(Compiled
Code))
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java(Compiled
Code))
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java(Inlined
Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java(Compiled
Code))
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java(Compiled
Code))
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java(Inlined
Compiled Code))
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java(Compiled
Code))
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java(Compiled
Code))
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java(Compiled
Code))
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java(Compiled
Code))
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java(Compiled
Code))
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java(Compiled
Code))
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java(Compiled
Code))
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java(Compiled
Code))
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java(Compiled
Code))
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java(Compiled
Code))
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java(Compiled
Code))
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java(Compiled
Code))
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)


Followed by this


[12/22/03 10:06:54:298 CST] 2f008158 WebGroup E SRVE0026E:
[Servlet Error]-[Error while finishing the connection]:
java.io.InterruptedIOException: Read
timed out
at java.net.SocketInputStream.socketRead(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java(Compiled
Code))
at com.ibm.ws.io.Stream.read(Stream.java(Compiled Code))
at com.ibm.ws.io.ReadStream.read(ReadStream.java(Compiled
Code))
at com.ibm.ws.http.ContentLengthInputStream.read(ContentLengthInputStream.java(Compiled
Code))
at com.ibm.ws.io.ReadStream.read(ReadStream.java(Compiled
Code))
at com.ibm.ws.webcontainer.http.HttpConnection.read(HttpConnection.java(Inlined
Compiled Code))
at com.ibm.ws.webcontainer.srp.SRPConnection.read(SRPConnection.java(Compiled
Code))
at com.ibm.ws.webcontainer.srt.SRTInputStream.read(SRTInputStream.java(Compiled
Code))
at com.ibm.ws.webcontainer.srt.http.HttpInputStream.read(HttpInputStream.java(Compiled
Code))
at java.io.InputStream.read(InputStream.java(Inlined Compiled
Code))
at com.ibm.ws.webcontainer.srt.SRTServletRequest.finish(SRTServletRequest.java(Compiled
Code))
at com.ibm.ws.webcontainer.srt.SRTConnectionContext.finishConnection(SRTConnectionContext.java(Compiled
Code))
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java(Compiled
Code))
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java(Compiled
Code))
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java(Compiled
Code))
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java(Compiled
Code))
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java(Compiled
Code))
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java(Compiled
Code))
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java(Compiled
Code))
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java(Compiled
Code))
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java(Compiled
Code))
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)

Are there some setting somewhere in the web container or on the HTTP
server that I must set in order to process POSTs with this size data
in the header?

I am running this on WAS 5.0.1 on AIX5.2 in Network Deployment

thanks,

John

0 new messages