2014-09-26 6 views
1

Поле 64 Ошибка упаковки с ISOMsgJPOS поле 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 

ответ

2

Этот вопрос имеет много проблем:

1) Это не настоящий код, это всего лишь фрагмент нескольких строк. Теперь вы показываете, где вы назначаете упаковщик вашему недавно созданному ISOMsg

2) Поле 64 является двоичным полем, поэтому вам нужно установить байт [] вместо строки. Если вы хотите все нули, вы можете попробовать `ISOUtil.hex2byte (« 00000000 »);