5

クライアントから ISO8583 メッセージを受け取り、jPOS ライブラリを使用してアンパックする ATM シミュレーターを実装しています。メッセージの解凍中に発生したエラーは、「フィールド 102 の解凍エラー: 負の配列サイズ例外」です。私はこのエラーについて調査し、プログラムにロガーを追加して、印刷時にどのデータがどのフィールドに入っているかに関する情報を取得することを考えました。
既存の Java アプリケーションに含めるコードは次のとおりです。

Logger logger = new Logger();
logger.addListener (new SimpleLogListener(System.out));
((LogSource)p).setLogger(logger, "debug");// p is my ISOPackger


1- Constructor Logger() が定義されていないため、コンパイルエラーが発生します

2- メソッド addListener はタイプ Logger に対して定義されていません

3- LogSource をタイプに解決できません

これらのエラーを解決するのを手伝ってください。どんな助けでも大歓迎です。前もって感謝します。

4

4 に答える 4

4

そのエラー「error unpacking field 102: negativearraysizeexception」について

それは私に起こったので、私は助けることができます。

構成フォルダー内の iso87cscascii.xml ファイルを確認してください。そのファイル内の各フィールドの長さとタイプは、受け取った ISO メッセージと同じでなければなりません。

エラーのフィールド番号 (102) は、おそらくエラーが発生した場所です。そのフィールドを正確に確認し、エラーが再発しないように他のフィールドも確認してください。

于 2014-11-05T06:27:35.850 に答える
2

org.jpos.util.Loggerおそらく、他のロガーをインポートして選択していません。

jPOS の Logger には、引数なしのコンストラクターがあります。

こちらの Javadoc を参照してください: http://jpos.org/doc/javadoc/org/jpos/util/Logger.html#Logger()

于 2014-10-01T15:07:18.547 に答える