【问题标题】:jPOS : Field 70 error iso packing?jPOS:字段 70 错误 iso 打包?
【发布时间】:2015-11-04 10:46:44
【问题描述】:

使用 ISORequestListener 从客户端监听 ISOMessage 时出错。请为此问题提出合适的解决方案 频道 - org.jpos.iso.channel.BASE24TCPChannel 和 打包程序 - 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>

【问题讨论】:

    标签: iso8583 jpos


    【解决方案1】:

    您的频道似乎存在问题,无法正确获取消息长度。可能涉及到一个预告片(你在结尾看到的“03”)。

    【讨论】:

    • 这是客户端对我们服务器的回显请求,所以你说的预告片实际上是301,有没有办法让我知道客户端正在使用哪个频道
    • “通道”实际上是实现有线协议的类的 jPOS 名称,您的客户端可能正在使用 jPOS 以外的软件,您需要关心的是有线协议。我相信 your 通道实现可能需要某种预告片并从消息长度中减去“1”,因此缺少字节。我建议您仔细检查您频道的getMessageLength() 方法。
    • 非常感谢您的帮助我非常感谢
    猜你喜欢
    • 1970-01-01
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多