I can't specify the source of this advice exactly, because I forgot it (it was somewhere on Microsoft's website), but what the article said was that when IE sends these multple requests, they are actually different in something like "UserAgent" http header (a better header they couldn't find!). Only the last request needs to return the actual PDF document, the first one or two requests only look for Content-Type of the response.
If you investigate (by dumping all fields from the HttpServletRequest) and find something of this kind, please post to the list. YS -----Original Message----- From: David Frankson [mailto:[EMAIL PROTECTED]] Sent: Tuesday, November 20, 2001 4:02 PM To: [EMAIL PROTECTED] Subject: Re: servlet called thrice on IE 4.0 It is a behavior that is unavoidable in IE. I cache the pdf and return it on the second hit. Dave ----- Original Message ----- From: "Savino, Matt C" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, November 20, 2001 11:09 AM Subject: servlet called thrice on IE 4.0 > I know this has been discussed here before, but I just wanted to ask in case > anyone has discovered a solution. Basically I'm etting that problem where IE > is calling the FOP servelt twice. Only on Weblogic, the second call seems to > be causing a socket error. The net result is that the servelt has to be > called three times to actually work (I've pasted the output below). I've > verified that IE 4.72 and beyond don't see this problem. Just wondering if > anyone ever found a fix. > > Thanks a lot, > Matt > > > Below is the output from ONE call to > http://localhost:7001/resultview/ReportGenerator.jsp?counter=25 (the > 'counter=' piece is put in to avoid IE-early-version caching problem): > > > servlet: session ID = > O1qHKkV5IXQWz0y11xfOSj8vbLdv3Uzl9lVf5mSDqcEHTJtX7mca!-2004853107!-1675706787 > !7001!7002!1006274346312 > ReportGeneratorServlet says hiTue Nov 20 09:09:49 PST 2001 > srd.contentType = pdf > srd.reportId = 1001 > reportProps.getProperty(report1001) = lr > Writing XML source to: C:\bea\wlserver6.1\ReportOutput.xml > > Writing FO source to: C:\bea\wlserver6.1\ReportOutput.xml > > building formatting object tree > setting up fonts > [1] [2] > Parsing of document complete, stopping renderer > Initial heap size: 45687Kb > Current heap size: 52679Kb > Total memory used: 6991Kb > Memory use is indicative; no GC was performed > These figures should not be used comparatively > Total time used: 1688ms > Pages rendererd: 2 > Avg render time: 844ms/page > servlet: session ID = > O1qHKkV5IXQWz0y11xfOSj8vbLdv3Uzl9lVf5mSDqcEHTJtX7mca!-2004853107!-1675706787 > !7001!7002!1006274346312 > ReportGeneratorServlet says hiTue Nov 20 09:09:51 PST 2001 > srd.contentType = pdf > srd.reportId = 1001 > reportProps.getProperty(report1001) = lr > Writing XML source to: C:\bea\wlserver6.1\ReportOutput.xml > > Writing FO source to: C:\bea\wlserver6.1\ReportOutput.xml > > building formatting object tree > setting up fonts > [1] [2] > Parsing of document complete, stopping renderer > Initial heap size: 53805Kb > Current heap size: 61054Kb > Total memory used: 7249Kb > Memory use is indicative; no GC was performed > These figures should not be used comparatively > Total time used: 1563ms > Pages rendererd: 2 > Avg render time: 781ms/page > <Nov 20, 2001 9:09:53 AM PST> <Error> <HTTP> > <[WebAppServletContext(1024240,RVWebApp1,/RVWebApp1)] Root cause of > ServletException > java.net.SocketException: Connection aborted by peer: socket write error > at java.net.SocketOutputStream.socketWrite(Native Method) > at java.net.SocketOutputStream.write(SocketOutputStream.java:83) > at > weblogic.servlet.internal.ChunkUtils.writeChunkNoTransfer(ChunkUtils.java:20 > 2) > at > weblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java:167) > at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:248) > at > weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java:306) > at weblogic.servlet.internal.ChunkOutput.write(ChunkOutput.java:197) > at > weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:1 > 25) > at > weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutputStreamI > mpl.java:155) > at java.io.OutputStream.write(OutputStream.java:61) > at > com.questdiagnostics.applications.resultview.servlet.ReportGeneratorServlet. > renderPdf(ReportGeneratorServlet.java:171) > at > com.questdiagnostics.applications.resultview.servlet.ReportGeneratorServlet. > renderReport(ReportGeneratorServlet.java:120) > at > com.questdiagnostics.applications.resultview.servlet.ReportGeneratorServlet. > service(ReportGeneratorServlet.java:67) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java > :265) > at > weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java > :200) > at > weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo > ntext.java:2456) > at > weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java > :2039) > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120) > > > servlet: session ID = > O1qHKkV5IXQWz0y11xfOSj8vbLdv3Uzl9lVf5mSDqcEHTJtX7mca!-2004853107!-1675706787 > !7001!7002!1006274346312 > ReportGeneratorServlet says hiTue Nov 20 09:09:53 PST 2001 > srd.contentType = pdf > srd.reportId = 1001 > reportProps.getProperty(report1001) = lr > Writing XML source to: C:\bea\wlserver6.1\ReportOutput.xml > > Writing FO source to: C:\bea\wlserver6.1\ReportOutput.xml > > building formatting object tree > setting up fonts > [1] [2] > Parsing of document complete, stopping renderer > Initial heap size: 62476Kb > Current heap size: 69431Kb > Total memory used: 6955Kb > Memory use is indicative; no GC was performed > These figures should not be used comparatively > Total time used: 1609ms > Pages rendererd: 2 > Avg render time: 804ms/page > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, email: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
