2

BIRT レポートを使用するクライアントのプロジェクトをクリーンアップするように割り当てられました。ほとんどの問題を修正しましたが、まだ 1 つのレポートが機能せず、エラーを返しています。エラーは次のとおりです。

Row (id = 1467): 
+ There are errors evaluating script "var fileName = row["Attached_File"];
params["HyperlinkParameter"].value = ImageDecoder.decodeDocs(row["Ecrash_Attach"],fileName);":
Wrapped java.lang.NullPointerException (/report/body/table[@id="61"]/detail/row[@id="70"]/cell[@id="71"]/grid[@id="1460"]/row[@id="1462"]/cell[@id="1463"]/table[@id="1464"]/detail/row[@id="1467"]/method[@name="onCreate"]#2)

必要に応じて完全なスタック トレースを投稿できますが、非常に長いため、ここでは省略します。

次に、decodeDocs メソッドのソースを示します。

public static String decodeDocs(byte[] source, String fileName) {
        String randName = "";
        byte[] docSource = null;
        if ( Base64.isArrayByteBase64(source) ){
            docSource = Base64.decodeBase64(source);
        }
        documentZipPath = writeByteStreamToFile(source);
        randName = writeByteStreamToFile(docSource, fileName);
        return randName;
    }

私はこれでかなり迷っています。このエラーは、スクリプトの 2 行目に次のようなエラーがあることを示しているようです。

var fileName = row["Attached_File"];
params["HyperlinkParameter"].value = ImageDecoder.decodeDocs(row["Ecrash_Attach"],fileName);

これは、レポートの OnCreate メソッドに記述されています。どんな助けでも、手がかりでも大歓迎です。レポートをご覧になりたい場合は、お問い合わせください。xml を投稿します。

4

1 に答える 1

0

BIRT でよくある間違いは、null レポート パラメーターの値にアクセスすることです。あなたの場合、params["HyperlinkParameter"]nullになる可能性がありますか?

于 2013-05-01T16:25:02.980 に答える