2

RESTful リソースから JSON データを取得するレポートを設計しようとしています。私がネイティブに理解している限り、このオプションは利用できず、外部クラスに依存する必要があります。この提案に出会いました。必要なjar(基本および依存関係)を構築し、スクリプト化されたデータソースを作成して、開いているスクリプトを変更し、次にフェッチスクリプトを使用してデータセットを作成しましたが、何があっても機能しません。いつも次のエラーが発生します。

...................
A BIRT exception occurred. See next exception for more information.
Error evaluating Javascript expression. Script engine error: TypeError: [JavaPackage com.actuate.json.JSONParser] is not a function, it is object. (/report/data-sources/script-data-source[@id="83"]/method[@name="open"]#5)
Script source: /report/data-sources/script-data-source[@id="83"]/method[@name="open"], line: 0, text:
__bm_OPEN(). (Element ID:1)
at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:99
................................... 

(メッセージの最も重要な部分を含めました)

  1. では、このようなエラーの原因は何ですか? クラスを正しくロードしていませんか? プロパティボックスからリソースを読み込もうとしました クラスパスに外部jarを読み込もうとしました scriptlibフォルダー内にコピーしました 何も機能しませんでした。

  2. オープン スクリプトでは、ターゲット クラスのすべての依存関係を明示的にインポートする必要があります (Java ソース コードで既に実行されているにもかかわらず)。

  3. 私の目的を達成する他の方法はありますか?(私は今、数日間頭を叩いています.....)

前もって感謝します

4

1 に答える 1

0

JSON データが JAXB を使用する Java バックエンドによって提供される場合、XML 応答を簡単に提供できます。BIRT 内で、URL を指す XML ソースを使用します。ここで、アシスタントを使用して xpath 式を定義し、XML ストリームをデータセットに変換できるようになります。これに基づいて、レポートを作成できます。

于 2014-10-14T11:30:46.373 に答える