1

ISOMsg でのフィールド 64 エラー パッキング

これが私のコードです

    ISOMsg o = new ISOMsg();
    o.set(64, "00000000");
    byte[] data = o.pack();

エラー:

Exception in thread "main" org.jpos.iso.ISOException: org.jpos.iso.IFA_BINARY Problem packing field 64 (java.lang.ClassCastException: java.lang.String cannot be cast to [B)
at org.jpos.iso.ISOBinaryFieldPackager.pack(ISOBinaryFieldPackager.java:120)
at org.jpos.iso.ISOBasePackager.pack(ISOBasePackager.java:119)
at org.jpos.iso.ISOMsg.pack(ISOMsg.java:333)
at ISO.Client.main(Client.java:53)
Nested:java.lang.ClassCastException: java.lang.String cannot be cast to [B
at org.jpos.iso.ISOBinaryFieldPackager.pack(ISOBinaryFieldPackager.java:105)
at org.jpos.iso.ISOBasePackager.pack(ISOBasePackager.java:119)
at org.jpos.iso.ISOMsg.pack(ISOMsg.java:333)
at ISO.Client.main(Client.java:53)
Java Result: 1
4

1 に答える 1

2

この質問には多くの問題があります。

1) これは実際のコードではなく、ほんの数行の抜粋です。新しく作成された ISOMsg にパッケージャーを割り当てる場所が表示されます

2) フィールド 64 はバイナリ フィールドであるため、String の代わりに byte[] を設定する必要があります。すべてゼロが必要な場合は、 `ISOUtil.hex2byte("00000000"); を試すことができます。

于 2014-09-26T18:06:44.423 に答える