You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Adam Kirby <a....@qut.edu.au> on 2001/06/22 08:14:02 UTC

POST file via Form & O'Reilly lib & Tomcat problems

I'm having problems trying to upload a file to a servlet.

The problem occurs when we use a HTML form to POST a binary to a
servlet.  Very small files (~100 bytes) work fine but anything above
(~350 bytes) throws the exception listed 
below.

Tomcat version is 3.2.1, the server is Red Hat Linux release 7.0, Kernel 
2.2.16-22.  We are using Jason Hunter's multipart request handling
servlets 
(www.servlets.com/cos).

Shifting to 3.2.2 and 3.3-m3 did not resolve the issue.  Shifting to
Tomcat 4.0-b5 did resolve this problem but raised others
(request.getParameter(String) did not function).

The problem is listed in the FAQ for Jason Hunter's library
(http://www.faqtory.com/servlets/) but the solution seems outdated.

Searching the archives for this list gave similar cases of this problem,
but no solutions that worked for me.  The list commonly suggested that
it was a bug with AJP13 and that reverting back to AJP12 will fix. 
However, I've checked our conf/tomcat.conf file which claims we are
using AJP12.

Any ideas, work-arounds or feedback will be greatly appreciated.

Thanks,

Adam.

The stack-trace for the exception thrown by Tomcat 3.2.1 is:

2001-06-21 04:08:17 - ContextManager: Error reading request, ignored - 
java.lang.ArrayIndexOutOfBoundsException
        at 
org.apache.tomcat.service.http.HttpRequestAdapter.parseHeaderFiled(HttpRequestAd
apter.java:224)
        at 
org.apache.tomcat.service.http.HttpRequestAdapter.readHeaders(HttpRequestAdapter
.java:205)
        at 
org.apache.tomcat.service.http.HttpRequestAdapter.readNextRequest(HttpRequestAda
pter.java:140)
        at 
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConne
ctionHandler.java:1
95)
        at 
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
        at 
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
        at java.lang.Thread.run(Thread.java:484)