DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20850>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20850

POST is not defined in RFC 2068 and is not supported by the Servlet API

           Summary: POST is not defined in RFC 2068 and is not supported by
                    the Servlet API
           Product: Tomcat 4
           Version: 4.1.24
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: Unknown
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


posting data to tomcat I get the strangest error returned - sometimes.
first of all this problem does not occur in tomcat 3.2
If I send several POSTs of data to tomcat in rapid succession (sequential, not 
simultaneous) the first POST will process correctly, then mostly the second and 
subsequent posts fail, but in a curious way. my servlet doPost method is called 
and I can process the header info just fine, but as soon as I try to grab the 
data stream:
BufferedInputStream cDataIn =  new BufferedInputStream(request.getInputStream
());
ByteArrayOutputStream bo = new ByteArrayOutputStream();
                                byte[] buf = new byte[1];
                                int len;
                                while((len = cDataIn.read(buf))!= -1 )
                                {
                                        bo.write(buf);
                                }
                                bo.close();
//-------------------------------------
tomcat throws this error:
 java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:116)
        at org.apache.coyote.http11.InternalInputBuffer.fill
(InternalInputBuffer.java:777)
        at 
org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead
(InternalInputBuffer.java:807)
        at org.apache.coyote.http11.filters.IdentityInputFilter.doRead
(IdentityInputFilter.java:158)
        at org.apache.coyote.http11.InternalInputBuffer.doRead
(InternalInputBuffer.java:742)
        at org.apache.coyote.Request.doRead(Request.java:431)
        at org.apache.coyote.tomcat4.CoyoteInputStream.readBytes
(CoyoteInputStream.java:199)
        at org.apache.coyote.tomcat4.CoyoteInputStream.read
(CoyoteInputStream.java:156)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:222)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
        at java.io.FilterInputStream.read(FilterInputStream.java:90)
        at manifest.server.savefile.doPost(savefile.java:180)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:256)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:191)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke
(StandardContext.java:2415)
        at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:180)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:171)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:172)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:174)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java:223)
        at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:594)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnectio
n(Http11Protocol.java:392)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:565)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:619)
        at java.lang.Thread.run(Thread.java:536)
//----------------------------------------------
AND returns via the http response this file to the sending client (including 
all the garbage)
<html><head><title>Apache Tomcat/4.1.24 - Error report</title><STYLE><!--H1
{font-family : sans-serif,Arial,Tahoma;color : white;background-color : 
#0086b2;} H3{font-family : sans-serif,Arial,Tahoma;color : white;background-
color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : 
black;background-color : white;} B{color : white;background-color : #0086b2;} HR
{color : #0086b2;} --></STYLE> </head><body><h1>HTTP Status 501 - Method ?
????&amp;_?Z?O??4??m??f     ?????L???Xe9??g??L?J6Ch?????????&amp;?h?
MU???([?d2F=??`???????x???Z?\/k;u7?Q9?HQ[sG&amp;6?FI???c??U??????LL?hT?
:????B7?Y%???z?7v?9??????U?bR5y?ez?4??e?a????)??h?`??Sz???y??
&quot;[EMAIL PROTECTED]/?%??#??
POST is not defined in RFC 2068 and is not supported by the Servlet API 
</h1><HR size="1" noshade><p><b>type</b> Status report</p><p><b>message</b> 
<u>Method ?
????&amp;_?Z?O??4??m??f     ?????L???Xe9??g??L?J6Ch?????????&amp;?h?
MU???([?d2F=??`???????x???Z?\/k;u7?Q9?HQ[sG&amp;6?FI???c??U??????LL?hT?
:????B7?Y%???z?7v?9??????U?bR5y?ez?4??e?a????)??h?`??Sz???y??
&quot;[EMAIL PROTECTED]/?%??#??
POST is not defined in RFC 2068 and is not supported by the Servlet API 
</u></p><p><b>description</b> <u>The server does not support the functionality 
needed to fulfill this request (Method ?
????&amp;_?Z?O??4??m??f     ?????L???Xe9??g??L?J6Ch?????????&amp;?h?
MU???([?d2F=??`???????x???Z?\/k;u7?Q9?HQ[sG&amp;6?FI???c??U??????LL?hT?
:????B7?Y%???z?7v?9??????U?bR5y?ez?4??e?a????)??h?`??Sz???y??
&quot;[EMAIL PROTECTED]/?%??#??
POST is not defined in RFC 2068 and is not supported by the Servlet 
API ).</u></p><HR size="1" noshade><h3>Apache Tomcat/4.1.24</h3></body></html>

//------------------------------------------------
I have captured the POSTs in transit and I dont see any differences between 
ones that work and ones that dont.
I hope this can be resolved quickly.
this is also a bug in the new v5.0.2 Alpha release!!!!!

some interesting points. I have tried sending POSTS via the inet.ocx control in 
a similar fashion without problem (but the control sux and is entirely 
inadequate for my purposes). I am sending data directly via the wininet.dll 
specifically utilising the sendrequestex api function call.
as far as the client is concerned it has sent data to tomcat.
I reiterate  - this works perfectly in tomcat 3.2.
Tomcat 5.0.2 Alpha breaks but usually manages 2 fast sequential POSTS before 
throwing this error:
 java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:116)
        at org.apache.coyote.http11.InternalInputBuffer.fill
(InternalInputBuffer.java:777)
        at 
org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead
(InternalInputBuffer.java:807)
        at org.apache.coyote.http11.filters.IdentityInputFilter.doRead
(IdentityInputFilter.java:158)
        at org.apache.coyote.http11.InternalInputBuffer.doRead
(InternalInputBuffer.java:742)
        at org.apache.coyote.Request.doRead(Request.java:457)
        at org.apache.coyote.tomcat5.InputBuffer.realReadBytes
(InputBuffer.java:320)
        at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:415)
        at org.apache.coyote.tomcat5.InputBuffer.read(InputBuffer.java:335)
        at org.apache.coyote.tomcat5.CoyoteInputStream.read
(CoyoteInputStream.java:211)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:222)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
        at java.io.FilterInputStream.read(FilterInputStream.java:90)
        at manifest.server.savefile.doPost(savefile.java:180)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at org.apache.catalina.servlets.InvokerServlet.serveRequest
(InvokerServlet.java:466)
        at org.apache.catalina.servlets.InvokerServlet.doPost
(InvokerServlet.java:216)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:288)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:263)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:151)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:561)
        at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:1018)
        at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:196)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:151)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:561)
        at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:1018)
        at org.apache.catalina.core.StandardContext.invoke
(StandardContext.java:2748)
        at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:186)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:151)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:171)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:149)
        at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:172)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:149)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:561)
        at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:1018)
        at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:163)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:151)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:561)
        at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:1018)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service
(CoyoteAdapter.java:199)
        at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:630)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnectio
n(Http11Protocol.java:463)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:568)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:631)
        at java.lang.Thread.run(Thread.java:536)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to