Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X
Hi team
The Change Request Summary Report (This report provides a summary of all the Affected Objects of a Change Request.) fails. The report window has a spinner which never ends.
In the Persisted Log Events window I click through to an error page.
there is:
Message: getJasperPrint(): Error While executing Jasper report
The stack trace is below.
The problem started after the upgrade to WC 12.0.2, which introduced JasperReports.
Go into the 'Report Management' window and click on 'edit this report':
Input Page: netmarkets/jsp/changeReports/ChangeRequestSummaryReport.jsp
Resource Bundle: com.ptc.windchill.enterprise.change2.reports.change2ReportsResource
What are my options to debug this?
thanks -- Rick
Throwable:
net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: new net.sf.jasperreports.engine.data.JRXmlDataSource($P{WINDCHILL_URL}+"?proc=com_ptc_windchill_enterprise_report_ReportTask%23ChangeRequestSummaryHeader&contextOid="+$P{contextOid}+"&isDraft=0&uid="+$P{USERNAME}+"&locale="+$P{LOCALE},"/dataset/data/row") at net.sf.jasperreports.engine.fill.JREvaluator.handleEvaluationException(JREvaluator.java:294) at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:328) at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:673) at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:641) at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:1173) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:529) at net.sf.jasperreports.components.table.fill.FillTableSubreport.evaluateSubreport(FillTableSubreport.java:112) at net.sf.jasperreports.components.table.fill.FillTable.evaluate(FillTable.java:134) at net.sf.jasperreports.engine.fill.JRFillComponentElement.evaluate(JRFillComponentElement.java:110) at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383) at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:548) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2600) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:825) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:266) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:110) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:621) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:433) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:162) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:651) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:1020) at com.ptc.wbr.core.execution.JasperReportExecutor.getJasperPrint(JasperReportExecutor.java:406) at com.ptc.wbr.client.ReportClientHelper$1.run(ReportClientHelper.java:203) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error opening input stream from URL: domain.com at net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(DefaultRepositoryService.java:139) at net.sf.jasperreports.repo.InputStreamPersistenceService.load(InputStreamPersistenceService.java:51) at net.sf.jasperreports.repo.DefaultRepositoryService.getResource(DefaultRepositoryService.java:196) at net.sf.jasperreports.repo.RepositoryUtil.findInputStream(RepositoryUtil.java:195)
|
Solved! Go to Solution.
The Jasper server process (running in the WC server machine) makes a HTTPS request to WC.
We had an incorrect cert in the machine, and Jasper uses that bad cert when starting the HTTPS request so WC rejects the connection. Now, where was that cert file on the server ... In the Java security directory.
Looking further down the stack trace, there seems to be a security error, is there perhaps an error in my config for Jasper?
Message: getJasperPrint(): Error While executing Jasper report
Throwable: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: new net.sf.jasperreports.engine.data.JRXmlDataSource($P{WINDCHILL_URL}+"?proc=com_ptc_windchill_enterprise_report_ReportTask%23ChangeRequestSummaryHeader&contextOid="+$P{contextOid}+"&isDraft=0&uid="+$P{USERNAME}+"&locale="+$P{LOCALE},"/dataset/data/row")
at net.sf.jasperreports.engine.fill.JREvaluator.handleEvaluationException(JREvaluator.java:294)
Caused by: net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error opening input stream from URL: https://domain.com:443/Windchill/servlet/ReportServlet?proc=com_ptc_windchill_enterprise_report_ReportTask%23ChangeRequestSummaryHeader&contextOid=VR:wt.change2.WTChangeRequest2:nnnnnnn&isDraft=0&uid=Administrator&locale=en_US.
at net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(DefaultRepositoryService.java:139)
Caused by: net.sf.jasperreports.engine.JRException: Error opening input stream from URL: https://domain.com:443/Windchill/servlet/ReportServlet?proc=com_ptc_windchill_enterprise_report_ReportTask%23ChangeRequestSummaryHeader&contextOid=VR:wt.change2.WTChangeRequest2:nnnnnnn&isDraft=0&uid=Administrator&locale=en_US.
at net.sf.jasperreports.engine.util.JRLoader.getInputStream(JRLoader.java:343)
Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
The Jasper server process (running in the WC server machine) makes a HTTPS request to WC.
We had an incorrect cert in the machine, and Jasper uses that bad cert when starting the HTTPS request so WC rejects the connection. Now, where was that cert file on the server ... In the Java security directory.
Can you please guide me with the location of the cert file?
Gee, that was many months ago. Maybe it was $JAVA_HOME/lib/security/jssecacerts ? Please confirm.