jaspersoft studio 6.2 XML数据源ssl错误

时间:2016-05-12 08:43:00

标签: ssl jasper-reports jaspersoft-studio xmldatasource

我正在尝试将Jaspersoft Studio 6.2中的“XML文件”数据源添加到报告中,该报告实际上是对REST服务的调用,该服务需要将单个参数作为路径的一部分。

Data Adapter Wizard

如果此处未显示图像,则为描述:

我使用的网址如下:http://.../service/rest/report/

选项:

GET

参数:

名= ID

value = $ P {ReportID}(已使用默认值创建参数)

当我尝试测试时,就会发生这种情况

net.sf.jasperreports.engine.JRRuntimeException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at net.sf.jasperreports.data.http.HttpDataConnection.getInputStream(HttpDataConnection.java:101)
at net.sf.jasperreports.data.DataFileStream.<init>(DataFileStream.java:47)
at net.sf.jasperreports.data.DataFileUtils.getDataStream(DataFileUtils.java:62)
at net.sf.jasperreports.data.xml.XmlDataAdapterService.loadDataDocument(XmlDataAdapterService.java:140)
at net.sf.jasperreports.data.xml.XmlDataAdapterService.contributeParameters(XmlDataAdapterService.java:70)
at net.sf.jasperreports.data.AbstractDataAdapterService.test(AbstractDataAdapterService.java:105)
at com.jaspersoft.studio.data.wizard.AbstractDataAdapterWizard$3.runOperations(AbstractDataAdapterWizard.java:162)
at com.jaspersoft.studio.utils.jobs.CheckedRunnableWithProgress$1.run(CheckedRunnableWithProgress.java:59)
at java.lang.Thread.run(Thread.java:745)

我知道这应该有效。我可以使用.../report/?id=xx在浏览器中调用该服务,然后返回预期的XML数据。我还使用community.jaspersoft.com网站上的“WebService Data Source”插件对此进行了测试 - 该工作也适用于Studio应用程序(但我无法在服务器上进行配置)。

所以问题是,如何解决此SSL异常?我的应用服务器是内置的,不使用SSL(仍在开发中)。

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决这个问题:

  • 一起忽略证书(请注意,忽略该错误会使您容易受到MITM 攻击)
  • 将证书添加到相应JVM的密钥库

有关详细信息,请查看此处:How to ignore PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException?