Verifica o fluxo inteiro quando você recebe a requisição.
Em algum ponto o output do response está sendo utilizado antes de ocorre o erro.
Tenta fazer um debug, melhor forma.
R
renanlalier
Olá William até fiz o debug e observei que o erro acontece quando executa o método gerarPDF.
publicvoidgeraRecibo(Integercodigop)throwsException{HashMap<String,Object>recibo=newHashMap<String,Object>();recibo.put("lanca",codigop);//o problema esta nesse método desconfio mas nao consigo identificar :( geraPDF.executarRelatorio("./relatoriosjaspers/recibo.jasper",recibo);System.out.println(codigop);}
packageutil;importjava.io.InputStream;importjava.sql.Connection;importjava.util.HashMap;importjava.util.Map;importjavax.faces.context.FacesContext;importjavax.servlet.ServletOutputStream;importjavax.servlet.http.HttpServletResponse;importnet.sf.jasperreports.engine.JasperRunManager;publicclassReportUtil{privatestaticStringERRO_MENSAGEM_REPORT="Um erro ocorreu quando o relatório estava sendo executado.";// executa o relatório através de um JRBeanCollectionDataSourcepublicstaticvoidexecutarRelatorio(StringcaminhoRelatorio,Map<String,Object>parametros)throwsException{Connectionconexao=ConnectionFactory.getConnection();FacesContextcontext=FacesContext.getCurrentInstance();HttpServletResponseresponse=(HttpServletResponse)context.getExternalContext().getResponse();// pega o caminho do arquivo .jasper da aplicaçãoInputStreamreportStream=context.getExternalContext().getResourceAsStream(caminhoRelatorio);// envia a resposta com o MIME Typeresponse.setContentType("application/pdf");ServletOutputStreamservletOutputStream=response.getOutputStream();// envia parametros para o relatorioif(parametros==null){parametros=newHashMap<String,Object>();}// envia para o navegador o PDF geradoJasperRunManager.runReportToPdfStream(reportStream,servletOutputStream,parametros,conexao);servletOutputStream.flush();servletOutputStream.close();context.responseComplete();conexao.close();}}
Alguma sugestão???
Desde já agradeço.
Renan.
G
grinche
Poste por completo o erro que esta no console.
Pode ser alguma propriedade ou coluna que tu esta utilizando no seu relatório que não existe mais, entre tantas outras coisas…
[]`s
R
renanlalier
Pessoal consegui resolver…o problema foi que estou passando um código inteiro e o Hash Map esta passando um objeto e devido a isso estava ocorrendo o erro, portanto, apenas mudei a class do parametro do relatório para java.lang.Object e resolveu.