Boa Tarde,
Fiz um relatório utilizando o Ireport rodando direto do eclipse funciona normalmente, mas quando coloco no servidor ele não abre. Verifiquei se está passando o caminho correto aonde está o arquivo jasper e está perfeito,mas não abre.
Segue o método.
public String relatorio() {
try {
FacesContext fc = FacesContext.getCurrentInstance();
HttpSession session2 = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
String caminhoRelatorio = session2.getServletContext().getRealPath("/ExtratoAgua.jasper");
InputStream is1 = new FileInputStream(caminhoRelatorio);
fc.addMessage("form6", new FacesMessage(caminhoRelatorio));
Map<String, Object> map = new HashMap<String, Object>();
map.put("cod_cad01", buscado.getCodigo());
map.put("OBS01", MSG01);
byte[] pdf;
pdf = JasperRunManager.runReportToPdf(is1, map,
HibernateUtil.getSessionFactory().openSession().connection());
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext()
.getResponse();
ServletOutputStream out = response.getOutputStream();
out.write(pdf);
out.flush();
out.close();
// Finalizar o ciclo de vida do jsf (nao voltar para o .xhtml)
FacesContext.getCurrentInstance().responseComplete();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}