Re: Streaming pdf document fails

2004-05-11 Thread Sasha Borodin
Bert,

I just ran across something similar today, read this document:

http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:
80/support/kb/articles/q316/4/31.aspNoWebContent=1

The way I understand it, IE wants to save the file in cache before letting
you view it; if you're requesting something via SSL (https://...) IE
actually honors the cache defeating tags, which I noticed you have; hence
the error.  Removing the...

 Pragma: No-cache
 Cache-Control: no-cache

...headers should fix your problem, I think.  It worked for me, let me know
if this words for you too.

-Sasha

 From: Summers, Bert W. [EMAIL PROTECTED]
 Reply-To: Tomcat Users List [EMAIL PROTECTED]
 Date: Tue, 11 May 2004 12:32:49 -0700
 To: Tomcat Users List [EMAIL PROTECTED]
 Subject: RE: Streaming pdf document fails
 
 This is what tcptrace tells me is being sent back to the browser
 
 HTTP/1.1 200 OK
 Pragma: No-cache
 Cache-Control: no-cache
 Expires: Thu, 01 Jan 1970 00:00:00 GMT
 Content-disposition: attachment; filename=N77-NTSP-E-70-0203.pdf
 Content-Type: application/pdf
 Content-Length: 443928
 Date: Tue, 11 May 2004 19:29:37 GMT
 Server: Apache-Coyote/1.1
 
 If I remove the Content-disposition then the PDF opens in the browser ok,
 but that is not what I want.
 Secondly Mozilla still asks for the file twice and gets it, but only
 displays one of them.
 
 
 -Original Message-
 From: Christoph Meier [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, May 11, 2004 12:28 PM
 To: Tomcat Users List
 Subject: Re: Streaming pdf document fails
 
 
 As far as i remeber, IE wants to know the content-length to show a PDF. =
 put the appopriate content-length into your Response-Header, ensure
 to have set the right content-type and i would expect that the
 PDF-stream should work then for IE, too.
 
 _christoph
 
 I have a problem that just came up.  I have PDF documents located out
 side of my webapps directory. When the user wants one they go to my
 servlet which streams it back. This use to work just fine, but now is
 broke.
 
 In IE I get Error opening document on TC4.1.30 and unable to open this
 Internet site in TC 5.0.19
 
 Mozilla 1.6 does not have a problem opening the file.
 
 What is odd is that Mozilla seems to request the servlet twice from one
 click, the first tends to throw this
 ClientAbortException:  java.net.SocketException: Software caused
 connection
 abort: socket write error
at
 org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:410
 )
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:332)
at
 org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:438)
at
 org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:425)
at
 org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:
 1
 08)
at GetPDFDoc.outputFile(GetPDFDoc.java:128)
at GetPDFDoc.processRequest(GetPDFDoc.java:86)
at GetPDFDoc.doGet(GetPDFDoc.java:147)
 
 Is there anything wrong with what I am doing?
  response.setContentType(application/pdf);
  response.setDateHeader(Expires, 0);
 // open pdf outside of browser
  response.addHeader(Content-disposition, attachment; filename=
 + ntspNo + .pdf);
  response.setContentLength((int)f.length());
  java.io.OutputStream out = response.getOutputStream(); // f is
 the pdf on the file system and it does exist
  java.io.FileInputStream in = new java.io.FileInputStream(f);
  int size = 0;
  byte[] buffer = new byte[8192];
  while( (size = in.read(buffer, 0, buffer.length)) != -1)
  {
out.write(buffer, 0, size);
  }
  in.close();
  out.close();
 
 Thanks
 
  
 
 
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Streaming pdf document fails

2004-05-11 Thread Summers, Bert W.
Added
  response.setHeader(Pragma, cache);
  response.setHeader(Cache-Control, cache);

And now it works.
I was not adding the cache-control, something else must have but did not
override my setting to cache.

Mozilla still double downloads, but then 90% of my users are IE.

Thanks.

