Parsing issue for echo using JPOS

38 views
Skip to first unread message

Reeturaj Sahoo

unread,
Jun 23, 2025, 1:36:08 PMJun 23
to jpos-...@googlegroups.com
Hi JPOS Team,

As i work around in JPOS with ECHO message getting below data from channel from application log showing.

[ISO DATA Length received] 69
[RAW ISO DATA RECEIVED] F0F8F0F0C2200000800000000400000500000000F0F7F0F0F0F0F0F0F0F0F6F2F3F1F7F2F5F1F9F4F5F6F2F7F1F0F8F0F0F0F0F0F0F0F0F0F6F1F1F2F3F4F5F6F700000000

While trying to unpack using POST channel, some user define modified packager getting 
MTI: F0F8
F002:
F003: 00F0F7F0F0
F004: F0F0F0

where exception is and DE present is showing MTI,F001, F002, F007, F011, F033, F070,  F094,  F096

below are my packagers 

 protected ISOFieldPackager fld[] = {

/* 000 */ new IFB_NUMERIC(4, "MTI", true), // 4-digit MTI
/* 001 */ new IFB_BITMAP(16, "BIT MAP"), // 16-byte bitmap
/* 002 */ new IFB_LLNUM(19, "PAN - PRIMARY ACCOUNT NUMBER", true), // LLVAR BCD
/* 007 */ new IFB_NUMERIC(10, "TRANSMISSION DATE AND TIME", true), // 10-digit
/* 011 */ new IFB_NUMERIC(6, "SYSTEM TRACE AUDIT NUMBER", true), // 6-digit STAN
/* 033 */ new IFB_LLNUM(11, "FORWARDING INSTITUTION ID CODE",true),
/* 070 */ new IFB_NUMERIC(3, "NETWORK MANAGEMENT INFORMATION CODE",true),

};

Thanks in advance

--
Thanks & Regards
    Reeturaj

Andrés Alcarraz

unread,
Jun 23, 2025, 3:12:33 PMJun 23
to jPOS Users
You are using the wrong packager, it looks like you have to use an EBCDIC based packager, not a binary one.

MTI: F0F8
Is 08 in EBCDIC, so the first field should be something like:
new IFE_NUMERIC instead of IFB_NUMERIC.

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

Sent from my cellphone, I apologize for the brevity.

Andrés Alcarraz.

--
--
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/CAGyTqrmQ%3DFMHiU2y%3DZSbL%2BAm%2BOJi2D%2BZWhqshdPiya_-EiKFtw%40mail.gmail.com.

Reeturaj Sahoo

unread,
Jun 23, 2025, 3:19:52 PMJun 23
to jpos-...@googlegroups.com
Thanks for your response .

Ater changes in package getting 

[ISO DATA Length received] 69
[RAW ISO DATA RECEIVED] F0F8F0F0C2200000800000000400000500000000F0F7F0F0F0F0F0F0F0F0F6F2F3F1F9F1F7F0F7F4F5F6F2F9F8F0F8F0F0F0F0F0F0F0F0F0F6F1F1F2F3F4F5F6F700000000
MTI (EBCDIC decoded): 0800

Exception in thread "main" org.jpos.iso.ISOException: org.jpos.iso.IFB_LLNUM: Problem unpacking field 2 (org.jpos.iso.ISOException: Field length 150 too long. Max: 19) unpacking field=2, consumed=20
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:341)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:479)


Below are my packager

 /* 000 */ new IFE_NUMERIC(4, "MTI"), // 4-digit MTI

/* 001 */ new IFB_BITMAP(16, "BIT MAP"), // 16-byte bitmap
/* 002 */ new IFB_LLNUM(19, "PAN - PRIMARY ACCOUNT NUMBER",true), // LLVAR BCD
/* 007 */ new IFE_NUMERIC(10, "TRANSMISSION DATE AND TIME"), // 10-digit
/* 011 */ new IFE_NUMERIC(6, "SYSTEM TRACE AUDIT NUMBER"), // 6-digit STAN

/* 033 */ new IFB_LLNUM(11, "FORWARDING INSTITUTION ID CODE",true),
/* 070 */ new IFE_NUMERIC(3, "NETWORK MANAGEMENT INFORMATION CODE"), 

Mark Salter

unread,
Jun 23, 2025, 3:22:07 PMJun 23
to jpos-...@googlegroups.com

On top of what has already been offered;

Get the documentation from the target system owners, read it and match it to the Channels and Packagers availabl.

Randomly picking components and then sharing ' parsing issues' which are because your random choices were wrong :-(

At this point it seems you happened upon a suitable Channel - although that might not persist.  The Packager should fairly readily  match the specification once you get the naming convention in jPos.

-- 
Mark



-------- Original Message --------
signature.asc

Reeturaj Sahoo

unread,
Jun 23, 2025, 3:34:57 PMJun 23
to jpos-...@googlegroups.com
I m basically trying with a Mastercard simulator for logon ,echo message.

where data received in EBCDIC hex encoded could suggest a packager for parsing rawdata.

Mark Salter

unread,
Jun 23, 2025, 3:40:38 PMJun 23
to jpos-...@googlegroups.com

My previous guidance applies.

You need to get your field definitions fully and accurately aligned with their specific.

Your bitmap definition  is not matching theirs - field 2 is possibly not present in a 'echo' message or if it is expected then it's definition  doesn't match instead.

Get the specification (do not share it here without permission though!), and do the piece of work you need to do first.

-- 
Mark



-------- Original Message --------
signature.asc

Reeturaj Sahoo

unread,
Jun 23, 2025, 3:51:24 PMJun 23
to jpos-...@googlegroups.com
As i workaround rawdata,  Bitmap indicating DE02 is present with length 

Mark Salter

unread,
Jun 23, 2025, 4:01:37 PMJun 23
to jpos-...@googlegroups.com

Please refer to the spec for Mastercard and start to match your Packager to it.

For a commercial development, consultancy is available via transactility.com. perhaps if you don't want to do the work yourself, then they will be able to help.

-- 
Mark



-------- Original Message --------
signature.asc
Reply all
Reply to author
Forward
0 new messages