- This topic has 13 replies, 3 voices, and was last updated 16 years, 8 months ago by Riyad Kalla.
-
AuthorPosts
-
jennifer.houleMemberIs it possible to integrate a myeclipse report on a jsf page with icefaces capabilities? I am using MyEclipse 6.0.1. I can get the report to display on a plain jsp page with the following tag:
<birt:viewer id="birtViewer" reportDesign="reports/reportName.rptdesign" pattern="frameset" format="HTML" isHostPage = "true"> </birt:viewer>
The above code generates multiple errors in a jsf/icefaces page which all seem to involve XML parsing.
Is there a way to fix this error and successfully integrate the report?
Riyad KallaMemberJennifer, what are the errors it generates? You do need to make sure that the project you are using that tag in has reporting capabilities added to it, and that the page properly imports the birt taglib, other than that, yes you should be able to display your report in any normal JSF page.
jennifer.houleMemberI have added reporting capabilities to the project.
I am importing the taglib in jsp:root in the following way:
<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ice="http://www.icesoft.com/icefaces/component" xmlns:birt="http://www.eclipse.org/birt/taglibs/birt.tld">
The errors I get on the icefaces/jsf page from the report are the following:
Parse Fatal Error at line 19 column 6: The element type "title" must be terminated by the matching end-tag "</title>". org.xml.sax.SAXParseException: The element type "title" must be terminated by the matching end-tag "</title>". at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(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.commons.digester.Digester.parse(Digester.java:1586) at com.icesoft.faces.webapp.parser.Parser.parse(Parser.java:122) at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:519) at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:153) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) at com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:26) at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:143) at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36) at com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:31) at com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:46) at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50) at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19) at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19) at com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:29) at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:109) at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:35) at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52) at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29) at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 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:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)
Riyad KallaMemberParse Fatal Error at line 19 column 6: The element type “title” must be terminated by the matching end-tag “</title>”.
org.xml.sax.SAXParseException: The element type “title” must be terminated by the matching end-tag “</title>”.This error doesn’t seem to be related to the reporting tag, unless I’m missing something?
What’s going on around line 19, with the <title> tag?
jennifer.houleMemberHi,
Apologies for the delay in replying. In fact the “title” error was not related to birt. However, I am still getting an error which I believe is related to the birt tag. The complete code of my test page is as follows:
<?xml version="1.0" encoding="ISO-8859-1" ?> <jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ice="http://www.icesoft.com/icefaces/component" xmlns:birt="http://www.eclipse.org/birt/taglibs/birt.tld" > <jsp:directive.page contentType="text/html;charset=ISO-8859-1" pageEncoding="ISO-8859-1" /> <f:view> <ice:outputDeclaration doctypeRoot="html" doctypePublic="-//W3C//DTD HTML 4.01 Transitional//EN" doctypeSystem="http://www.w3.org/TR/html4/loose.dtd" /> <html> <head> <title>Report Test</title> </head> <body> <ice:form partialSubmit="true"> <ice:messages /> <birt:viewer id="birtViewer" reportDesign="reports/assignmentsByPerson.rptdesign" pattern="frameset" format="HTML" isHostPage = "false"> </birt:viewer> </ice:form> </body> </html> </f:view> </jsp:root>
And the corresponding error is this:
exception javax.faces.FacesException: java.lang.NullPointerException com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:310) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:26) com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:143) com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36) com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:31) com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:46) com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50) com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19) com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19) com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:29) com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:109) com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:35) com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52) com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29) com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause java.lang.NullPointerException org.apache.commons.digester.Digester.createSAXException(Digester.java:2540) org.apache.commons.digester.Digester.createSAXException(Digester.java:2566) org.apache.commons.digester.Digester.startElement(Digester.java:1276) org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) org.apache.xerces.parsers.XMLParser.parse(Unknown Source) org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) org.apache.commons.digester.Digester.parse(Digester.java:1586) com.icesoft.faces.webapp.parser.Parser.parse(Parser.java:122) com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:519) com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:153) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:26) com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:143) com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36) com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:31) com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:46) com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50) com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19) com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19) com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:29) com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:109) com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:35) com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52) com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29) com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Riyad KallaMemberJennifer,
The stack trace you posted seems to suggest a problem with the ICEfaces tags you are using… could you clarify why you think the issue is with BIRT? What behavior are you observing that suggests so?
jennifer.houleMemberI don’t believe that it is a problem with the icefaces tags. The page without the “birt” viewer displays correctly with no errors. When the birt viewer is added in the error occurs. The identical error occurs if this is put on a jsf page without icefaces. If the same birt viewer is put on a jsp page, it displays fine.
The jsf page which I tested the viewer on is as follows:
<%@ page language="java" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@ taglib uri="http://www.eclipse.org/birt/taglibs/birt.tld" prefix="birt" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"/> <title>My JSF 'reportTest2.jsf' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <h:form> <birt:viewer id="birtViewer" reportDesign="reports/assignmentsByPerson.rptdesign" pattern="frameset" format="HTML" isHostPage = "false"> </birt:viewer> </h:form> </body> </html>
Riyad KallaMemberJennifer,
I was unable to reproduce the problem.I’ve attached the project I created (NOTE: You will need to copy report-viewer back under WebRoot from another project and report-engine back under WEB-INF as I didn’t include them in this project to avoid a 21mb attachment)
Could you import this project and deploy it, then test the plain JSP page and the JSF page and see if it works? I used the MyEclipse Tomcat Server.
If that works, can you add ICEfaces capabilities to it and try with you example page and see if it still works or if it dies?
Attachments:
You must be logged in to view attached files.
jennifer.houleMemberHi,
The project you provided also works for me without issues for both the jsf and jsp pages without icefaces capabilities. When I add icefaces capabilities to the project and then check the reports, the jsp report displays correctly but not the jsf report. For the jsf report, I get the same error that I did before. Do you have any ideas on how I can resolve this issue? Thanks.
Riyad KallaMemberJennifer,
I’ve added this to my list of things to check today… I smell a potential library conflict I think…
jennifer.houleMemberThanks for the reply, please keep me posted for any new developments.
Loyal WaterMemberJennifer,
I also had issues running the reports with ICEfaces. I have filed this issue for the dev team. I’ll keep you posted on any new developments.
jennifer.houleMemberHas there been any updates to this issue? It is extremely important that I can get a report integrated on to an icefaces page.
Riyad KallaMemberJennifer,
Unfortunately no update, and chances are this is likely a library conflict between Reports/BIRT and ICEfaces, meaning that if you designed/deployed your project by hand using these combined technologies it’s likely you’d end up with the same problem, so it’s not MyEclipse specific necessarily.I’m sorry we haven’t had more time to dig deep on this yet.
-
AuthorPosts