0

Jaspersoft Studio 6.2 の「XML ファイル」データソースをレポートに追加しようとしていますが、これは実際にはパスの一部として 1 つのパラメーターを必要とする REST サービスへの呼び出しです。

データ アダプタ ウィザード

画像がここに表示されない場合は、説明があります。

私が使用する URL は次のようになります。http://.../service/rest/report/

オプション:

得る

パラメータ:

名前=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 を使用していません (まだ開発中です)。

4

1 に答える 1

0

これに対処するには、次の 2 つの方法があります。

  • 証明書をすべて無視します (エラーを無視すると、MITM攻撃に対して脆弱になることに注意してください)。
  • 対応する JVM のキーストアに証明書を追加します。

詳細については、こちらをご覧ください: PKIX パスの構築を無視する方法: sun.security.provider.certpath.SunCertPathBuilderException?

于 2016-05-12T09:07:21.333 に答える