[jpos-users] ISO Message Structure

View: New views
6 Messages — Rating Filter:   Alert me  

[jpos-users] ISO Message Structure

by mwycliffe@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi all,

Hope all is well with you.

Pleasse help me understand this concept on the message structure as
described in the JPOS Guide;

Section 2.2 talks about the message structure and the various
representations of each field value.
My question is on fields 0, 3, 11.
Why is it that for those fields in the 0800 message, their
corresponding values remain the same when expressed in Hex e.g.
For Field 0, the value 0800 in Hex => 08 00 and not 30 38  30 30

For Field 3, the value 000000 in Hex => 00 00 00 and not 30 30 30 30
30 30

Meanwhile, for field 41, the value 29110001 in Hex has been given as
32 39 31 31 30 30 30 31 and not 29 11 00 01

Why is this variation in the Hex value representation? Is it because
Field 0 and Field 3 are IFA_NUMERIC while Field 41 is IF_CHAR

thanks®ards,
--~--~---------~--~----~------------~-------~--~----~
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-users@...
To unsubscribe, send email to jpos-users+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/jpos-users
-~----------~----~----~----~------~----~------~--~---


[jpos-users] Re: ISO Message Structure

by Alejandro Revilla :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

That depends on the packager you use. You seem to be using iso87binary.xml (or ISO87BPackager). Please try iso87ascii.xml (or ISO87APackager).


--~--~---------~--~----~------------~-------~--~----~
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-users@...
To unsubscribe, send email to jpos-users+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/jpos-users
-~----------~----~----~----~------~----~------~--~---


[jpos-users] Re: ISO Message Structure

by Mark Salter-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


mwycliffe@... wrote:

>
> Why is it that for those fields in the 0800 message, their
> corresponding values remain the same when expressed in Hex e.g.
> For Field 0, the value 0800 in Hex => 08 00 and not 30 38  30 30
>
> For Field 3, the value 000000 in Hex => 00 00 00 and not 30 30 30 30
> 30 30
>
> Meanwhile, for field 41, the value 29110001 in Hex has been given as
> 32 39 31 31 30 30 30 31 and not 29 11 00 01
>
> Why is this variation in the Hex value representation? Is it because
> Field 0 and Field 3 are IFA_NUMERIC while Field 41 is IF_CHAR
It is to do with the type of field packager.  If a packager sends binary
data, then (as for 0 and 3) the data *is* the binary data.  If the field
is character (ASCII) then (as for field 41) the data is sent as
character, the binary of which is longer.

Be aware that character information has a 'codepage' so, c'12345' in :-

ASCII = x'3132333435' (binary)
EBCDIC = x'F1F2F3F4F5' (binary)

It is always important to indicate your data type clearly...

--
Mark

--~--~---------~--~----~------------~-------~--~----~
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-users@...
To unsubscribe, send email to jpos-users+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/jpos-users
-~----------~----~----~----~------~----~------~--~---


[jpos-users] Re: ISO Message Structure

by mwycliffe@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Thanks Alejandro/Mark.

So you mean the example in the guide was based on iso87binary?

Assuming am using postpack.xml,
what would be the representation of say this 0800 message for it to be
transmitted over the wire?
Assume any bitmap values.

<isomsg >
      <field id="0" value="0800"/>
      <field id="7" value="0901113143"/>
      <field id="11" value="143143"/>
      <field id="12" value="143143"/>
      <field id="13" value="0901"/>
      <field id="70" value="001"/>
    </isomsg>

thanks

On Sep 28, 7:45 pm, Alejandro Revilla <a...@...> wrote:
> That depends on the packager you use. You seem to be using iso87binary.xml
> (or ISO87BPackager). Please try iso87ascii.xml (or ISO87APackager).
--~--~---------~--~----~------------~-------~--~----~
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-users@...
To unsubscribe, send email to jpos-users+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/jpos-users
-~----------~----~----~----~------~----~------~--~---


