Unpacking jPOS ISO8583

695 views Asked by At

I am having this error when I am generating transaction with Magnetic stripe card. Could you suggest what is the problem here?

<receive>
<iso-exception>
  org.jpos.iso.IFB_LLLCHAR: Problem unpacking field 54 (java.lang.ArrayIndexOutOfBoundsException: 86) unpacking field=54, consumed=86
  org.jpos.iso.ISOException: org.jpos.iso.IFB_LLLCHAR: Problem unpacking field 54 (java.lang.ArrayIndexOutOfBoundsException: 86) unpacking field=54, consumed=86
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:340)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:468)
at org.jpos.iso.BaseChannel.unpack(BaseChannel.java:965)
at org.jpos.iso.BaseChannel.receive(BaseChannel.java:735)
at org.jpos.iso.ISOServer$Session.run(ISOServer.java:344)
at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:76)
</iso-exception>
--- header ---
0000  00 00 00 00 00                                    .....

--- data ---
0000  02 00 70 38 04 80 20 80  3F 04 16 94 96 10 03 32  ..p8.. .?......2
0010  13 38 00 00 00 00 00 00  01 88 00 00 00 00 30 11 ..8............0.
0020  11 27 11 28 00 21 00 37  94 96 10 03 32 13 38 00  .'.(.!.7....2.8.
0030  D2 00 89 EC 49 D2 C2 B5  6B 2A 00 39 35 30 30 30  ....I...k*.95000
0040  30 32 30 34 39 36 F0 D2  EB A5 2B 2F AE 2E 00 06  020496....+/....
0050  30 30 30 30 35 30                                 000050

1

There are 1 answers

0
Stn Bat On

We have not been fully aware of BITMAP structure at first field. There are 64 bits with and if there are not 64 i.e 62 bits with starting 1, that means 1st and 2nd fields are not presented. Bitmap never starts with 0 so as long as it starts with 1 we need to add incomplete sequence prior to that with zeros.