-Original Message-
From: Sasha Borodin [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 11, 2004 2:23 PM
To: Tomcat Users List
Subject: Re: Streaming pdf document fails


Bert,

I just ran across something similar today, read this document:

http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:
80/support/kb/articles/q316/4/31.aspNoWebContent=1

The way I understand it, IE wants to save the file in cache before letting
you view it; if you're requesting something via SSL (https://...) IE
actually honors the cache defeating tags, which I noticed you have; hence
the error.  Removing the...

 Pragma: No-cache
 Cache-Control: no-cache

...headers should fix your problem, I think.  It worked for me, let me know
if this words for you too.

-Sasha

 From: Summers, Bert W. [EMAIL PROTECTED]
 Reply-To: Tomcat Users List [EMAIL PROTECTED]
 Date: Tue, 11 May 2004 12:32:49 -0700
 To: Tomcat Users List [EMAIL PROTECTED]
 Subject: RE: Streaming pdf document fails
 
 This is what tcptrace tells me is being sent back to the browser
 
 HTTP/1.1 200 OK
 Pragma: No-cache
 Cache-Control: no-cache
 Expires: Thu, 01 Jan 1970 00:00:00 GMT
 Content-disposition: attachment; filename=N77-NTSP-E-70-0203.pdf
 Content-Type: application/pdf
 Content-Length: 443928
 Date: Tue, 11 May 2004 19:29:37 GMT
 Server: Apache-Coyote/1.1
 
 If I remove the Content-disposition then the PDF opens in the browser 
 ok, but that is not what I want. Secondly Mozilla still asks for the 
 file twice and gets it, but only displays one of them.
 
 
 -Original Message-
 From: Christoph Meier [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, May 11, 2004 12:28 PM
 To: Tomcat Users List
 Subject: Re: Streaming pdf document fails
 
 
 As far as i remeber, IE wants to know the content-length to show a 
 PDF. = put the appopriate content-length into your Response-Header, 
 ensure to have set the right content-type and i would expect that the 
 PDF-stream should work then for IE, too.
 
 _christoph
 
 I have a problem that just came up.  I have PDF documents located out 
 side of my webapps directory. When the user wants one they go to my 
 servlet which streams it back. This use to work just fine, but now is 
 broke.
 
 In IE I get Error opening document on TC4.1.30 and unable to open 
 this Internet site in TC 5.0.19
 
 Mozilla 1.6 does not have a problem opening the file.
 
 What is odd is that Mozilla seems to request the servlet twice from 
 one click, the first tends to throw this
 ClientAbortException:  java.net.SocketException: Software caused 
 connection
 abort: socket write error
at 
 org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.ja
 va:410
 )
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:332)
at
 org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:438)
at
 org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:425)
at
 org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream
 .java:
 1
 08)
at GetPDFDoc.outputFile(GetPDFDoc.java:128)
at GetPDFDoc.processRequest(GetPDFDoc.java:86)
at GetPDFDoc.doGet(GetPDFDoc.java:147)
 
 Is there anything wrong with what I am doing?
  response.setContentType(application/pdf);
  response.setDateHeader(Expires, 0);
 // open pdf outside of browser
  response.addHeader(Content-disposition, attachment; 
 filename=
 + ntspNo + .pdf);
  response.setContentLength((int)f.length());
  java.io.OutputStream out = response.getOutputStream(); // f is 
 the pdf on the file system and it does exist
  java.io.FileInputStream in = new java.io.FileInputStream(f);
  int size = 0;
  byte[] buffer = new byte[8192];
  while( (size = in.read(buffer, 0, buffer.length)) != -1)
  {
out.write(buffer, 0, size);
  }
  in.close();
  out.close();
 
 Thanks
 
  
 
 
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Streaming pdf document fails

2004-05-11 Thread Summers, Bert W.
I have a problem that just came up.  I have PDF documents located out side
of my webapps directory.
When the user wants one they go to my servlet which streams it back.
This use to work just fine, but now is broke.
 
In IE I get Error opening document on TC4.1.30 and unable to open this
Internet site in TC 5.0.19
 
Mozilla 1.6 does not have a problem opening the file.
 
What is odd is that Mozilla seems to request the servlet twice from one
click, the first tends to throw this
ClientAbortException:  java.net.SocketException: Software caused connection
abort: socket write error
at
org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:410)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:332)
at
org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:438)
at
org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:425)
at
org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:1
08)
at GetPDFDoc.outputFile(GetPDFDoc.java:128)
at GetPDFDoc.processRequest(GetPDFDoc.java:86)
at GetPDFDoc.doGet(GetPDFDoc.java:147)
 
Is there anything wrong with what I am doing?
  response.setContentType(application/pdf);
  response.setDateHeader(Expires, 0);
// open pdf outside of browser
  response.addHeader(Content-disposition, attachment; filename= +
ntspNo + .pdf);
  response.setContentLength((int)f.length());
  java.io.OutputStream out = response.getOutputStream();
// f is the pdf on the file system and it does exist
  java.io.FileInputStream in = new java.io.FileInputStream(f);
  int size = 0;
  byte[] buffer = new byte[8192];
  while( (size = in.read(buffer, 0, buffer.length)) != -1)
  {
out.write(buffer, 0, size);
  }
  in.close();
  out.close();
 
Thanks


Re: Streaming pdf document fails

