Jasper Report + iReport + JSF (NullPointerException)

Opa, estou tendo um problema com um NPE. No menu da aplicacao existe um link para um metodo do bean que deveria emitir um relatorio:

        public String emitirRelatorioSituacaoAno() {
		byte[] stream = null;
		
    	try {
    		FacesContext facesContext = FacesContext.getCurrentInstance();
    		ServletContext servletContext = (ServletContext) facesContext.
    		getExternalContext().getContext();

    		String dirBase = servletContext.getRealPath("");
    		
    		String caminhoImagem = dirBase + PropertiesUtil.getInstance()
    			.getResourceBundle("ApplicationConfigurator", "pt", "BR")
    			.getString("report.image.dir")
    			.replace("[BARRA]", File.separator);
    		
    		String caminhoJasper = dirBase + PropertiesUtil.getInstance()
			.getResourceBundle("ApplicationConfigurator", "pt", "BR")
			.getString("report.jasper.dir")
			.replace("[BARRA]", File.separator);

    		Map parametros = new HashMap();
//    		parametros.put("SUBREPORT_DIR", caminhoJasper);
    		parametros.put("IMAGES_URI", caminhoImagem);

    		stream = ReportUtil.gerarPdfBD(parametros,
    				caminhoJasper + "report_Denuncia_Situacao_Ano.jasper");

    		HttpServletResponse res = (HttpServletResponse) facesContext
    			.getExternalContext().getResponse();

    		res.setContentType("application/pdf");
    		res.setHeader("Pragma", "public");
    		res.setHeader("Cache-control", "must-revalidate");

    		//Atualizando o status da solicitação
    		ServletOutputStream servletOutputStream = res.getOutputStream();
    		servletOutputStream.write(stream);

    		FacesContext.getCurrentInstance().responseComplete();

    		return "RELATORIO_SOLICITACAO_EMITIDO";
    	} catch (IOException ex) {
    		WebUtil.error(PropertiesUtil.getInstance().getResourceBundle(
                    "mensagens", "pt", "BR").getString("relatorio_msgErro"));

            throw new ApplicationException(ex);
    	} catch (JRException ex) {
    		WebUtil.error(PropertiesUtil.getInstance().getResourceBundle(
                    "mensagens", "pt", "BR").getString("relatorio_msgErro"));

            throw new ApplicationException(ex);
		}
    }

O NPE esta acontecendo no metodo “ReportUtil.GerarRelatorioPdfBd”, mais precisamente na linha 5 desse trecho abaixo

   public static byte[] gerarPdfBD(Map<?, ?> parametros, String jasperPath)
           throws IOException, JRException {
       Session session = HibernateUtil.currentSession();
       Connection con = session.connection();
       JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperPath);
       byte array[] = JasperRunManager.runReportToPdf(jasperReport, parametros, con);
       
       return array;
   }

e aqui a pilha de erro:

11:26:43,782 FATAL [application] java.lang.NullPointerException javax.faces.el.EvaluationException: java.lang.NullPointerException at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91) at br.gov.pinhao.gui.listeners.ExceptionHandler.processAction(ExceptionHandler.java:45) at javax.faces.component.UICommand.broadcast(UICommand.java:383) at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55) at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321) at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296) at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253) at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at br.gov.pinhao.web.adapter.filter.AbstractExceptionHandlerFilter.doFilter(AbstractExceptionHandlerFilter.java:22) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at br.gov.pinhao.web.adapter.filter.ApplicationLoaderFilter.doFilter(ApplicationLoaderFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.NullPointerException at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:88) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:64) at br.gov.serpro.ethos.gui.ethosweb.util.ReportUtil.gerarPdfBD(ReportUtil.java:51) at br.gov.serpro.ethos.gui.ethosweb.managedbean.comuns.Principal.emitirRelatorioSituacaoAno(Principal.java:817) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.el.parser.AstValue.invoke(AstValue.java:131) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68) at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77) ... 45 more

EDIT:
Estou usando a biblioteca itext-1.3.1.jar e jasperreports-3.0.0.jar. Fiz o relatorio no iReport 3.0.0.

Alguma dica?