PDF en blanco mientras se descarga

Estoy enfrentando un problema muy extraño, estoy tratando de enviar el archivo PDF como archivo adjunto desde mi aplicación de struts usando el siguiente código,

        JasperReport jrReport = (JasperReport) JRLoader.loadObject(jasperReport);
        JasperPrint jasperPrint = JasperFillManager.fillReport(jrReport, parameters, dataSource);
        jasperPrint.setName(fileNameTobeGivenToExportedReport);
        response.reset();
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition", "attachment; filename=\"" + fileNameTobeGivenToExportedReport + ".pdf" + "\"");
        response.setHeader("Cache-Control", "private");
        JasperExportManager.exportReportToPdfStream(jasperPrint, response.getOutputStream());

pero el PDF que se está descargando viene sin datos, significa que muestra la página en blanco.

Cuando en el código anterior agregué la línea a continuación para guardar el archivo PDF en mi directorio D:

File pdf = new File("D:\\sample22.pdf");
JasperExportManager.exportReportToPdfStream(jasperPrint, new FileOutputStream(pdf));

El archivo que se genera es correcto, es decir, con todos los datos. Una cosa que noté es que el archivo que se está descargando del navegador y "sample22.pdf" tiene el mismo tamaño.

Leí un artículo que dice que podría ser un problema con la configuración del servidor ya que nuestro servidor podría estar corrompiendo la secuencia de salida. Este es el artículo que leíCrear PDF desde Servlet.

Este artículo dice

Esto puede suceder cuando su servidor aplana todos los bytes con un valor superior a 127. Consulte el manual del servidor web (o de la aplicación) para averiguar cómo asegurarse de que los datos binarios se envíen correctamente al navegador.

Estoy usando struts 1.x, jBoss6, iReport 1.2

Respuestas a la pregunta(1)

Su respuesta a la pregunta