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]