2014-09-26 20 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」);

相關問題