2004-05-11 Thread Christoph Meier
As far as i remeber, IE wants to know the content-length to show a PDF.
= put the appopriate content-length into your Response-Header, ensure 
to have set the right content-type and i would expect that the 
PDF-stream should work then for IE, too.

_christoph

I have a problem that just came up.  I have PDF documents located out side
of my webapps directory.
When the user wants one they go to my servlet which streams it back.
This use to work just fine, but now is broke.
In IE I get Error opening document on TC4.1.30 and unable to open this
Internet site in TC 5.0.19
Mozilla 1.6 does not have a problem opening the file.

What is odd is that Mozilla seems to request the servlet twice from one
click, the first tends to throw this
ClientAbortException:  java.net.SocketException: Software caused connection
abort: socket write error
   at
org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:410)
   at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:332)
   at
org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:438)
   at
org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:425)
   at
org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:1
08)
   at GetPDFDoc.outputFile(GetPDFDoc.java:128)
   at GetPDFDoc.processRequest(GetPDFDoc.java:86)
   at GetPDFDoc.doGet(GetPDFDoc.java:147)
Is there anything wrong with what I am doing?
 response.setContentType(application/pdf);
 response.setDateHeader(Expires, 0);
// open pdf outside of browser
 response.addHeader(Content-disposition, attachment; filename= +
ntspNo + .pdf);
 response.setContentLength((int)f.length());
 java.io.OutputStream out = response.getOutputStream();
// f is the pdf on the file system and it does exist
 java.io.FileInputStream in = new java.io.FileInputStream(f);
 int size = 0;
 byte[] buffer = new byte[8192];
 while( (size = in.read(buffer, 0, buffer.length)) != -1)
 {
   out.write(buffer, 0, size);
 }
 in.close();
 out.close();
Thanks

 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Streaming pdf document fails

2004-05-11 Thread Summers, Bert W.
This is what tcptrace tells me is being sent back to the browser

HTTP/1.1 200 OK
Pragma: No-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-disposition: attachment; filename=N77-NTSP-E-70-0203.pdf
Content-Type: application/pdf
Content-Length: 443928
Date: Tue, 11 May 2004 19:29:37 GMT
Server: Apache-Coyote/1.1

If I remove the Content-disposition then the PDF opens in the browser ok,
but that is not what I want.
Secondly Mozilla still asks for the file twice and gets it, but only
displays one of them.


-Original Message-
From: Christoph Meier [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 11, 2004 12:28 PM
To: Tomcat Users List
Subject: Re: Streaming pdf document fails


As far as i remeber, IE wants to know the content-length to show a PDF. =
put the appopriate content-length into your Response-Header, ensure 
to have set the right content-type and i would expect that the 
PDF-stream should work then for IE, too.

_christoph

I have a problem that just came up.  I have PDF documents located out 
side of my webapps directory. When the user wants one they go to my 
servlet which streams it back. This use to work just fine, but now is 
broke.
 
In IE I get Error opening document on TC4.1.30 and unable to open this 
Internet site in TC 5.0.19
 
Mozilla 1.6 does not have a problem opening the file.
 
What is odd is that Mozilla seems to request the servlet twice from one 
click, the first tends to throw this
ClientAbortException:  java.net.SocketException: Software caused 
connection
abort: socket write error
at
org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:410
)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:332)
at
org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:438)
at
org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:425)
at
org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:
1
08)
at GetPDFDoc.outputFile(GetPDFDoc.java:128)
at GetPDFDoc.processRequest(GetPDFDoc.java:86)
at GetPDFDoc.doGet(GetPDFDoc.java:147)
 
Is there anything wrong with what I am doing?
  response.setContentType(application/pdf);
  response.setDateHeader(Expires, 0);
// open pdf outside of browser
  response.addHeader(Content-disposition, attachment; filename= 
+ ntspNo + .pdf);
  response.setContentLength((int)f.length());
  java.io.OutputStream out = response.getOutputStream(); // f is 
the pdf on the file system and it does exist
  java.io.FileInputStream in = new java.io.FileInputStream(f);
  int size = 0;
  byte[] buffer = new byte[8192];
  while( (size = in.read(buffer, 0, buffer.length)) != -1)
  {
out.write(buffer, 0, size);
  }
  in.close();
  out.close();
 
Thanks

  




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Streaming pdf document fails

2004-05-11 Thread Christoph Meier
I never used Content-disposition, yet. But it worked.
What is the Content-disposition for? to let the client sto store the 
PDF under the name which is after filename=? ...



This is what tcptrace tells me is being sent back to the browser

