-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Kumar,

On 3/25/2010 4:34 PM, Kumar Kadiyala wrote:
> I have REST based web services some of which use the PUT method. The 
> PUT method can contain a request body. The web service works fine 
> with Websphere and is out in the field.
> 
> We are in the process of migrating to tomcat and I noticed that my 
> web service which uses PUT is not able to get the request body 
> anymore. I use HttpServletRequest's getInputStream and it always 
> returns null.

No exception, but you get NULL instead? Strange.

> What is the Content-Type of the request?
> KK >> The Content-Type is text/xml.

If the Content-Type is text/xml, you should probably be using
HttpServletRequest.getReader, but maybe not if you want the raw bytes to
provide to an XML parser.

> Changing the method to POST will affect customers in the field and
> also breaks RESTful principles.

I am not suggesting that you switch to POST.

> Yes, It does seem like the request body is empty.

Empty request body != null. Which is it? Can you verify with a packet
sniffer that the request body is actually non-null? What's the
Content-Length?

> I misspoke earlier. The InputStream is not null but the method
> available() on the InputStream is returning 0. If I change the method
> to POST, InputStream's avialable() is returning a value > 0.

InputStream.available returns the number of bytes readable without
blocking, not how many bytes can eventually be read by the caller.

Try actually reading from the InputStream and see what happens.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkus4e0ACgkQ9CaO5/Lv0PDDAACffWKdhyFzbDmY3KNi4+8s+Wjy
WGIAoIuW5Lo6MK0qEkqHeYVOUhM7oWNo
=TpUQ
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to