PDF gerado no iReport em branco, quando chamado de WebApp

Caros colegas,
Estou com um problema bem chato usando Jasper (feito no iReport): fiz um relatório com texto estático, sem banco de dados, parâmetros etc. Chamando por dentro do iReport (build/execute) o texto é exibido, tudo funciona ok.
O problema é quando chamo de dentro de um servlet numa WebApp: o pdf gerado aparece simplesmente em branco. Sem nada. Nenhuma exceção é lançada, apenas o pdf em branco é exibido, sem o meu texto estático (sei que alguns vão querer saber porque um texto estático, mas acredito que fuja do escopo do post).
Abaixo meu código:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
try{

     String caminhoReport = getServletContext().getRealPath("WEB-INF/classes/report/teste.jasper");
     response.setContentType("application/pdf"); 
     ServletOutputStream responseStream = response.getOutputStream(); 
     HashMap<Object, Object> map = new HashMap<Object, Object>();
     JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(new ArrayList());
     JasperPrint print = JasperFillManager.fillReport(caminhoReport,map,ds);
     byte[] byteStream =JasperExportManager.exportReportToPdf(print);
     responseStream.write(byteStream, 0, byteStream.length); 
     responseStream.flush(); 
     responseStream.close(); 
}catch(Exception e){
     e.printStackTrace();
}
}

Considerações:

  • As libs do jasper/iReport estão dentro dentro da minha WebApp (iReport.jar; iText-1.3.1.jar; jasperreports-3.0.0.jar)
  • A versão do iReport que uso é a 3.0.0
  • App server: JBoss 4.2.3.GA

Obrigado a todos

Sávio Barros

Amigos,
O “problema” foi um deslize aqui. Eu estava mandando o JRBeanCollectionDataSource apenas com um ArrayList, sem nenhum elemento. Pus um elemento qualquer (no caso, uma String) e tudo ficou bem.

Abcs

Sávio