Return-Path: Delivered-To: apmail-hc-httpclient-users-archive@www.apache.org Received: (qmail 59761 invoked from network); 21 Jan 2009 21:39:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 21 Jan 2009 21:39:21 -0000 Received: (qmail 22785 invoked by uid 500); 21 Jan 2009 21:39:20 -0000 Delivered-To: apmail-hc-httpclient-users-archive@hc.apache.org Received: (qmail 22760 invoked by uid 500); 21 Jan 2009 21:39:20 -0000 Mailing-List: contact httpclient-users-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpClient User Discussion" Delivered-To: mailing list httpclient-users@hc.apache.org Received: (qmail 22749 invoked by uid 99); 21 Jan 2009 21:39:20 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Jan 2009 13:39:20 -0800 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of Natarajan_Valli@emc.com designates 128.222.32.20 as permitted sender) Received: from [128.222.32.20] (HELO mexforward.lss.emc.com) (128.222.32.20) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Jan 2009 21:39:11 +0000 Received: from hop04-l1d11-si01.isus.emc.com (HOP04-L1D11-SI01.isus.emc.com [10.254.111.54]) by mexforward.lss.emc.com (Switch-3.2.5/Switch-3.1.7) with ESMTP id n0LLcnJt004757 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 21 Jan 2009 16:38:49 -0500 (EST) From: Natarajan_Valli@emc.com Received: from mailhub.lss.emc.com (numailhub.lss.emc.com [10.254.144.15]) by hop04-l1d11-si01.isus.emc.com (Tablus Interceptor) for ; Wed, 21 Jan 2009 16:38:43 -0500 Received: from corpussmtp1.corp.emc.com (corpussmtp1.corp.emc.com [128.221.10.43]) by mailhub.lss.emc.com (Switch-3.3.2mp/Switch-3.3.2mp) with ESMTP id n0LLchcI024568 for ; Wed, 21 Jan 2009 16:38:43 -0500 Received: from CORPUSMX10C.corp.emc.com ([128.221.14.92]) by corpussmtp1.corp.emc.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 21 Jan 2009 16:38:42 -0500 x-mimeole: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: stream corruption Date: Wed, 21 Jan 2009 16:38:41 -0500 Message-ID: <7775458F94A771469DE0D8F473E7C598086761E2@CORPUSMX10C.corp.emc.com> In-Reply-To: <3C1617187464854DBCF0B0F60ECC6EEA079AC16B@paems351.starbucks.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: stream corruption Thread-Index: Acl8Afo9nsQRuZjnR/yzwO8L2e61SAAAGA+QAAMAgfAAAIZEUA== References: <7775458F94A771469DE0D8F473E7C598085DCDC0@CORPUSMX10C.corp.emc.com> <7775458F94A771469DE0D8F473E7C598085DCE72@CORPUSMX10C.corp.emc.com> <7775458F94A771469DE0D8F473E7C598085DCEB7@CORPUSMX10C.corp.emc.com> <7775458F94A771469DE0D8F473E7C59808676117@CORPUSMX10C.corp.emc.com> <3C1617187464854DBCF0B0F60ECC6EEA079AC16B@paems351.starbucks.net> To: X-OriginalArrivalTime: 21 Jan 2009 21:38:42.0884 (UTC) FILETIME=[A192C040:01C97C10] X-EMM-EM: Active X-Virus-Checked: Checked by ClamAV on apache.org We read status text when return code is not 200 post.getStatusText() Is that enough?=20 Thanks Valli -----Original Message----- From: Pete Keyes [mailto:PKeyes@starbucks.com]=20 Sent: Wednesday, January 21, 2009 1:23 PM To: HttpClient User Discussion Subject: RE: stream corruption That will fail to clear the connection stream any time the HTTP return code is not 200. You must always completely read the HTTP response - or face corruption. =20 ...Pete Starbucks Coffee Co. 2601 Utah Ave S. Seattle, WA. 98134 (work) 206-318-5933 (cell) 206-226-4552=20 (page) 206-314-2054 or 2063142054@archwireless.net -----Original Message----- From: Natarajan_Valli@emc.com [mailto:Natarajan_Valli@emc.com]=20 Sent: Wednesday, January 21, 2009 12:00 PM To: httpclient-users@hc.apache.org Subject: RE: stream corruption Yes all defaults. Code snippet m_multiThreadedHttpConnectionManager =3D new MultiThreadedHttpConnectionManager(); m_client =3D new = HttpClient(m_multiThreadedHttpConnectionManager); PostMethod post =3D new PostMethod(url); try { post.setRequestEntity(new InputStreamRequestEntity(serializeObject(request))); NameValuePair[] pair =3D new NameValuePair[1]; pair[0] =3D new NameValuePair(name, value); post.setQueryString(pair); m_client.executeMethod(post); if (post.getStatusCode() =3D=3D 200) { ObjectInputStream responseStream =3D new ObjectInputStream(post.getResponseBodyAsStream()); return responseStream.readObject(); } -----Original Message----- From: raykroeker@gmail.com [mailto:raykroeker@gmail.com] On Behalf Of Raymond Kroeker Sent: Wednesday, January 21, 2009 11:53 AM To: HttpClient User Discussion Subject: Re: stream corruption What about any retry params. I'm guessing you're using the defaults there too? On Wed, Jan 21, 2009 at 10:44, wrote: > we use standard ones (no customization) > > org.apache.commons.httpclient.methods.PostMethod > org.apache.commons.httpclient.methods.InputStreamRequestEntity (we > buffer the serialized java object and pass ByteArrayInputStream to > InputStreamRequestEntity). > > As recommended we re-use HttpClient object and create PostMethod object > every time by passing url. Also use default params and its values. > > Thanks > Valli > > -----Original Message----- > From: raykroeker@gmail.com [mailto:raykroeker@gmail.com] On Behalf Of > Raymond Kroeker > Sent: Wednesday, January 21, 2009 10:32 AM > To: HttpClient User Discussion > Subject: Re: stream corruption > > What about the http methods themselves. Are you using the vanilla > versions that come with http client; are you extending them in any > way; are you using a request entity for either post/put? > > Raymond > > On Wed, Jan 21, 2009 at 10:20, wrote: >> Raymond, >> >> Thanks for reply. >> >> 1. Yes & no. The problem re-occurs but things work fine when we resend >> failed request. So, there is no testcase or data that reproduce the >> problem as needed. >> 2. I tried to buffer & dump content on server side before calling >> ObjectInputStream and readObject in order to see content of malformed >> stream. Unfortunately, the problem did not occur or at least the > problem >> is delayed for hours... >> >> Additional information is, we use MultiThreadedHttpConnectionManager > on >> client side. >> >> Thanks >> Valli >> >> -----Original Message----- >> From: raykroeker@gmail.com [mailto:raykroeker@gmail.com] On Behalf Of >> Raymond Kroeker >> Sent: Wednesday, January 21, 2009 10:07 AM >> To: HttpClient User Discussion >> Subject: Re: stream corruption >> >> Hi Natarajan, >> I've been using hc 3.0.1 for a long while and have never noticed >> this issue. I have a couple of questions. >> >> 1. Can you reproduce the event that causes the error? >> 2. Can you see what the content of the malformed stream is? >> >> If neither of these is true I would suggest that you persist the >> request content such that when the error occurs you can troubleshoot >> the problem and ask better questions. >> >> Raymond >> >> On Wed, Jan 21, 2009 at 09:02, wrote: >>> We use HttpClient version 3.0.1 and recently noticed stream >> corruption. >>> The corruption is noticed on server side when the server (webapp >> running >>> in Jboss server) receives those requests. We believe that at some >> point >>> content of 2 requests are mixed. Is that possible? The problem is > very >>> intermittent but happens very often. >>> >>> >>> >>> Here is the code snippet that receives the stream on server side >>> >>> >>> >>> ObjectInputStream reqStream =3D new >>> ObjectInputStream(httpServletReq.getInputStream()); >>> >>> return (IRequest) reqStream.readObject(); >>> >>> >>> >>> >>> >>> exception returned by this when problem occurs >>> >>> >>> >>> java.lang.NullPointerException >>> >>> at >>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1820) >>> >>> at >>> >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719 >>> ) >>> >>> at >>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) >>> >>> at >>> >> > java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908) >>> >>> at >>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832) >>> >>> at >>> >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719 >>> ) >>> >>> at >>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) >>> >>> at >>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) >>> >>> >>> >>> Any idea to resolve this problem is highly appreciated! >>> >>> >>> >>> Thanks >>> >>> Valli >>> >>> >>> >>> >> >> >> >> -- >> --------------------------------------------------------- >> Raymond Kroeker >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org >> For additional commands, e-mail: httpclient-users-help@hc.apache.org >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org >> For additional commands, e-mail: httpclient-users-help@hc.apache.org >> >> > > > > -- > --------------------------------------------------------- > Raymond Kroeker > > --------------------------------------------------------------------- > To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org > For additional commands, e-mail: httpclient-users-help@hc.apache.org > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org > For additional commands, e-mail: httpclient-users-help@hc.apache.org > > --=20 --------------------------------------------------------- Raymond Kroeker --------------------------------------------------------------------- To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org For additional commands, e-mail: httpclient-users-help@hc.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org For additional commands, e-mail: httpclient-users-help@hc.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org For additional commands, e-mail: httpclient-users-help@hc.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org For additional commands, e-mail: httpclient-users-help@hc.apache.org