File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Tomcat and the fly likes The body of the request is lost when you send the POST method Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCM Java EE 6 Enterprise Architect Exam Guide this week in the OCMJEA forum!
JavaRanch » Java Forums » Products » Tomcat
Bookmark "The body of the request is lost when you send the POST method" Watch "The body of the request is lost when you send the POST method" New topic
Author

The body of the request is lost when you send the POST method

Eugene Batogov
Greenhorn

Joined: Sep 30, 2009
Posts: 2
Hello!
I have a critical issue, most likely associated with Tomcat 5.5.X.
This is bug in tomcat bugzilla: https://issues.apache.org/bugzilla/show_bug.cgi?id=47797
------------------------------
My environment:
OS: RHEL 5 x86 or x86-64;
JVM: sun-jdk-1.6.0.16 or jrockit-R27.5.0-jdk1.6.0_03;
AS: JBoss AS 4.2.3.GA (with Tomcat 5.5.X (JBossWeb-2.0.1.GA ) inside)

------------------------------
I implemented web-service using apache xml-rpc 3.1.2.
Then I call it from the http client. (apache httpclient 4.0).
This my request:



This request is almost always handled properly.But sometimes the body of the
HTTP request is lost and the server sends a reply, as if the request body is
empty.

I fulfilled a lot of tests. This error does not depend on the load application
server. Fortuitous. But because of this, our clients can not work normally.
Therefore, I think this problem critical.

My Catalina setting:




I assure that the error at Tomcat.
Because after the expansion logging all talking about it. And at the servlet
level is already coming InputStream, whose size = - 1!

NoSuchMethodException emerged, when from catalina level receive empty body of
POST Request. And parser begin to analyze empty xml !

I became receive other error:




This is not always the case. And from time to time, and says that comes a blank
document! That is the request body is empty, even though all the headlines come
to normal! Also, the server always send the same request. See attached dump.

Error occurred in CoyoteAdapter.service():
in line:




Periodically, the body disappears POST-request with the same query!
I wrote a test client. It httpClient sends a test request, and on the server
side, the servlet it takes. And trying to read.
Sometimes there is a situation that the titles are coming, but the body is
absent.
That is, when reading req.getInputStream().read(...) we obtain -1.
This error appears periodically. Tested on JBoss-4.2.2.GA with Tomcat 5.5.X.


1. This problem occurs not every time, but we have it in a production
environment there is very often that annoys customers.

2. This test should be run on version 5.5.21, or that what is included in
JBoss. And we need to at least day it worked.

3. The most important thing! I replaced the tomcat in JBoss 4.2.2.GA on Jetty
6.1.18 and the problem disappeared. I think this clearly indicates that the
problem is inside Tomcat.

4. The fact that we can not take the latest version of tomcat from the fact
that JBoss is tightly integrated. : (

5. I repeat that the titles always come and parsed fine. But it is the body of
POST-request is lost. No matter what the parser chooses the remaining data from
the stream. Always returns -1!


Thanks in advance for help.

Eugene Batogov
Greenhorn

Joined: Sep 30, 2009
Posts: 2
I cathed trace during this problem:

 
 
subject: The body of the request is lost when you send the POST method