Good day all,
Hope you doing fine.
I have some issue regarding JPOS iso exceptions, many times when you
get a problem on unpacking fields,
the logs usually report a different field instead of the actual field
that has the problem.
Foreinstance, I have this piece of stack trace, where the system
reports a problem while unpacking Field 20,
but when you analyse the BITMAP, you realise that field 20 actually
doesn't exist.
I wonder what causes this kind of behaviour, please advise.
Below is part of stack trace.
<log realm="z4-server-PostBridge.server.channel/
192.168.20.225:9080"
at="Thu Nov 19 12:41:09 GMT+03:00 2009.687">
<receive>
<iso-exception>
org.jpos.iso.IFA_NUMERIC: Problem unpacking field 20
<nested-exception>
java.lang.ArrayIndexOutOfBoundsException: 164
at org.jpos.iso.AsciiInterpreter.uninterpret(AsciiInterpreter.java:
88)
at org.jpos.iso.ISOStringFieldPackager.unpack
(ISOStringFieldPackager.java:204)
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:229)
at org.jpos.iso.ISOMsgFieldPackager.unpack(ISOMsgFieldPackager.java:
107)
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:229)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:322)
at org.jpos.iso.BaseChannel.receive(BaseChannel.java:531)
at org.jpos.iso.ISOServer$Session.run(ISOServer.java:123)
at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:100)
</nested-exception>
org.jpos.iso.ISOException: org.jpos.iso.IFA_NUMERIC: Problem
unpacking field 20 (java.lang.ArrayIndexOutOfBoundsException: 164)
at org.jpos.iso.ISOStringFieldPackager.unpack
(ISOStringFieldPackager.java:209)
.
.
.
at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:100)
</iso-exception>
--- data ---
0000 30 34 32 31 F2 3E 44 95 2E E0 81 20 00 00 00 42
0421.>D.... ...B
0010 14 00 00 22 31 36 36 33 39 36 32 39 30 30 30
30 ..."166396290000
0020 30 30 30 30 33 30 33 38 32 30 30 30 30 30 30 30
0000303820000000
0030 30 30 30 30 30 30 30 30 31 31 31 39 31 31 32 38
0000000011191128
0040 34 37 30 30 30 34 32 37 31 31 32 38 34 37 31 31
4700042711284711
0050 31 39 31 34 31 32 31 31 31 39 36 30 31 32 30 30
1914121119601200
0060 30 30 37 43 30 30 30 30 30 30 30 30 43 30 30 30
007C00000000C000
0070 30 30 30 30 30 30 36 36 33 39 36 32 39 32 32 36
0000006639629226
0080 33 39 36 32 39 30 30 30 30 30 30 30 30 33 30 3D
396290000000030=
0090 31 34 31 32 3D 30 30 30 30 31 32 31 31 32 38 34
1412=00001211284
00a0 37 31 31 32 39 30 31 36 38 32 33 33 33 34 34 34
7112901682333444
When I break down the BITMAP,
MTI - 30343231
BITMAP - F23E44952EE08120 0000004214000022
The primary bitmap does not indicate existance of field 20, but the
iso exceptions is refering to field 2o.
I will grateful for any assistance,
thanks®ards,