Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

ISOMessage conversion to String in JPOS

106 views
Skip to first unread message

Rajanikanth Parupudi

unread,
May 29, 2020, 10:01:08 AM5/29/20
to jPOS Users
Hi

I am getting Connection reset error when I am trying to integration two systems using JPOS

[0m [0m22:57:29,295 INFO  [stdout] (channel-receiver-zsmart-iso-client-receive) <log realm="channel/10.17.85.22:8583" at="2020-05-28T22:57:29.294" lifespan="89167ms">
[0m [0m22:57:29,295 INFO  [stdout] (channel-receiver-zsmart-iso-client-receive)   <receive>
[0m [0m22:57:29,295 INFO  [stdout] (channel-receiver-zsmart-iso-client-receive)     <peer-disconnect>Connection reset</peer-disconnect>
[0m [0m22:57:29,295 INFO  [stdout] (channel-receiver-zsmart-iso-client-receive)   </receive>
[0m [0m22:57:29,295 INFO  [stdout] (channel-receiver-zsmart-iso-client-receive) </log>

I was told that ISOMsg format is incorrect and that could be the reason resulting in the above message.

I would like to know how and where in the JPOS plugin the ISOMsg object would be converted to a String something like this "0200323A400108A1800818000000000000500005281057291093931057290528052802000388130184647291911      SMS SMART                               004510036001188290043220"

I came to know that after building the ISOMsg object setting all the data elements needed for our transaction, jpos plugin would internally convert this to a String as I specified above in GREEN, but when I do a trace of my transaction I could not able to see this request at all, rather I could see this below log

0m [0m22:57:29,279 INFO  [stdout] (channel-sender-zsmart-iso-client-send) <log realm="channel/10.17.85.22:8583" at="2020-05-28T22:57:29.279" lifespan="1ms">
[0m [0m22:57:29,279 INFO  [stdout] (channel-sender-zsmart-iso-client-send)   <send>
[0m [0m22:57:29,279 INFO  [stdout] (channel-sender-zsmart-iso-client-send)     <isomsg direction="outgoing">
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <!-- org.jpos.iso.packager.ISO87BPackager -->
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="0" value="0200"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="3" value="180000"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="4" value="5.000"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="7" value="0528105729"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="11" value="109393"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="12" value="105729"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="13" value="0528"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="15" value="0528"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="18" value="200"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="32" value="881"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="37" value="301846472919"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="41" value="11      "/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="43" value="SMS SMART"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="48" value="5100"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="49" value="360"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)       <field id="61" value="88290043220"/>
[0m [0m22:57:29,280 INFO  [stdout] (channel-sender-zsmart-iso-client-send)     </isomsg>
[0m [0m22:57:29,281 INFO  [stdout] (channel-sender-zsmart-iso-client-send)   </send>
[0m [0m22:57:29,281 INFO  [stdout] (channel-sender-zsmart-iso-client-send) </log>

Also, ISO8583 message is a combination of MTI + (Primary Bitmap + Secondary Bitmap) - Data Elements. But in our project case there is one more component prefixed to the ISO8583 message which is the length indicator which comprises of 4 digits where the first digit in it indicate where the message has only primary bitmap or both.
In this case, when I am building the ISOMsg object, will jpos take care internally to prefix the length indicator as well?

Here is the sample ISO8589 Message pulled from our system

"01630200323A4001 08A1800818000000 0000075000051921 4533503138214533 0519051900060388 100100050313811 SMS SMART  510 03600166288295294129"

The highlighted digits in ORANGE is the length indicator


Can you please provide some information on my above queries? I went through JPOS documentation as well but that doesn't talk about length indicator


Thanks

Rajanikanth






chhil

unread,
May 29, 2020, 12:18:41 PM5/29/20
to jpos-...@googlegroups.com
A peer disconnect means the other end shut the connection down. Usually happens when the message you send them is not parsed correctly. 

 Go through your packager and make sure your definitions for each field is correct. 
The packager will pack field correctly with the length indicators if the packager has a for example LL type naming. 

Usually a string display of the message in most  cases is misleading as binary data is not printable and won't be visible. 

So go through the spec field by field and align your packager correctly. 
You can ask them for a sample hexdump not string) and write test code to unpack it with your packager and figure out where your field definitions in the
 packager are incorrect. 

-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 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 on the web visit https://groups.google.com/d/msgid/jpos-users/6fc87aa5-64f0-479a-8bce-44fb78ff7440%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages