【问题标题】:Bitmap generate wrong field automatically jpos位图自动生成错误的字段jpos
【发布时间】:2017-06-20 07:38:05
【问题描述】:
----ISO MESSAGE-----
  MTI : 0200
    Field-2 : 169991000501589186
    Field-3 : 301000
    Field-4 : 000001000000
    Field-7 : 0620104505
    Field-11 : 177
    Field-12 : 104505
    Field-13 : 0620
    Field-15 : 1115
    Field-18 : 0000
    Field-24 : 001
    Field-28 : 00000000
    Field-32 : 1158943000
    Field-33 : 06000001
    Field-35 : 279991000501589186=0903121550
    Field-37 : 082400096515
    Field-41 : 0540
    Field-42 : 000540
    Field-43 : kkk
    Field-49 : 586
    Field-52 : 12345678

这是这个二进制系列的 iso 消息细分,正如你看到这个二进制 01110010 00111010 01000001 00010001 10101000 11100000 00111111 00000000 当我们同时激活(启用)49 字段和 52 字段时,从 51 到 56 的字段是活动的,然后使用 jpos 位图出错

【问题讨论】:

  • 你能显示在 jpos 中生成该消息的代码吗?
  • 公共静态字节[] bitSet2byte (BitSet b, int bytes) { int len = bytes * 8;字节[] d = 新字节[字节]; for (int i=0; i> 3] |= 0x80 > > 我 % 8; //TODO: 回顾一下为什么这里设置了第 2 和第 3 位图标志???如果 (len>64) d[0] |= 0x80;如果 (len>128) d[8] |= 0x80;返回 d; }
  • 我没有看到任何与 jpos 相关的内容,请将其正确格式添加到您的问题中,以及涉及 jpos 的部分。那就是调用那个函数,太通用了,无法为你提供一些东西
  • 为了记录,您不需要在 jpos 中设置位图。它会在您设置字段时为您生成。
  • 是的,你是对的,但我的问题是我已经定义了上面的字段 jpos 在我检查二进制格式的位图时针对这些字段生成位图然后它改变位图大小写只有当我们定义 49 字段和 52同时字段。其余字段位图工作正常

标签: java iso8583 jpos iso8583-1993


【解决方案1】:

@user3621756:

根据您上面的代码,我推断您的字段值错误,ISO 字段位图表示为字段 2 (PAN) 的 IFA_LLNUM 16|9991000501589186.

16 是字段长度而不是数据本身,因此字段 35(卡片的磁道 2 数据)。

保留了管道来区分长度和字段值

MTI : 0200
    Field-2 : 169991000501589186
    Field-3 : 301000
    Field-4 : 000001000000
    Field-7 : 0620104505
    Field-11 : 177
    Field-12 : 104505
    Field-13 : 0620
    Field-15 : 1115
    Field-18 : 0000
    Field-24 : 001
    Field-28 : 00000000
    Field-32 : 1158943000
    Field-33 : 06000001
    Field-35 : 279991000501589186=0903121550
    Field-37 : 082400096515
    Field-41 : 0540
    Field-42 : 000540
    Field-43 : kkk
    Field-49 : 586
    Field-52 : 12345678 

当您调用方法 .pack() 时,位图由 ISOMsg 类生成,但您也可以通过 .unpack 进行反向操作,最后 pack 应该为您提供正确的位图消息,并且 unpack 应该为您提供正确的字段价值观。

如果您的位图不正确,您将在解包时收到错误消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    相关资源
    最近更新 更多