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 ? ????&_?Z?O??4??m??f ?????L???Xe9??g??L?J6Ch?????????&?h? MU???([?d2F=??`???????x???Z?\/k;u7?Q9?HQ[sG&6?FI???c??U??????LL?hT? :????B7?Y%???z?7v?9??????U?bR5y?ez?4??e?a????)??h?`??Sz???y?? "[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 ? ????&_?Z?O??4??m??f ?????L???Xe9??g??L?J6Ch?????????&?h? MU???([?d2F=??`???????x???Z?\/k;u7?Q9?HQ[sG&6?FI???c??U??????LL?hT? :????B7?Y%???z?7v?9??????U?bR5y?ez?4??e?a????)??h?`??Sz???y?? "[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 ? ????&_?Z?O??4??m??f ?????L???Xe9??g??L?J6Ch?????????&?h? MU???([?d2F=??`???????x???Z?\/k;u7?Q9?HQ[sG&6?FI???c??U??????LL?hT? :????B7?Y%???z?7v?9??????U?bR5y?ez?4??e?a????)??h?`??Sz???y?? "[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]