[jpos-users] Re: ISO Message Structure

by Alejandro Revilla :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

You can try this:

import org.jpos.iso.*;
import org.jpos.iso.packager.*;

ISOMsg m = new ISOMsg("0800");
m.set (7, "0901113143");
m.set (11, "143143");
m.set (12, "143143");
m.set (13, "0901");
m.set (70, "001");

ISOPackager p = new GenericPackager ("modules/jpos/cfg/packager/postpack.xml");
m.setPackager (p);
System.out.println (ISOUtil.hexdump (m.pack()));

and you'd get this:

0000  30 38 30 30 82 38 00 00  00 00 00 00 04 00 00 00  0800.8..........
0010  00 00 00 00 30 39 30 31  31 31 33 31 34 33 31 34  ....090111314314
0020  33 31 34 33 31 34 33 31  34 33 30 39 30 31 30 30  3143143143090100
0030  31                                                1

--Alejandro


--~--~---------~--~----~------------~-------~--~----~
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-users@...
To unsubscribe, send email to jpos-users+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/jpos-users
-~----------~----~----~----~------~----~------~--~---


[jpos-users] Re: ISO Message Structure

by mwycliffe@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Ok, now I understand, so the format will depend on the packager used.
I have tried using different pacakagers for the same message and I get
this;
For Packager = [postpack]
0000  30 38 30 30 82 38 00 00  00 00 00 00 04 00 00 00
0800.8..........
0010  00 00 00 00 30 39 30 31  31 31 33 31 34 33 31 34  ....
090111314314
0020  33 31 34 33 31 34 33 31  34 33 30 39 30 31 30 30
3143143143090100
0030  31                                                1

For Packager = [iso87binary]
0000  08 00 82 38 00 00 00 00  00 00 04 00 00 00 00 00  ...
8............
0010  00 00 09 01 11 31 43 14  31 43 14 31 43 09 01 00  .....1C.1C.
1C...
0020  01                                                .

For Packager = [iso87ascii]
0000  30 38 30 30 38 32 33 38  30 30 30 30 30 30 30 30
0800823800000000
0010  30 30 30 30 30 34 30 30  30 30 30 30 30 30 30 30
0000040000000000
0020  30 30 30 30 30 39 30 31  31 31 33 31 34 33 31 34
0000090111314314
0030  33 31 34 33 31 34 33 31  34 33 30 39 30 31 30 30
3143143143090100
0040  31

So how about the header, what format will it take in these 3 cases?  2
bytes, 4 bytes??

And when it comes to transmission over the wire, what actual format
will the messages be?  same as the above format?
I think the above format is because you have used ISOUtil.hexdump
(m.pack()),

thanks®ards,

On Sep 29, 6:50 pm, Alejandro Revilla <a...@...> wrote:

> You can try this:
>
> import org.jpos.iso.*;
> import org.jpos.iso.packager.*;
>
> ISOMsg m = new ISOMsg("0800");
> m.set (7, "0901113143");
> m.set (11, "143143");
> m.set (12, "143143");
> m.set (13, "0901");
> m.set (70, "001");
>
> ISOPackager p = new GenericPackager
> ("modules/jpos/cfg/packager/postpack.xml");
> m.setPackager (p);
> System.out.println (ISOUtil.hexdump (m.pack()));
>
> and you'd get this:
>
> 0000  *30 38 30 30 82 38 00 00  00 00 00 00 04 00 00 00*  0800.8..........
> 0010  *00 00 00 00 30 39 30 31  31 31 33 31 34 33 31 34*  ....090111314314
> 0020  *33 31 34 33 31 34 33 31  34 33 30 39 30 31 30 30*  3143143143090100
> 0030  *31                                              *  1
>
> --Alejandro
--~--~---------~--~----~------------~-------~--~----~
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-users@...
To unsubscribe, send email to jpos-users+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/jpos-users
-~----------~----~----~----~------~----~------~--~---