I have a servlet that recieves data from a client. All the servlet is doing is reading 
from the InputStream of the HttpServletResponse (BufferedReader br = new 
BufferedReader( new InputStreamReader(request.getInputStream()));) and writing the 
data to a disk file.

Periodically Tomcat refuses to read the data and dumps with an IOException (attached 
below). I've googled for the error message but all I can find is references to CVS 
versions of the AJP13 code - which puts me out of my depth. I can't find any reference 
to the error message in the list archives.

The "odd" thing is this seems to be related to the size of the data stream. The data 
is actually an Order Confirmation and when the order contains five lines at 7745 bytes 
everything works OK. When the order contains 6 lines (or more) at 8862 bytes then I 
get the dump. It's not related to the data content - I've tested this by using known 
good data.

I'm using Tomcat 4.1.7-LE-jdk14 - upgrading is an option, but not one I will be able 
to undertake lightly.

Regards
Roger 


29-Oct-2004 11:14:15 org.apache.jk.common.ChannelSocket receive
WARNING: can't read body, waited #0
java.io.IOException
        at org.apache.jk.common.JkInputStream.receive(JkInputStream.java:304)
        at org.apache.jk.common.JkInputStream.refillReadBuffer(JkInputStream.jav
a:372)
        at org.apache.jk.common.JkInputStream.doRead(JkInputStream.java:284)
        at org.apache.jk.server.JkCoyoteHandler.doRead(JkCoyoteHandler.java:223)

        at org.apache.coyote.Request.doRead(Request.java:431)
        at org.apache.coyote.tomcat4.CoyoteInputStream.readBytes(CoyoteInputStre
am.java:195)
        at org.apache.coyote.tomcat4.CoyoteInputStream.read(CoyoteInputStream.ja
va:152)
        at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:406)
        at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:446)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:180)
        at java.io.InputStreamReader.read(InputStreamReader.java:167)
        at java.io.BufferedReader.fill(BufferedReader.java:136)
        at java.io.BufferedReader.readLine(BufferedReader.java:299)
        at java.io.BufferedReader.readLine(BufferedReader.java:362)
        at PlayReceiveXMLAsPost.processRequest(PlayReceiveXMLAsPost.java:57)
        at PlayReceiveXMLAsPost.doPost(PlayReceiveXMLAsPost.java:123)
        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(Appl
icationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:260)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2350)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:22
3)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:253)

        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:355)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:516)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
va:488)
        at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:593)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:533)
        at java.lang.Thread.run(Thread.java:536)


__________________________________________________________________________
This e-mail and the documents attached are confidential and intended 
solely for the addressee; it may also be privileged. If you receive this 
e-mail in error, please notify the sender immediately and destroy it.
As its integrity cannot be secured on the Internet, the Atos Origin group 
liability cannot be triggered for the message content. Although the 
sender endeavours to maintain a computer virus-free network, the sender 
does not warrant that this transmission is virus-free and will not be 
liable for any damages resulting from any virus transmitted.
__________________________________________________________________________

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

Reply via email to