You never said what is the difference between your environment and the customer one or I missed that info. Same OS? Same Java version?
On Tue, Nov 1, 2011 at 12:42 PM, Anantaneni Harish < anantaneni.har...@vertexsoft.com> wrote: > > Any thoughts about this? > > Thanks and Regards, > Harish > -----Original Message----- > From: Anantaneni Harish > Sent: Monday, October 31, 2011 11:23 AM > To: Tomcat Users List > Subject: RE: cannot read complete HTTP request body. It reads only 8192 > characters > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = request.getReader(); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads incomplete data(read only 8192 bytes) at my customer's > environment, but reads complete data in my environment. > > String keyValuePair = null; > String[] arrKeyValue = null; > BufferedReader in = new BufferedReader(new > InputStreamReader(request.getInputStream())); > while ((keyValuePair = in.readLine()) != null) { > arrKeyValue = keyValuePair.split("="); > > Above code reads complete data in both the environments. *no changes done > to customer's environment. > > I hope you can help me now by finding the reason for data lost at my > customer's environment when using request.getReader(). > > Thanks and Regards, > Harish > > -----Original Message----- > From: André Warnier [mailto:a...@ice-sa.com] > Sent: Friday, October 28, 2011 9:08 PM > To: Tomcat Users List > Subject: Re: cannot read complete HTTP request body. It reads only 8192 > characters > > Konstantin Kolinko wrote: > > 2011/10/27 Christopher Schultz <ch...@christopherschultz.net>: > >> On 10/27/2011 4:58 AM, Anantaneni Harish wrote: > >>> Thanks for the directions the Rainer. Actually the issue is just > >>> solved. > >>> > >>> We have changed from BufferedReader in = request.getReader(); > >>> > >>> to > >>> > >>> BufferedReader in = new BufferedReader(new > >>> InputStreamReader(request.getInputStream())); > >>> > >>> Now whole body has been read at my client's environment as well. > >>> > >>> But would like to know, what causes the issue. Do you have any > >>> idea, why same method can read whole data in my environment and > >>> does not read whole data at my customer's environment? > >> You'll have to provide more information, such as the code you are > >> using. > >> > >> I'm fairly sure Tomcat is not the source of the problem. > >> > > > > +1. > > > > I think you need to pay more attention on the documentation of the > > java.io.Reader#read() method, or maybe look for a tutorial. > > > > See also documentation for java.io.InputStream#available(). > > > > In short: the read() method returns a portion of data that is > > currently available. If you need more data you must call read() > > repeatedly in a loop until it returns -1. > > > > .. and the difference between two systems, may be that on one system, the > network is > faster (or the system slower, or the buffer bigger) and so by the time you > do the read, > there are more bytes available in the buffer. > > > If you had provided some of your source code that performs reading, we > > would be able to point at the exact error in your code. > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >