cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

We are happy to announce the new Windchill Customization board! Learn more.

Change Request Summary Report fails

rleir
17-Peridot

Change Request Summary Report fails

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)
...

 

1 ACCEPTED SOLUTION

Accepted Solutions
rleir
17-Peridot
(To:rleir)

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.

View solution in original post

4 REPLIES 4
rleir
17-Peridot
(To:rleir)

 

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)

 

rleir
17-Peridot
(To:rleir)

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.

NP_9998831
5-Regular Member
(To:rleir)

Can you please guide me with the location of the cert file?

rleir
17-Peridot
(To:NP_9998831)

Gee, that was many months ago. Maybe it was $JAVA_HOME/lib/security/jssecacerts  ? Please confirm.

Top Tags