Return-Path: Mailing-List: contact tomcat-user-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list tomcat-user@jakarta.apache.org Received: (qmail 55709 invoked from network); 14 Nov 2000 11:24:05 -0000 Received: from web1305.mail.yahoo.com (128.11.23.155) by locus.apache.org with SMTP; 14 Nov 2000 11:24:05 -0000 Received: (qmail 13118 invoked by uid 60001); 14 Nov 2000 11:24:06 -0000 Message-ID: <20001114112406.13117.qmail@web1305.mail.yahoo.com> Received: from [32.101.162.56] by web1305.mail.yahoo.com; Tue, 14 Nov 2000 03:24:06 PST Date: Tue, 14 Nov 2000 03:24:06 -0800 (PST) From: Wyn Easton Subject: Please Look - 3.2 beta 7 problem - RequestDispatcher include() To: tomcat-user@jakarta.apache.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N Are you not suppose to mix URL access with a RequestDispatcher? Thanks. Also, in 3.2 beta 6 I could do an include() then a forward(). Now in 3.2 beta 7 I get an illegalState error on the forward() because of an open outputstream. I'm not opening an output stream. The include() must be doing it. --- Wyn Easton wrote: > I'm having this problem on 3.2 beta 7 > > The exact text of the exception is: > > java.lang.IllegalArgumentException: Short Read > > This Exception is being generated in HttpUtils.java in the > parsePostData() method. > > Here is what is happening: > > I'm opening a HttpURLConnection to servlet_A that has been set to use > the POST method by calling setRequestMethod("POST") for the > HttpURLConnection. In servlet_A I get a ServletInputStream and > read from the HttpURLConnection. > I then get an ServletOutputStream from the response. > I then get a RequestDispatcher for servlet_B. > When I call the include() method I get the exception mentioned > because parsePostData() in HttpUtils tries to read "len" number > of bytes from the ServletInputStream "in" and there is nothing > to read. I changed parsePostData() in HttpUtils to return an > empty Hashtable for this case and it worked fine. > (Maybe this is how this should work since nothing read means no > parameters in the POST data. Even if the len is greater than 0.) > > However, if I try to use the ServletOutputStream after returning > to servlet_A from servlet_B nothing is written to the original > HttpURLConnection. I don't know if the ServletOutputStream is > being closed when I return from the include(). I don't get an > Exception when writing to the ServletOutputStream. I just don't > get any data at the listening end of the HttpURLConnection. > > I'm going to modify my code to use the include() instead of > the HttpURLConnection, but shouldn't it work either way? > > Thanks. > > > ===== > Wyn Easton > wyn_easton@yahoo.com > > __________________________________________________ > Do You Yahoo!? > Yahoo! Calendar - Get organized for the holidays! > http://calendar.yahoo.com/ ===== Wyn Easton wyn_easton@yahoo.com __________________________________________________ Do You Yahoo!? Yahoo! Calendar - Get organized for the holidays! http://calendar.yahoo.com/