jPOS字段64错误iso打包

时间:2014-09-26 03:12:28

标签: java iso8583 jpos

使用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

1 个答案:

答案 0 :(得分:2)

这个问题有很多问题:

1)这不是真正的代码,它只是几行的片段。您现在正在显示将打包程序分配给新创建的ISOMsg的位置

2)字段64是二进制字段,因此您必须设置byte []而不是String。如果你想要全零,你可以尝试`ISOUtil.hex2byte(" 00000000");