2014-09-26 14 views
1

场64错误与ISOMsg初级专业人员场64错误ISO包装

这里装箱是我的代码

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 

回答

2

这个问题有很多问题:

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

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

相关问题