Menu

Error while creating ISO message

Help
2017-02-24
2021-07-16
  • Balu Thomas

    Balu Thomas - 2017-02-24

    Hi,

    My server uses ISO8583 1993 standard and expects 16 hexadecimal bitmap in ASCII, but when using j8583 bitmap is coming as 32 hex. I am able to send the message succesfuly using jPOS but not in j8583.

    I am very new to ISO8583 messaging. Any help will be highly appreciated.

     
  • Enrique Zamudio Lopez

    IsoMessage.setBinaryBitmap(true)

     
  • Steve

    Steve - 2017-07-31

    Hi,

    I get "invalid message lenght" at my jpos client using ASCII channel.

    Using setBinaryBitmap(true) at message factory did not help.

    Any leads?

     
  • Enrique Zamudio Lopez

    Are you having problems sending, or parsing a message? Do you need the bitmap to be sent in binary, or hex-encoded?

     
  • Steve

    Steve - 2017-08-02

    Hi,

    The parsing works fine.

    Sending a message is having problems.

    I use the ASCII channel @ jpos client, so i below format :

    313832303032333030313030303034303030303030383032303834373137303030303038313730383032303834373137383331303030303030303030303030313134

     
  • Enrique Zamudio Lopez

    So, jpos expects a binary bitmap? Or a hex-encoded bitmap (the standard in ascii-encoded ISO) but with secondary bitmap included?

    The standard way the bitmap works for ascii messages is:

    • If there are any fields above 64, a secondary bitmap is included
    • The bitmap is hex-encoded so it can be either 16 chars or 32 chars
    • If you set the binaryBitmap property then it won't be hex-encoded but will be sent as raw binary instead
    • If you need to send an empty secondary bitmap, set forceSecondaryBitmap.
     
  • Steve

    Steve - 2017-08-12

    Hi,

    This is a hexdump which the jpos client is sending to me,

    0000 45 00 00 34 56 bb 40 00 80 06 00 00 7f 00 00 01
    0010 7f 00 00 01 e3 60 1e 61 c3 39 64 ed 00 00 00 00
    0020 80 02 20 00 2d 01 00 00 02 04 ff d7 01 03 03 08
    0030 01 01 04 02

    The above message is parsed successfully. Now, i use server.getIsoMessageFactory().createResponse(capturedRequest)
    with
    response.setType(0x1110)
    response.setForceSecondaryBitmap(false);

    I do not set any fields.

    The parse type for request coming in :
    <parse type="1100">
    <field num="3" type="NUMERIC" length="6"/>
    <field num="4" type="NUMERIC" length="12"/>
    <field num="7" type="DATE10"/>
    <field num="11" type="NUMERIC" length="6"/>
    <field num="12" type="TIME"/>
    <field num="22" type="LLVAR"/>
    <field num="24" type="NUMERIC" length="3"/>
    <field num="25" type="NUMERIC" length="4"/>
    <field num="26" type="NUMERIC" length="4"/>
    <field num="35" type="LLVAR"/>
    <field num="37" type="NUMERIC" length="4"/>
    <field num="41" type="LLLVAR" length="8"/>
    <field num="42" type="LLLVAR" length="15"/>
    <field num="42" type="LLLVAR" length="15"/>
    <field num="43" type="ALPHA" length="40"/>
    <field num="48" type="LLLVAR" length="15"/>
    <field num="49" type="ALPHA" length="3"/>
    <field num="60" type="LLLVAR"/>
    <field num="61" type="LLLVAR"/>
    <field num="123" type="LLVAR"/>
    </parse>

    The template for response :
    <template type="1110">
    <field num="3" type="NUMERIC" length="6">650000</field>
    <field num="4" type="NUMERIC" length="12">650000</field>
    <field num="7" type="DATE10"/>
    <field num="11" type="NUMERIC" length="6"/>
    <field num="24" type="NUMERIC" length="3"/>
    <field num="25" type="NUMERIC" length="4"/>
    <field num="26" type="NUMERIC" length="4"/>
    </template>

    I do not have any ISO Header set.

    The response which is rejected by jpos client :

    0000 45 00 00 34 56 bc 40 00 80 06 00 00 7f 00 00 01
    0010 7f 00 00 01 1e 61 e3 60 e8 57 9f 31 c3 39 64 ee
    0020 80 12 20 00 a5 66 00 00 02 04 ff d7 01 03 03 08
    0030 01 01 04 02

    Please help.

     
  • Steve

    Steve - 2017-08-12

    Adding complete communication hexdump (client (1100) > server (1100) <> server(1110) > client (1110)

    jpos client > server
    0000 45 00 00 34 56 bb 40 00 80 06 00 00 7f 00 00 01
    0010 7f 00 00 01 e3 60 1e 61 c3 39 64 ed 00 00 00 00
    0020 80 02 20 00 2d 01 00 00 02 04 ff d7 01 03 03 08
    0030 01 01 04 02

    server > jpos client
    0000 45 00 00 34 56 bc 40 00 80 06 00 00 7f 00 00 01
    0010 7f 00 00 01 1e 61 e3 60 e8 57 9f 31 c3 39 64 ee
    0020 80 12 20 00 a5 66 00 00 02 04 ff d7 01 03 03 08
    0030 01 01 04 02

    jpos client > server
    0000 45 00 00 28 56 bd 40 00 80 06 00 00 7f 00 00 01
    0010 7f 00 00 01 e3 60 1e 61 c3 39 64 ee e8 57 9f 32
    0020 50 10 08 05 f8 58 00 00

    jpos client > server (length : 109)
    0000 45 00 00 6d 56 d6 40 00 80 06 00 00 7f 00 00 01
    0010 7f 00 00 01 e3 60 1e 61 c3 39 64 ee e8 57 9f 32
    0020 50 18 08 05 20 65 00 00 30 30 36 35 31 31 30 30
    0030 33 32 32 30 30 31 43 30 30 30 30 30 30 30 30 30
    0040 30 30 30 30 30 30 30 30 30 30 30 30 30 31 30 30
    0050 32 34 30 38 31 32 32 30 35 32 34 32 30 39 30 35
    0060 34 39 31 30 31 31 35 30 36 35 31 37 32

    server > jpos client
    0000 45 00 00 28 56 d7 40 00 80 06 00 00 7f 00 00 01
    0010 7f 00 00 01 1e 61 e3 60 e8 57 9f 32 c3 39 65 33
    0020 50 10 08 05 f8 13 00 00

    server > jpos client
    0000 45 00 00 6b 56 ee 40 00 80 06 00 00 7f 00 00 01
    0010 7f 00 00 01 1e 61 e3 60 e8 57 9f 32 c3 39 65 33
    0020 50 18 08 05 85 46 00 00 00 41 31 31 31 30 33 32
    0030 32 30 30 31 43 30 30 30 30 30 30 30 30 30 30 30
    0040 30 30 30 30 30 30 30 30 30 30 30 31 30 30 32 34
    0050 30 38 31 32 32 30 35 32 34 32 30 39 30 35 34 39
    0060 31 30 31 31 35 30 36 35 31 37 32

    jpos client > server
    0000 45 00 00 28 56 ef 40 00 80 06 00 00 7f 00 00 01
    0010 7f 00 00 01 e3 60 1e 61 c3 39 65 33 e8 57 9f 75
    0020 50 10 08 04 f7 d1 00 00

    jpos client > server
    0000 45 00 00 28 56 f4 40 00 80 06 00 00 7f 00 00 01
    0010 7f 00 00 01 e3 60 1e 61 c3 39 65 33 e8 57 9f 75
    0020 50 14 00 00 ff d1 00 00

     
  • Steve

    Steve - 2017-08-12

    Hi,

    I got some more info regarding ASCII channel :
    We need to send the message contents length as 4 ASCII digits.

    In the response back we need to send 4 char length header which indicates the lenght of the message.

    for eg - if a message has lenght of 65

    hex : 30 30 36 35 31 31 30 30
    ascii : 00651100

    After this the MTI has to be put. (1110)

    After that the message should be present.

    Any idea how we can achieve this with j8583 ?

     
  • Comsky

    Comsky - 2021-07-16

    Steve were you able to send messages like this?
    MTI: hexa
    BitMap: ASCII
    Field: Hexa

     

Log in to post a comment.