IFA_LLNUM: Problem unpacking field 2

1,218 views
Skip to first unread message

Tirta Adi

unread,
Mar 26, 2013, 6:45:43 AM3/26/13
to jpos-...@googlegroups.com
Hello everybody , am new in jpos and iso8583

i have been trying module client simulator with generic packager and i got error massage    

org.jpos.iso.IFA_LLNUM: Problem unpacking field 2 (java.lang.NegativeArraySizeException) unpacking field=2, consumed=36
      org.jpos.iso.ISOException: org.jpos.iso.IFA_LLNUM: Problem unpacking field 2 (java.lang.NegativeArraySizeException) unpacking field=2, consumed=36
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:265)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:420)
at org.jpos.simulator.TestRunner.getMessage(TestRunner.java:191)
at org.jpos.simulator.TestRunner.initSuite(TestRunner.java:165)
at org.jpos.simulator.TestRunner.run(TestRunner.java:73)
at java.lang.Thread.run(Thread.java:679)


field 2 in "iso93accii.xml" as my generic packager

<isofield
      id="2"
      length="19"
      name="Primary Account number"
      class="org.jpos.iso.IFA_LLNUM"/>


my cfg/echo_s

<isomsg>
 <field id="0" value="1800" />
 <field id="7" value="! get_date()" />
 <field id="11" value="! System.currentTimeMillis() % 1000000" />
 <field id="12" value="! previousTrace" />
 <field id="63" value="! new Date()" />
 <isomsg id="120">
  <field id="0" value="! terminal" />
 </isomsg>
  <isomsg id="48">
  <field id="0" value="1212" />
 </isomsg>
</isomsg>



do you know what the problem ?
thanks for your attention .

chhil

unread,
Mar 26, 2013, 7:49:34 AM3/26/13
to jpos-users
Looks like your packager is not aligned with the system you are talking to.
So when your packager parses the bitmap (based on your packager definition) it sees the presence of field 2, but when it tries to get the 2 length bytes and extract data it fails.
Go through the spec, see if there are headers preceding the message, see if there is a length preceding the message, see if the data representation (hex/ascii/ebcdic) is correctly set up in your packager, check if you are using the right channel to communicate.

If you can provide a hex dump of the request message we may be able to help you. Attach loggers to your packager/channel to get some meaningful information in the logs (search list on how to do this).

-chhil


--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage.
Please support jPOS, contact: sa...@jpos.org
 
You received this message because you are subscribed to the "jPOS Users" group.
Please see http://jpos.org/wiki/JPOS_Mailing_List_Readme_first
To post to this group, send email to jpos-...@googlegroups.com
To unsubscribe, send email to jpos-users+...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/jpos-users
 
---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Tirta Adi

unread,
Mar 27, 2013, 12:41:33 AM3/27/13
to jpos-...@googlegroups.com
Thanks for reply my question ...

i have got log for unpack packager from you in other post ,
with my cfg/echo_s at first post
i got log
 

 <bitmap>{1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 84, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128}</bitmap>
    <unpack fld="2" packager="org.jpos.iso.IFA_NUMERIC">
      <value>eld id="2" value="0</value>
    </unpack>
    <unpack fld="3" packager="org.jpos.iso.IFA_NUMERIC">
      <value>000000</value>
    </unpack>
    <unpack fld="4" packager="org.jpos.iso.IFA_NUMERIC">
      <value>000000000"/></value>
    </unpack>
    <unpack fld="5" packager="org.jpos.iso.IFA_NUMERIC">
      <value>
  <field id</value>
    </unpack>
    <unpack fld="6" packager="org.jpos.iso.IFA_NUMERIC">
      <value>="3" value="</value>
    </unpack>
    <unpack fld="7" packager="org.jpos.iso.IFA_NUMERIC">
      <value>003000"/</value>
    </unpack>
    <unpack fld="9" packager="org.jpos.iso.IFA_NUMERIC">
      <value>>
  <fie</value>
    </unpack>
    <unpack fld="10" packager="org.jpos.iso.IFA_NUMERIC">
      <value>ld id="4</value>
    </unpack>
    <unpack fld="11" packager="org.jpos.iso.IFA_NUMERIC">
      <value>" valu</value>
    </unpack>
    <unpack fld="12" packager="org.jpos.iso.IFA_NUMERIC">
      <value>e="000</value>
    </unpack>
    <unpack fld="13" packager="org.jpos.iso.IFA_NUMERIC">
      <value>0000</value>
    </unpack>
    <unpack fld="14" packager="org.jpos.iso.IFA_NUMERIC">
      <value>0211</value>
    </unpack>
    <unpack fld="16" packager="org.jpos.iso.IFA_NUMERIC">
      <value>2"/></value>
    </unpack>
    <unpack fld="17" packager="org.jpos.iso.IFA_NUMERIC">
      <value>
  <</value>
    </unpack>
    <unpack fld="18" packager="org.jpos.iso.IFA_NUMERIC">
      <value>fiel</value>
    </unpack>
    <unpack fld="19" packager="org.jpos.iso.IFA_NUMERIC">
      <value>d i</value>
    </unpack>
    <unpack fld="20" packager="org.jpos.iso.IFA_NUMERIC">
      <value>d="</value>
    </unpack>
    <unpack fld="21" packager="org.jpos.iso.IFA_NUMERIC">
      <value>7" </value>
    </unpack>
    <unpack fld="22" packager="org.jpos.iso.IF_CHAR">
      <value>value="03251</value>
    </unpack>
    <unpack fld="23" packager="org.jpos.iso.IFA_NUMERIC">
      <value>802</value>
    </unpack>
    <unpack fld="24" packager="org.jpos.iso.IFA_NUMERIC">
      <value>22"</value>
    </unpack>
    <unpack fld="25" packager="org.jpos.iso.IFA_NUMERIC">
      <value>/>
 </value>
    </unpack>
    <unpack fld="26" packager="org.jpos.iso.IFA_NUMERIC">
      <value> <fi</value>
    </unpack>
    <unpack fld="28" packager="org.jpos.iso.IFA_NUMERIC">
      <value>eld id</value>
    </unpack>
    <unpack fld="29" packager="org.jpos.iso.IFA_NUMERIC">
      <value>="1</value>
    </unpack>
    <unpack fld="30" packager="org.jpos.iso.IFA_NUMERIC">
      <value>1" value="377911"/>
  <f</value>
    </unpack>
    error unpacking field 31 consumed=221
    <iso-exception>
      org.jpos.iso.IFA_LLCHAR: Problem unpacking field 31
      <iso-exception>
        Field length 623 too long. Max: 99
        org.jpos.iso.ISOException: Field length 623 too long. Max: 99
