Il problema può essere il fatto di non aver inviato il Content-Length, perlomeno con certi browser ci potrebbe essere.

Quindi:
- scarichi il documento su un file temporaneo, poi sapendo la lunghezza invii il Content-Length e poi fai lo streaming in output del file.
oppure
- scarichi il documento in memoria su un ByteArrayOutputStream, poi sapendo la lunghezza invii il Content-Length e poi fai lo streaming in output del ByteArrayOutputStream usando il suo writeTo(OutputStream out).

A tua scelta ....