技术文章 - CS398447

在 Windchill 中无法执行 Jasper 报告,错误为“从 URL 打开输入流时出错...”

已修改: 26-Sep-2024   


注意:本文已使用机器翻译软件翻译,以方便非英语客户阅读。但翻译内容可能包含语法错误或不准确之处。请注意, PTC对本文所含信息的翻译准确性及使用后果不承担任何责任。请在 此处 查看本文的英文原始版本以便参考。有关机器翻译的更多详情,请单击 此处
感谢您告诉我们。我们将尽快审阅此译文。

适用于

  • Windchill PDMLink 12.0 to 13.0

说明

  • 在集群配置中,OOTB Jasper 报告在方法服务器日志中抛出以下错误
2022-09-29 10:35:06,029 ERROR [Thread-19] com.ptc.wbr.core.execution.JasperReportExecutor <user> - getJasperPrint(): Error While executing Jasper report 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%23ChangeNoticeSummaryHeader&contextOid="+$P{contextOid}+"&isDraft=" + $P{isDraft} +"&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:834)
Caused by: net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error opening input stream from URL: https://xxxxxxxx.xxxx.xxxxx:443/Windchill/servlet/ReportServlet?proc=com_ptc_windchill_enterprise_report_ReportTask%23ChangeNoticeSummaryHeader&contextOid=VR:wt.change2.WTChangeOrder2:426998784&isDraft=0&uid=wcadmin&locale=fr.
	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)
	at net.sf.jasperreports.repo.RepositoryUtil.getInputStreamFromLocation(RepositoryUtil.java:172)
	at net.sf.jasperreports.engine.data.JRXmlDataSource.<init>(JRXmlDataSource.java:333)
	at net.sf.jasperreports.engine.data.JRXmlDataSource.<init>(JRXmlDataSource.java:321)
	at net.sf.jasperreports.engine.data.JRXmlDataSource.<init>(JRXmlDataSource.java:350)
	at net.sf.jasperreports.engine.data.JRXmlDataSource.<init>(JRXmlDataSource.java:345)
	at Change32Notice32Summary32Report_1649391812022_566337.evaluate(Change32Notice32Summary32Report_1649391812022_566337:96)
	at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:313)
	... 21 more
Caused by: net.sf.jasperreports.engine.JRException: Error opening input stream from URL: https://xxxxxxxx.xxxx.xxxxx:443/Windchill/servlet/ReportServlet?proc=com_ptc_windchill_enterprise_report_ReportTask%23ChangeNoticeSummaryHeader&contextOid=VR:wt.change2.WTChangeOrder2:426998784&isDraft=0&uid=wcadmin&locale=fr.
	at net.sf.jasperreports.engine.util.JRLoader.getInputStream(JRLoader.java:343)
	at net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(DefaultRepositoryService.java:122)
	... 31 more
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: https://xxxxxxxx.xxxx.xxxxx:443/Windchill/servlet/ReportServlet?proc=com_ptc_windchill_enterprise_report_ReportTask%23ChangeNoticeSummaryHeader&contextOid=VR:wt.change2.WTChangeOrder2:426998784&isDraft=0&uid=wcadmin&locale=fr
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1924)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250)
	at java.base/java.net.URL.openStream(URL.java:1140)
	at net.sf.jasperreports.engine.util.JRLoader.getInputStream(JRLoader.java:339)
	... 32 more
  • 同时在执行报告期间,下面不同的方法服务器日志中出现错误:
ERROR [ajp-nio-127.0.0.1-8010-exec-7] wt.httpgw.filter.TrustedAuthFilter  - TrustedAuthFilter: Attempt to set effective user to '<user>' from untrusted host '<loadbalancer_ip_adress>'

这是文章 398447 的 PDF 版本,可能已过期。最新版本 CS398447