Bom pessoal, é o seguinte a aplicação foi desenvolvida com estes frameworks e Ferramentas: Tomcat5.5, jsdk1.5, hibernate, spring, jsf e IReport. quando executo na minha máquina(localhost:8080) com essas configurações os meus relatórios funcionam direitinho. O problema é que quando faço o deploy e mando para o tomcat que está instalado no servidor linux com jsdK1.4 os relatorios não funcionam.
Todos os outros caso de uso da aplicação funcionam no servidor linux, menos os relatorios.
erro:
javax.servlet.ServletException: Error calling action method of component with id relatorioPorNivelAgregacaoAcaoForm:_id16
javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:97)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
root cause
javax.faces.FacesException: Error calling action method of component with id relatorioPorNivelAgregacaoAcaoForm:_id16
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)
javax.faces.component.UICommand.broadcast(UICommand.java:106)
javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:94)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:168)
org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:343)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:97)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
[color=darkblue]Arquivo AcaoBase.java[/color]
[color=red]Método gerarRelatorio de AcaoBase:[/color]
public String gerarRelatorioPDF(List lista, String format, String source) {
String resultado = FALHA;
// Valida os parametros do relatório
assert !GenericValidator.isBlankOrNull(format);
assert !GenericValidator.isBlankOrNull(source);
List reportData = lista;
Map parameters = new HashMap();
parameters.put(REPORT_FORMAT, format);
parameters.put(REPORT_WEBDIR, getServletContext().getRealPath("/"));
try {
// Carrega o xml de definição do relatório
InputStream is = getServletContext().getResourceAsStream(source);
// Monta um data source baseado na lista retornada
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(reportData);
// Configura o response para suportar o relatório
getResponse().setContentType(REPORT_CONTENT_TYPE_PDF);
getResponse().addHeader(REPORT_CONTENT_DISPOSITION, REPORT_CONTENT_ATTACHMENT_PDF);
// Carrega o relatório
JasperDesign jasperDesign = JRXmlLoader.load(is);
// Compila o relatório
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
// Preenche o relatório com os parametros e o data source
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, ds);
// Exporta o relatório
JasperExportManager.exportReportToPdfStream(jasperPrint, getResponse().getOutputStream());
// Salva o estado da aplicação no contexto do JSF
getFacesContext().getApplication().getStateManager().saveSerializedView(getFacesContext());
// Fecha o stream do response
getFacesContext().responseComplete();
// Retorna
resultado = SUCESSO;
} catch (Exception e) {
logger.error("Error processing resquest", e);
addError(getGlobalText("errors.general"));
}
return resultado;
}
[color=darkblue]Arquivo RelatorioPorNivelAgregacao.java herda de AcaoBase.[/color]
[color=red]Método emitirRelatoriPorNivelAgregacao:[/color]
public void emitirRelatorioPorNivelAgregacao() {
List lista = null;
String format = “pdf”;
String source = “/WEB-INF/relatorios/relatorioPorNivelAgregacao.jrxml”;
try {
lista = JRDataSourceFactory.emitirRelatorioPorNivelAgregacao(getDataInicio(),getDataFim(),getCodigoAgregacao());
if (format.equals("xml")) {
gerarRelatorioXML(lista, format, source);
}else if (format.equals("pdf")){
gerarRelatorioPDF(lista, format, source);
}
}catch (Exception e) {
e.printStackTrace();
}
}
Alguem sabe dizer o que possa ser?
Agradeço pela atenção!