|
Re: JSF 2.1.x + Birt 4.2 + Tomcat 6 [message #904632 is a reply to message #904457] |
Tue, 28 August 2012 21:13   |
|
I have not tried this with 4.2, but BIRT now uses a POJO runtime and
does not have a configuration directory or a plugins directory. The
steps to create it on the wiki page were:
Copy all the JARs from the BIRT Runtime /ReportEngine/lib directory into
your application's /WEB-INF/lib directory.
Create a directory named platform in your WEB-INF folder.
Copy the /Report Engine/plugins and /ReportEngine/configuration
directories to the new 'platform' directory you just created.
Copy the jsf4birt.jar to your /WEB-INF/lib directory.
With 4.2 you should try only
Copy all the JARs from the BIRT Runtime /ReportEngine/lib directory into
your application's /WEB-INF/lib directory.
Copy the jsf4birt.jar to your /WEB-INF/lib directory.
Jason
On 8/28/2012 9:06 AM, Mateus Barni wrote:
> I'm trying to develop a JSF App with Tomcat 6 that will be responsible
> for defining filters and parameters and than calling Birt 4.2 to render
> the specified report.
>
> My first problem is:
>
>
> Aug 28, 2012 9:59:28 AM org.apache.catalina.core.ApplicationDispatcher
> invoke
> SEVERE: Servlet.service() for servlet Faces Servlet threw exception
> javax.faces.FacesException: No configuration was defined for birt engine
> at
> com.exadel.jsfbirt.engine.BirtEngine.loadEngineProps(BirtEngine.java:122)
> at
> com.exadel.jsfbirt.engine.BirtEngine.initBirtConfig(BirtEngine.java:47)
> at
> com.exadel.jsfbirt.engine.BirtEngine.getBirtEngine(BirtEngine.java:57)
> at
> com.exadel.jsfbirt.engine.BirtRendererUtils.renderBirt(BirtRendererUtils.java:134)
>
> 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:820)
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1777)
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
> at
> com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:424)
>
> at
> com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124)
>
> at
> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
>
> at
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
>
> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> at
> com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>
> at
> br.com.ambev.birtfilter.servlet.CommServlet.doPost(CommServlet.java:17)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
>
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> at java.lang.Thread.run(Thread.java:619)
> Aug 28, 2012 9:59:28 AM org.apache.catalina.core.StandardWrapperValve
> invoke
> SEVERE: Servlet.service() for servlet Filtro Servlet threw exception
> javax.faces.FacesException: No configuration was defined for birt engine
> at
> com.exadel.jsfbirt.engine.BirtEngine.loadEngineProps(BirtEngine.java:122)
> at
> com.exadel.jsfbirt.engine.BirtEngine.initBirtConfig(BirtEngine.java:47)
> at
> com.exadel.jsfbirt.engine.BirtEngine.getBirtEngine(BirtEngine.java:57)
> at
> com.exadel.jsfbirt.engine.BirtRendererUtils.renderBirt(BirtRendererUtils.java:134)
>
> 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:820)
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1777)
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
> at
> com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:424)
>
> at
> com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124)
>
> at
> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
>
> at
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
>
> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> at
> com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>
> at
> br.com.ambev.birtfilter.servlet.CommServlet.doPost(CommServlet.java:17)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
>
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> at java.lang.Thread.run(Thread.java:619)
>
>
> I followed the steps described at birt-exchange (Using BIRT and Actuate
> with JavaServer Faces(JSF))
>
> Or at least tried... but there was no "/Report Engine/plugins and
> /ReportEngine/configuration" inside the Birt 4.2 Runtime ZIP file I
> downloaded.
>
> Please community, help me solve this.
|
|
|
|
Re: JSF 2.1.x + Birt 4.2 + Tomcat 6 [message #905055 is a reply to message #904891] |
Wed, 29 August 2012 15:42   |
|
Mateus
Can you post a small jsf app that shows the issue, so we can try to
recreate it and help with a fix?
Jason
On 8/29/2012 6:31 AM, Mateus Barni wrote:
> That's what I did. So... my problem persists.
>
> Is there a way to "call" BIRT through a HTTP POST in Java?
> Any examples?
|
|
|
|
Re: JSF 2.1.x + Birt 4.2 + Tomcat 6 [message #906114 is a reply to message #905942] |
Fri, 31 August 2012 16:36   |
|
I do not think jsf4birt has been upgraded to 4.2 of BIRT. It may still
work if you replace the libs, but I have not tried it. I know you do a
form post to a BIRT url. What version of JSF are you using and I can
build you an example.
Jason
On 8/31/2012 6:49 AM, Mateus Barni wrote:
> My need has changed.
>
> Some guys told me that jsf4birt isn't compatible with BIRT 4.2. Is that
> true?
>
> So my need now is:
>
> Access a BIRT 4.2 Report by it's url, but passing data through POST, not
> GET.
> Is that possible?
>
> I'm using JSF. How do I do that?
|
|
|
|
Re: JSF 2.1.x + Birt 4.2 + Tomcat 6 [message #906127 is a reply to message #906122] |
Fri, 31 August 2012 17:00   |
|
Is the Birt Viewer deployed in a different context on the same machine?
Jason
On 8/31/2012 12:57 PM, Mateus Barni wrote:
> JSF 2.1.12
>
> I'm trying to redirect to an internal page with this contents today:
>
>
> <head>
> <script language="javascript" type="text/javascript"> function
> submitForm() { document.postform.submit(); } </script>
> </head>
> <body onload="submitForm()">
> <form name="postform" action="postSB.birtUrl" method="post">
> <ui:repeat value="#{postSB.params}" var="p">
> <f:param name="#{p.key}" value="#{p.value}" />
> </ui:repeat>
> </form>
> </body>
> </html>
>
>
> But not with much of a success... can you help me out?
|
|
|
|
Re: JSF 2.1.x + Birt 4.2 + Tomcat 6 [message #906176 is a reply to message #906129] |
Fri, 31 August 2012 19:36   |
|
This worked for me
<h:head>
<title>BIRT Form</title>
<script language="javascript" type="text/javascript"> function
submitForm() { document.postform.submit(); } </script>
</h:head>
<h:body bgcolor="white" onload="submitForm()">
<form name="postform" action="http://localhost:8080/3.7.2/frameset"
method="post">
<input type="hidden" name="__parameterpage" value="false" />
<input type="hidden" name="__report" value="TopNPercent.rptdesign" />
<input type="hidden" name="Top Count" value="3" />
<input type="hidden" name="Top Percentage" value="13" />
</form>
</h:body>
</html>
On 8/31/2012 1:02 PM, Mateus Barni wrote:
> Yes...
>
> Birt Viewer is located today at "ht tp://localhost:8080/birt/frameset".
|
|
|
|
Re: JSF 2.1.x + Birt 4.2 + Tomcat 6 [message #906184 is a reply to message #906178] |
Fri, 31 August 2012 19:59   |
|
you could always put the values in session and then use script in the
report to read the session
var pl =
reportContext.getHttpServletRequest().getSession().getAttribute("prodline");
Jason
On 8/31/2012 3:45 PM, Mateus Barni wrote:
> Thanks... this is what I'm doing now...
>
>
> <head>
> <script language="javascript" type="text/javascript"> function
> submitForm() { document.postform.submit(); } </script>
> </head>
> <body onload="submitForm()">
> <form name="postform" action="#{postSB.birtUrl}" method="post">
> <ui:repeat value="#{postSB.toList(postSB.params)}" var="p">
> <input type="hidden" name="#{p.key}" value="#{p.value}" />
> </ui:repeat>
> </form>
> </body>
> </html>
>
>
> Not beautifull... but works... I did not wanted to allow the user to see
> the data being passed from java to Birt... does Birt accept any kind of
> criptografy?
>
>
|
|
|
|
Re: JSF 2.1.x + Birt 4.2 + Tomcat 6 [message #906213 is a reply to message #906187] |
Fri, 31 August 2012 21:12  |
|
What I was suggesting is to not use parameters but session variables.
On 8/31/2012 4:06 PM, Mateus Barni wrote:
> But when sending the attributes to Birt, they are revealed with the POST
> method. A simple look at Firebug reveals the input-hidden parameters.
|
|
|
Powered by
FUDForum. Page generated in 0.02137 seconds