Server not getting the complete subfields in my field 127

43 views
Skip to first unread message

Joseph Okonji

unread,
Mar 22, 2025, 6:08:32 PMMar 22
to jPOS Users
Hi

I'm working on a kotlin code. I'm sending my request successfully to the server, my logs shows that all fields and subfields were included. The the server does not receive all the subfields.

Here is what my field 127 looks like in a modified iso87ascii.xml file;

<isofieldpackager id="127" name="ICC Info" length="999999" class="org.jpos.iso.IFA_LLLLLLBINARY" packager="org.jpos.iso.packager.GenericSubFieldPackager" bitmapField="0">
<isofield id="0" length="16" name="Bitmap" class="org.jpos.iso.IFA_BITMAP"/>
<isofield id="2" length="32" name="Subfield 127.2" class="org.jpos.iso.IFA_LLCHAR"/>
<isofield id="3" length="48" name="Subfield 127.3" class="org.jpos.iso.IF_CHAR"/>
<isofield id="13" length="17" name="Subfield 127.13" class="org.jpos.iso.IF_CHAR"/>
<isofield id="20" length="8" name="Subfield 127.20" class="org.jpos.iso.IFA_NUMERIC"/>
<isofieldpackager id="25" length="999999" name="Subfield 127.25" class="org.jpos.iso.IFA_LLLLLLBINARY" packager="org.jpos.iso.packager.GenericSubFieldPackager" bitmapField="0">
<isofield id="0" length="16" name="Bitmap" class="org.jpos.iso.IFA_BITMAP"/>
<isofield id="2" length="12" name="AmountAuthorized" class="org.jpos.iso.IFA_NUMERIC"/>
<isofield id="3" length="12" name="AmountOther" class="org.jpos.iso.IFA_NUMERIC"/>
<isofield id="5" length="4" name="ApplicationInterchangeProfile" class="org.jpos.iso.IFA_LLCHAR"/>
<isofield id="6" length="4" name="ApplicationTransactionCounter" class="org.jpos.iso.IFA_LLCHAR"/>
<isofield id="12" length="16" name="Cryptogram" class="org.jpos.iso.IFA_LLCHAR"/>
<isofield id="13" length="2" name="CryptogramInformationData" class="org.jpos.iso.IFA_NUMERIC"/>
<isofield id="15" length="6" name="CvmResults" class="org.jpos.iso.IFA_NUMERIC"/>
<isofield id="18" length="36" name="IssuerApplicationData" class="org.jpos.iso.IFA_LLCHAR"/>
<isofield id="21" length="6" name="TerminalCapabilities" class="org.jpos.iso.IFA_LLCHAR"/>
<isofield id="22" length="3" name="TerminalCountryCode" class="org.jpos.iso.IFA_NUMERIC"/>
<isofield id="23" length="2" name="TerminalType" class="org.jpos.iso.IFA_NUMERIC"/>
<isofield id="24" length="10" name="TerminalVerificationResult" class="org.jpos.iso.IFA_NUMERIC"/>
<isofield id="26" length="3" name="TransactionCurrencyCode" class="org.jpos.iso.IFA_NUMERIC"/>
<isofield id="27" length="6" name="TransactionDate" class="org.jpos.iso.IFA_NUMERIC"/>
<isofield id="28" length="2" name="TransactionSequenceCounter" class="org.jpos.iso.IFA_NUMERIC"/>
<isofield id="29" length="2" name="TransactionType" class="org.jpos.iso.IFA_NUMERIC"/>
<isofield id="30" length="8" name="UnpredictableNumber" class="org.jpos.iso.IFA_LLCHAR"/>
</isofieldpackager>
<isofield id="33" length="4" name="Subfield 127.33" class="org.jpos.iso.IFA_NUMERIC"/>
</isofieldpackager>

What am I doing wrong?

Thank you

Mark Salter

unread,
Mar 22, 2025, 6:13:55 PMMar 22
to jpos-...@googlegroups.com

You need to ask a smart question - http://www.catb.org/esr/faqs/smart-questions.html#intro

What processing is in Kotlin?

Check the bitmap handling since that drives what fields are 'present'.

Your smart question should included all the needed details, but on a java (primarily) jPOS mailing list, I am unsure why you would be using Kotlin and seeking help here.

-- 
Mark



-------- Original Message --------
--
--
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 Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/jpos-users/82ae9b7a-d32f-4ea3-ada0-d0466f90f827n%40googlegroups.com.
signature.asc

Andrés Alcarraz

unread,
Mar 22, 2025, 6:21:49 PMMar 22
to jPOS Users
I would guess that there is a mismatch in the packager and or channel, and thus the server not correctly interpreting the bitmap.

The other possibility would be the code for sending the message being wrong, but since you didn't share it we can't know.



----
Enviado desde mi móvil, disculpas por la brevedad.

Sent from my cellphone, I apologize for the brevity.

Andrés Alcarraz.

chhil

unread,
Mar 23, 2025, 12:29:27 AMMar 23
to jpos-...@googlegroups.com
> my logs shows that all fields and subfields were included.

How do you determine this? Does the jpos generated q2 log have the channel log with te message being sent? Or are you dumping the isomsg you created ?
Can you simply populate the isomsg , call the pack on the message to get the byte array and then do an unpack on the byte array to populate a new isomsg and then dump it to make sure your data is correctly unpacked with all the data you initially set?


ISOMsg m = new ISOMsg();
try {


pkg = new GenericPackager("path to packager");
m.setPackager(pkg);
m.set(field1,value1);
m.set(field2,value2);
m.set(fieldN,valueN);
byte[] packed = m.pack();

m.unpack(packed);
m.dump(System.out, "");
}
catch (ISOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
m.dump(System.out, "");
}



Alejandro Revilla

unread,
Mar 28, 2025, 5:08:03 PMMar 28
to jpos-...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages