I am trying to integrate BIRT into a simple JSF project but am getting the error
No configuration was defined for birt engine
Here are the steps I followed:
- Created JSF project with facelets in eclipse (really jboss dev studio).
- Followed these instructions to install BIRT
http://www.birt-exchange.org/wiki/Using_BIRT_and_Actuate_with_JavaServer_Faces(JSF) - Using the report designer I created a very simple report and included it in the WebContent/reports folder.
- I created a simple index.xhtml facelets file and put it at the top of WebContent and then did a clean redeployment of the whole thing.
When I go to view index.xhtml I get the following error
13:23:09,451 SEVERE [viewhandler] Error Rendering View[/index.xhtml]
javax.faces.FacesException: javax.faces.FacesException: No configuration was defined for birt engine
at com.exadel.jsfbirt.engine.BirtRendererUtils.renderBirt(BirtRendererUtils.java:152)
at com.exadel.jsfbirt.renderkit.html.BirtWrapperRenderer.doEncodeBegin(BirtWrapperRenderer.java:162)
at com.exadel.jsfbirt.renderkit.html.BirtWrapperRenderer.encodeBegin(BirtWrapperRenderer.java:127)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:813)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:928)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
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:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.FacesException: No configuration was defined for birt engine
at com.exadel.jsfbirt.engine.BirtEngine.loadEngineProps(BirtEngine.java:125)
at com.exadel.jsfbirt.engine.BirtEngine.initBirtConfig(BirtEngine.java:50)
at com.exadel.jsfbirt.engine.BirtEngine.getBirtEngine(BirtEngine.java:60)
at com.exadel.jsfbirt.engine.BirtRendererUtils.renderBirt(BirtRendererUtils.java:134)
... 30 more
Help?

There is
There is 'WEB-INF/platform/configuration/' folder with 'config.ini' file.
Copy it to source folder in the root to make it available for class loader resource searching.
Also, define this:
org.eclipse.birt.configPath
configuration/config.ini
The platform/configuration
The platform/configuration directory already existed. that was part of the original instructions which I followed.
You said define this
org.eclipse.birt.configPath
configuration/config.ini
Define it where?
Sorry, the formatting was
Sorry, the formatting was off:
<context-param>
<param-name>org.eclipse.birt.configPath</param-name>
<param-value>configuration/config.ini</param-value>
</context-param>
Proud of myself because I
Proud of myself because I figured that out myself. However, the going is still not smooth
This is what I get now.
14:28:08,908 SEVERE [viewhandler] Error Rendering View[/index.xhtml]
javax.faces.FacesException: org.eclipse.birt.report.engine.api.EngineException: The design file has error and can not be run.
at com.exadel.jsfbirt.engine.BirtRendererUtils.renderBirt(BirtRendererUtils.java:152)
at com.exadel.jsfbirt.renderkit.html.BirtWrapperRenderer.doEncodeBegin(BirtWrapperRenderer.java:162)
at com.exadel.jsfbirt.renderkit.html.BirtWrapperRenderer.encodeBegin(BirtWrapperRenderer.java:127)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:813)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:928)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
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:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: org.eclipse.birt.report.engine.api.EngineException: The design file has error and can not be run.
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:260)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:183)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:160)
at org.eclipse.birt.report.engine.api.impl.ReportEngine.openReportDesign(ReportEngine.java:347)
at com.exadel.jsfbirt.engine.BirtRendererUtils.renderBirt(BirtRendererUtils.java:140)
... 30 more
Caused by: Error.DesignFileException.INVALID_XML - 1 errors found!
1.) ( line = 0, tag = null) org.eclipse.birt.report.model.parser.DesignParserException (code = Error.DesignParserException.UNSUPPORTED_VERSION, message : The report file of version "3.2.21" is invalid for it is greater than the latest supported one.)
at org.eclipse.birt.report.model.parser.ModuleReader.readModule(ModuleReader.java:116)
at org.eclipse.birt.report.model.parser.DesignReader.read(DesignReader.java:88)
at org.eclipse.birt.report.model.core.DesignSessionImpl.openDesign(DesignSessionImpl.java:315)
at org.eclipse.birt.report.model.api.SessionHandleImpl.openDesign(SessionHandleImpl.java:294)
at org.eclipse.birt.report.engine.parser.ReportParser.getDesignHandle(ReportParser.java:158)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:255)
... 34 more
Caused by: org.eclipse.birt.report.model.parser.DesignParserException: The report file of version "3.2.21" is invalid for it is greater than the latest supported one.
at org.eclipse.birt.report.model.parser.ModuleState.parseAttrs(ModuleState.java:112)
at org.eclipse.birt.report.model.parser.ModuleParserHandler.startElement(ModuleParserHandler.java:245)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at org.eclipse.birt.report.model.parser.ModuleReader.readModule(ModuleReader.java:94)
... 39 more
Caused by: org.eclipse.birt.report.model.parser.DesignParserException: The report file of version "3.2.21" is invalid for it is greater than the latest supported one.
at org.eclipse.birt.report.model.parser.ModuleState.parseAttrs(ModuleState.java:109)
... 53 more
Hello, Can you please clarify
Hello,
Can you please clarify the BIRT runtime version you use and version of BIRT plugin for eclipse?
I see that exception caused by inconsistency of BIRT runtime and report design version.
Thank you.
I am also facing the same
I am also facing the same problem. when i add configuration context parameter in my web.xml, then i got the following error:
java.lang.NullPointerException org.eclipse.birt.report.engine.api.impl.EngineTask$ParameterVisitor.visit(EngineTask.java:1286) org.eclipse.birt.report.engine.api.impl.EngineTask.doValidateParameters(EngineTask.java:654) org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:92) org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:75) com.exadel.jsfbirt.engine.BirtRendererUtils.runAndRender(BirtRendererUtils.java:231) com.exadel.jsfbirt.engine.BirtRendererUtils.renderBirt(BirtRendererUtils.java:148) com.exadel.jsfbirt.renderkit.html.BirtWrapperRenderer.doEncodeBegin(BirtWrapperRenderer.java:162) com.exadel.jsfbirt.renderkit.html.BirtWrapperRenderer.encodeBegin(BirtWrapperRenderer.java:127) javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:813) org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:275) org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258) org.richfaces.renderkit.html.ModalPanelRenderer.doEncodeChildren(ModalPanelRenderer.java:368) org.richfaces.renderkit.html.ModalPanelRenderer.doEncodeChildren(ModalPanelRenderer.java:363) org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:120) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837) org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277) org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258) org.richfaces.renderkit.html.PageRenderer.doEncodeChildren(PageRenderer.java:265) org.richfaces.renderkit.html.PageRenderer.doEncodeChildren(PageRenderer.java:254) org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:120) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837) javax.faces.component.UIComponent.encodeAll(UIComponent.java:930) javax.faces.component.UIComponent.encodeAll(UIComponent.java:933) com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:266) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:197) org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100) org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96
Have you tried downloading
Have you tried downloading the sample applications and checking that your configuration matches?
Hi, In order to solve the
Hi,
In order to solve the issue with configuration file please try to put it to both locations:
1. WEB-INF/platform/configuration/config.ini
2. /configuration/config.ini - java resources folder
In order to solve unsupported version error open report design file in text editor and change version from 3.2.21 to 3.2.20.
It should be fine.