at org.jpos.iso.ISOStringFieldPackager.unpack(ISOStringFieldPackager.java:177)
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:238)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:420)
at org.jpos.simulator.TestRunner.getMessage(TestRunner.java:199)
at org.jpos.simulator.TestRunner.initSuite(TestRunner.java:166)
at org.jpos.simulator.TestRunner.run(TestRunner.java:74)
at java.lang.Thread.run(Thread.java:679)
      </iso-exception>
      org.jpos.iso.ISOException: org.jpos.iso.IFA_LLCHAR: Problem unpacking field 31 (org.jpos.iso.ISOException: Field length 623 too long. Max: 99)
at org.jpos.iso.ISOStringFieldPackager.unpack(ISOStringFieldPackager.java:185)
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:238)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:420)
at org.jpos.simulator.TestRunner.getMessage(TestRunner.java:199)
at org.jpos.simulator.TestRunner.initSuite(TestRunner.java:166)
at org.jpos.simulator.TestRunner.run(TestRunner.java:74)
at java.lang.Thread.run(Thread.java:679)
Nested:org.jpos.iso.ISOException: Field length 623 too long. Max: 99
at org.jpos.iso.ISOStringFieldPackager.unpack(ISOStringFieldPackager.java:177)
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:238)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:420)
at org.jpos.simulator.TestRunner.getMessage(TestRunner.java:199)
at org.jpos.simulator.TestRunner.initSuite(TestRunner.java:166)
at org.jpos.simulator.TestRunner.run(TestRunner.java:74)
at java.lang.Thread.run(Thread.java:679)
    </iso-exception>
    <iso-exception>
      org.jpos.iso.IFA_LLCHAR: Problem unpacking field 31 (org.jpos.iso.ISOException: Field length 623 too long. Max: 99) unpacking field=31, consumed=221
      org.jpos.iso.ISOException: org.jpos.iso.IFA_LLCHAR: Problem unpacking field 31 (org.jpos.iso.ISOException: Field length 623 too long. Max: 99) unpacking field=31, consumed=221
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:265)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:420)
at org.jpos.simulator.TestRunner.getMessage(TestRunner.java:199)
at org.jpos.simulator.TestRunner.initSuite(TestRunner.java:166)
at org.jpos.simulator.TestRunner.run(TestRunner.java:74)
at java.lang.Thread.run(Thread.java:679)
    </iso-exception>
  </unpack>
</log>
<log realm="client-simulator" at="Wed Mar 27 11:37:15 WIT 2013.767">
  <error>
    <iso-exception>
      org.jpos.iso.IFA_LLCHAR: Problem unpacking field 31 (org.jpos.iso.ISOException: Field length 623 too long. Max: 99) unpacking field=31, consumed=221
      org.jpos.iso.ISOException: org.jpos.iso.IFA_LLCHAR: Problem unpacking field 31 (org.jpos.iso.ISOException: Field length 623 too long. Max: 99) unpacking field=31, consumed=221
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:265)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:420)
at org.jpos.simulator.TestRunner.getMessage(TestRunner.java:199)
at org.jpos.simulator.TestRunner.initSuite(TestRunner.java:166)
at org.jpos.simulator.TestRunner.run(TestRunner.java:74)
at java.lang.Thread.run(Thread.java:679)
    </iso-exception>
  </error>
</log>

, do you know the problem ?
thanks

chhil

unread,
Mar 27, 2013, 1:16:39 AM3/27/13
to jpos-users
Your bitmap packager is possibly incorrect its showing too many bits are present in response.

 <bitmap>{1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 84, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128}</bitmap>

Get a hexdump for the outgoing echo request and incoming response to move forward.

-chhil
Reply all
Reply to author
Forward
0 new messages