jPOS: поле 70 ошибка iso упаковка?

Ошибка при использовании ISORequestListener для прослушивания ISOMessage от клиента. Пожалуйста, предложите подходящее решение для этих проблем. Канал - org.jpos.iso.channel.BASE24TCPChannel и Packager - org.jpos.iso.packager.BASE24Packager

    <receive>

    <iso-exception>

    org.jpos.iso.IFA_NUMERIC: Problem unpacking field 70 (java.lang.RuntimeException: Required 3 but just got 2 bytes) unpacking field=70, consumed=52

    org.jpos.iso.ISOException: org.jpos.iso.IFA_NUMERIC: Problem unpacking field 70 (java.lang.RuntimeException: Required 3 but just got 2 bytes) unpacking field=70, consumed=52

    at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:265)

    at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:420)

    at org.jpos.iso.BaseChannel.unpack(BaseChannel.java:923)

    at org.jpos.iso.BaseChannel.receive(BaseChannel.java:691)

    at org.jpos.iso.ISOServer$Session.run(ISOServer.java:131)

    at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:72)

    </iso-exception>

    --- header ---

    0000 49 53 4F 30 30 36 30 30 30 30 36 30 ISO006000060

    --- data ---

    0000 30 38 30 30 38 32 32 30 30 30 30 30 30 30 30 30 0800822000000000

    0010 30 30 30 30 30 34 30 30 30 30 30 30 30 30 30 30 0000040000000000

    0020 30 30 30 30 31 30 33 30 31 30 31 34 33 31 30 30 0000103010143100

    0030 30 33 30 33 33 30 030330

    </receive>

    </log>

1 ответ

Похоже, проблема в том, что ваш канал неправильно получает длину сообщения. Вероятно, есть трейлер (этот "03", который вы видите в конце).

Другие вопросы по тегам