Erro ao imprimir relatório com sub relatório

6 respostas
guilherme178

Bom dia pessoal.

Estou tendo um problema ao imprimir um relatório no iReport com sub relatório. Estou tendo sempre o mesmo erro mas não sei o que pode estar acontecendo.
Quando o sub relatório não tem dados para imprimir, o relatório pai funciona perfeitamente, porém o problema é quando o sub relatório precisa ser alimentado.

Segue o erro:

09:25:59,309 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (default task-6) java.lang.NullPointerException: javax.faces.el.EvaluationException: java.lang.NullPointerException

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:98)

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)

at br.gov.mg.pmmg.framework.web.jsf.VisualizadorMensagemErro.processAction(VisualizadorMensagemErro.java:49)

at javax.faces.component.UICommand.broadcast(UICommand.java:311)

at org.richfaces.component.RowKeyContextEventWrapper.broadcast(RowKeyContextEventWrapper.java:104)

at org.richfaces.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:448)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)

at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)

at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)

at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)

at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)

at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)

at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)

at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)

at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)

at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)

at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)

at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)

at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)

at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)

at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)

at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)

at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)

at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)

at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.NullPointerException

at net.sf.jasperreports.engine.fill.JRPrintBand.addOffsetElements(JRPrintBand.java:101)

at net.sf.jasperreports.engine.fill.JRFillElementContainer.addSubElements(JRFillElementContainer.java:623)

at net.sf.jasperreports.engine.fill.JRFillElementContainer.fillElements(JRFillElementContainer.java:600)

at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:406)

at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:352)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2023)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:755)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:265)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:765)

at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)

at br.gov.mg.pmmg.framework.util.relatorio.ReportUtil.execute(ReportUtil.java:104)

at br.gov.mg.pmmg.clinicaimagem.mb.OrdensServicoMB.imprimirOS(OrdensServicoMB.java:351)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at javax.el.ELUtil.invokeMethod(ELUtil.java:308)

at javax.el.BeanELResolver.invoke(BeanELResolver.java:415)

at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)

at com.sun.el.parser.AstValue.invoke(AstValue.java:285)

at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)

at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)

at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)

at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)

at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)

at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:84)

 41 more

Creio que seja algo relacionado ao dimensionamento do sub relatório, mas estou a dias ajustando e nada até agora.

Valeu!

6 Respostas

campelo.m

O erro é claro, esta dando NPE.
No caso a lista que vai pro subrelatorio esta null.

guilherme178

A lista não está nula, já verifiquei isso via debug. Ela possui um elemento para ser exibido no subrelatorio.

campelo.m

Qual a versao do .jar que esta usando?

guilherme178

Versão 4.1.3 do iReport

campelo.m

De acordo com esse bugreport voce deve atualizar a versao para 4.5.0

guilherme178

Vou fazer um teste aqui pra ver se vai funcionar.
Valeu!

Criado 9 de novembro de 2017
Ultima resposta 9 de nov. de 2017
Respostas 6
Participantes 2