HTTP/1.1 200 OK
Pragma: No-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-disposition: attachment; filename=N77-NTSP-E-70-0203.pdf
Content-Type: application/pdf
Content-Length: 443928
Date: Tue, 11 May 2004 19:29:37 GMT
Server: Apache-Coyote/1.1
If I remove the Content-disposition then the PDF opens in the browser ok,
but that is not what I want.
Secondly Mozilla still asks for the file twice and gets it, but only
displays one of them.
-Original Message-
From: Christoph Meier [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 11, 2004 12:28 PM
To: Tomcat Users List
Subject: Re: Streaming pdf document fails

As far as i remeber, IE wants to know the content-length to show a PDF. =
put the appopriate content-length into your Response-Header, ensure 
to have set the right content-type and i would expect that the 
PDF-stream should work then for IE, too.

_christoph

 

I have a problem that just came up.  I have PDF documents located out 
side of my webapps directory. When the user wants one they go to my 
servlet which streams it back. This use to work just fine, but now is 
broke.

In IE I get Error opening document on TC4.1.30 and unable to open this 
Internet site in TC 5.0.19

Mozilla 1.6 does not have a problem opening the file.

What is odd is that Mozilla seems to request the servlet twice from one 
click, the first tends to throw this
ClientAbortException:  java.net.SocketException: Software caused 
connection
abort: socket write error
  at
org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:410
   

)
 

  at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:332)
  at
org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:438)
  at
org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:425)
  at
org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:
   

1
 

08)
  at GetPDFDoc.outputFile(GetPDFDoc.java:128)
  at GetPDFDoc.processRequest(GetPDFDoc.java:86)
  at GetPDFDoc.doGet(GetPDFDoc.java:147)
Is there anything wrong with what I am doing?
response.setContentType(application/pdf);
response.setDateHeader(Expires, 0);
// open pdf outside of browser
response.addHeader(Content-disposition, attachment; filename= 
+ ntspNo + .pdf);
response.setContentLength((int)f.length());
java.io.OutputStream out = response.getOutputStream(); // f is 
the pdf on the file system and it does exist
java.io.FileInputStream in = new java.io.FileInputStream(f);
int size = 0;
byte[] buffer = new byte[8192];
while( (size = in.read(buffer, 0, buffer.length)) != -1)
{
  out.write(buffer, 0, size);
}
in.close();
out.close();

Thanks



   



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Streaming pdf document fails

2004-05-11 Thread Bui, Bao-Ha D
I am not using it with all the app server you mentioned but in my mimetype
string is application/octet-stream and it works.  However, it also doing
the double request like you mentioned.  When you find out why it's doing
that, please post.

Thanks.

-Original Message-
From: Summers, Bert W. [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 11, 2004 1:55 PM
To: [EMAIL PROTECTED]
Subject: Streaming pdf document fails

I have a problem that just came up.  I have PDF documents located out side
of my webapps directory.
When the user wants one they go to my servlet which streams it back.
This use to work just fine, but now is broke.
 
In IE I get Error opening document on TC4.1.30 and unable to open this
Internet site in TC 5.0.19
 
Mozilla 1.6 does not have a problem opening the file.
 
What is odd is that Mozilla seems to request the servlet twice from one
click, the first tends to throw this
ClientAbortException:  java.net.SocketException: Software caused connection
abort: socket write error
at
org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:410)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:332)
at
org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:438)
at
org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:425)
at
org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:1
08)
at GetPDFDoc.outputFile(GetPDFDoc.java:128)
at GetPDFDoc.processRequest(GetPDFDoc.java:86)
at GetPDFDoc.doGet(GetPDFDoc.java:147)
 
Is there anything wrong with what I am doing?
  response.setContentType(application/pdf);
  response.setDateHeader(Expires, 0);
// open pdf outside of browser
  response.addHeader(Content-disposition, attachment; filename= +
ntspNo + .pdf);
  response.setContentLength((int)f.length());
  java.io.OutputStream out = response.getOutputStream();
// f is the pdf on the file system and it does exist
  java.io.FileInputStream in = new java.io.FileInputStream(f);
  int size = 0;
  byte[] buffer = new byte[8192];
  while( (size = in.read(buffer, 0, buffer.length)) != -1)
  {
out.write(buffer, 0, size);
  }
  in.close();
  out.close();
 
Thanks


* 
This communication may contain information that is proprietary, privileged,
confidential or legally exempt from disclosure.  If you are not a named
addressee, you are notified that you are not authorized to read, print,
retain, copy or disseminate this communication without the consent of the
sender and that doing so may be unlawful. If you have received this
communication in error, please notify the sender via return e-mail and
delete it from your computer. Thank you. St. Jude Medical, Inc. 
*