java - JasperReports: Getting JRRuntimeException: Error creating SAX parser -
we have created reports using ireport4.5.1. working in ireport.
after have integrated reports our application. build our application using maven. following jasperreports dependencies in pom.xml
<dependency> <groupid>net.sf.jasperreports</groupid> <artifactid>jasperreports</artifactid> <version>4.5.1</version> </dependency> <dependency> <groupid>jasperreports-javaflow</groupid> <artifactid>jasperreports-javaflow</artifactid> <version>4.5.1</version> </dependency>
and following java code generate report :
string jrxmlfilepath = getconfigbundle().getstring("jasper.templates.jrxml.path"); string jasperfilepath = getconfigbundle().getstring("jasper.templates.jasper.path"); jaspercompilemanager.compilereporttofile(jrxmlfilepath, jasperfilepath); file jasperfile = new file(jasperfilepath); connection conn = setupdatasource(); hashmap jasperparameter = setupjasperparameterforpackinglist(truckid, rackid, jasperfile); jasperprint jprint = jasperfillmanager.fillreport(jasperfilepath, jasperparameter, conn); bytearrayoutputstream reportoutputstream = new bytearrayoutputstream(); jasperexportmanager.exportreporttopdfstream(jprint, reportoutputstream); return reportoutputstream;
when call code give me following error :
error - [dgu_action_servlet] servletexception javax.servlet.servletexception: net.sf.jasperreports.engine.jrruntimeexception: error creating sax parser @ org.apache.struts.action.requestprocessor.processexception(requestprocessor.java:535) @ org.apache.struts.action.requestprocessor.processactionperform(requestprocessor.java:433) @ org.apache.struts.action.requestprocessor.process(requestprocessor.java:236) @ org.apache.struts.action.actionservlet.process(actionservlet.java:1196) @ com.saintgobain.dgu.mvc.action.dguactionservlet.process(dguactionservlet.java:41) @ org.apache.struts.action.actionservlet.doget(actionservlet.java:414) @ javax.servlet.http.httpservlet.service(httpservlet.java:621) @ javax.servlet.http.httpservlet.service(httpservlet.java:722) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:225) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:123) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:168) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:98) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:927) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:407) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1001) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:585) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:310) @ java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor.java:886) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:908) @ java.lang.thread.run(thread.java:662) caused by: net.sf.jasperreports.engine.jrruntimeexception: error creating sax parser @ net.sf.jasperreports.engine.xml.basesaxparserfactory.createparser(basesaxparserfactory.java:99) @ net.sf.jasperreports.engine.xml.jrxmldigesterfactory.createparser(jrxmldigesterfactory.java:1342) @ net.sf.jasperreports.engine.xml.jrxmldigesterfactory.createdigester(jrxmldigesterfactory.java:1318) @ net.sf.jasperreports.engine.xml.jrxmlloader.load(jrxmlloader.java:207) @ net.sf.jasperreports.engine.xml.jrxmlloader.load(jrxmlloader.java:172) @ net.sf.jasperreports.engine.xml.jrxmlloader.load(jrxmlloader.java:156) @ net.sf.jasperreports.engine.jaspercompilemanager.compilereporttofile(jaspercompilemanager.java:108) @ com.saintgobain.dgu.helper.exportreportpdfhelper.printpackinglistjasper(exportreportpdfhelper.java:287) @ com.saintgobain.dgu.helper.exportreportpdfhelper.generatepdf4packinglist(exportreportpdfhelper.java:353) @ com.saintgobain.dgu.mvc.action.shipping.exportshippingreportaction.execute(exportshippingreportaction.java:79) @ org.apache.struts.action.requestprocessor.processactionperform(requestprocessor.java:431) ... 22 more caused by: org.xml.sax.saxnotrecognizedexception: property: http://java.sun.com/xml/jaxp/properties/schemalanguage @ org.apache.crimson.parser.xmlreaderimpl.setproperty(xmlreaderimpl.java:266) @ org.apache.crimson.jaxp.saxparserimpl.setproperty(saxparserimpl.java:183) @ net.sf.jasperreports.engine.xml.basesaxparserfactory.configureparser(basesaxparserfactory.java:132) @ net.sf.jasperreports.engine.xml.basesaxparserfactory.createparser(basesaxparserfactory.java:94) ... 32 more error - [dgu_action_servlet] servletexception - root cause net.sf.jasperreports.engine.jrruntimeexception: error creating sax parser @ net.sf.jasperreports.engine.xml.basesaxparserfactory.createparser(basesaxparserfactory.java:99) @ net.sf.jasperreports.engine.xml.jrxmldigesterfactory.createparser(jrxmldigesterfactory.java:1342) @ net.sf.jasperreports.engine.xml.jrxmldigesterfactory.createdigester(jrxmldigesterfactory.java:1318) @ net.sf.jasperreports.engine.xml.jrxmlloader.load(jrxmlloader.java:207) @ net.sf.jasperreports.engine.xml.jrxmlloader.load(jrxmlloader.java:172) @ net.sf.jasperreports.engine.xml.jrxmlloader.load(jrxmlloader.java:156) @ net.sf.jasperreports.engine.jaspercompilemanager.compilereporttofile(jaspercompilemanager.java:108) @ com.saintgobain.dgu.helper.exportreportpdfhelper.printpackinglistjasper(exportreportpdfhelper.java:287) @ com.saintgobain.dgu.helper.exportreportpdfhelper.generatepdf4packinglist(exportreportpdfhelper.java:353) @ com.saintgobain.dgu.mvc.action.shipping.exportshippingreportaction.execute(exportshippingreportaction.java:79) @ org.apache.struts.action.requestprocessor.processactionperform(requestprocessor.java:431) @ org.apache.struts.action.requestprocessor.process(requestprocessor.java:236) @ org.apache.struts.action.actionservlet.process(actionservlet.java:1196) @ com.saintgobain.dgu.mvc.action.dguactionservlet.process(dguactionservlet.java:41) @ org.apache.struts.action.actionservlet.doget(actionservlet.java:414) @ javax.servlet.http.httpservlet.service(httpservlet.java:621) @ javax.servlet.http.httpservlet.service(httpservlet.java:722) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:225) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:123) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:168) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:98) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:927) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:407) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1001) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:585) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:310) @ java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor.java:886) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:908) @ java.lang.thread.run(thread.java:662) caused by: org.xml.sax.saxnotrecognizedexception: property: http://java.sun.com/xml/jaxp/properties/schemalanguage @ org.apache.crimson.parser.xmlreaderimpl.setproperty(xmlreaderimpl.java:266) @ org.apache.crimson.jaxp.saxparserimpl.setproperty(saxparserimpl.java:183) @ net.sf.jasperreports.engine.xml.basesaxparserfactory.configureparser(basesaxparserfactory.java:132) @ net.sf.jasperreports.engine.xml.basesaxparserfactory.createparser(basesaxparserfactory.java:94) ... 32 more
- we using both ireport , jasperreports version 4.5.1
- i have put xercesimpl.jar (version 2.8.1) dependency in class path
- we using jdk.1.6.0_33
please how remove error?
as can see line of stacktrace:
org.apache.crimson.parser.xmlreaderimpl.setproperty(xmlreaderimpl.java:266)
the crimson xml parser used in application.
the crimson implementation not support property value different values[1]:
"http://xml.org/sax/properties/lexical-handler"
and
"http://xml.org/sax/properties/declaration-handler"
but jasperreports engine try use http://java.sun.com/xml/jaxp/properties/schemalanguage
property (as can see stacktrace[2]).
the ireport using xerces xml parser implementation. example, ireport 4.7.0 , ireport 5.2.0 using 2.8.0 version of xerces.
you can try add (xerces) library pom.xml dependency.
notes:
[1]: see source code of method getproperty(string)
in org.apache.crimson.parser.xmlreaderimpl class.
[2]:the jr engine try set property saxparser in net.sf.jasperreports.engine.xml.basesaxparserfactory.configureparser(saxparser)
method.
Comments
Post a Comment