JPOS ISO 8583 message breakdown (BITMAP and message length info mising)

5,148 views
Skip to first unread message

shankhadeep

unread,
Oct 12, 2011, 5:36:41 AM10/12/11
to jPOS Users, sankhadeep....@tcs.com
We are sending an ISO 8583 message and we found the following:

005828040020010000C00000000000213568831SPON000101 0595001

Message breakdown:
0058: message length
mti:2804
bitmap:0020010000C00000
field[11]:[000000213568]
field[24]:[831]
field[41]:[SPON000101 ]
field[42]:[0595001]

Yellow: length of message
Green: the actual message

And the response returned to
006928140220000002C0000009300133060000002135680000SPON000101
0595001

Message breakdown:
0069: message length
mti:2804
bitmap:0220000002C00000
field[11]:[000000213568]
field[39]:[0000]
field[41]:[SPON000101 ]
field[42]:[0595001]


The message request was not accepted as it missed the message length
and BITMAP
info. Can you suggest while sending a request ISO 8583 message to the
server
how to generate the message length and BITMAP info using JPOS and
include it in
the request message to get a response back from server?


Mark Salter

unread,
Oct 12, 2011, 5:05:10 PM10/12/11
to jpos-...@googlegroups.com
On 12/10/2011 10:36, shankhadeep wrote:

> The message request was not accepted as it missed the message length
> and BITMAP
> info. Can you suggest while sending a request ISO 8583 message to the
> server
> how to generate the message length and BITMAP info using JPOS and
> include it in
> the request message to get a response back from server?

JPOS takes care of this for you, you just need to select, configure and
use the right Channel.

Which Channel are you using, what does the manual of the interface you
are connecting too describe the message format - length format and any
header?

--
Mark

shankhadeep

unread,
Oct 13, 2011, 6:51:01 AM10/13/11
to jPOS Users
Hi Mark,
thanks for the reply..

we are using CSChannel .

we have one incoming message like below


<input>
<data>
<card uid="0" value="2804"/>
</data>
<data>
<card uid="11" value="213568"/>
</data>
<data>
<card uid="42" value="0595099"/>
</data>
</input>


Now we need to convert it to ISO 8583 message.

we are using a manual programm to convert the above mentioned message
to the following format

<isomsg direction="incoming">
<field id="0" value="2804"/>
<field id="11" value="213568"/>
<field id="42" value="0595099"/>
</isomsg>

Now using socket connection we are sending this request message to a
simulated server .

but it is missing the message length and BITMAP.

the code is given below:

ISOMsg pISOMsgRes = null;

ISOChannel channel=null;
channel = new CSChannel(SIMULATION_SERVER_ADDRESS,
SIMULATION_SERVER__HOSTPORT, new ISOPackagerImpl().getInstance());
channel.connect();



ISOMsg pOutgoingMsg = (ISOMsg) pIncomingMessage.clone();
channel.send(pOutgoingMsg);
pISOMsgRes = channel.receive(); // this line gives EOF exception


Please suggest...

Mark Salter

unread,
Oct 13, 2011, 5:27:43 PM10/13/11
to jpos-...@googlegroups.com
On 13/10/2011 11:51, shankhadeep wrote:
> we are using CSChannel .
Ok.

>
> we have one incoming message like below
>
>
> <input>
> <data>
> <card uid="0" value="2804"/>
> </data>
> <data>
> <card uid="11" value="213568"/>
> </data>
> <data>
> <card uid="42" value="0595099"/>
> </data>
> </input>
>
Is this the actual message or a representation of it?

>
> Now we need to convert it to ISO 8583 message.
>
> we are using a manual programm to convert the above mentioned message
> to the following format

Can you describe the code and how it creates the pIncomingMessage?

>
> <isomsg direction="incoming">
> <field id="0" value="2804"/>
> <field id="11" value="213568"/>
> <field id="42" value="0595099"/>
> </isomsg>

Are you converting the xml to another xml format, or is this the result
of a ISOMsg.dump ?

>
> Now using socket connection we are sending this request message to a
> simulated server .
>
> but it is missing the message length and BITMAP.

The Channel will add the length and the server might be stripping it
off, is any data arriving at the server?

>
> the code is given below:
>
> ISOMsg pISOMsgRes = null;
>
> ISOChannel channel=null;
> channel = new CSChannel(SIMULATION_SERVER_ADDRESS,
> SIMULATION_SERVER__HOSTPORT, new ISOPackagerImpl().getInstance());
> channel.connect();
>

What Packager are you using please?

>
>
> ISOMsg pOutgoingMsg = (ISOMsg) pIncomingMessage.clone();
> channel.send(pOutgoingMsg);
> pISOMsgRes = channel.receive(); // this line gives EOF exception
>

What is the Server seeing and doing?


Does the server use the same Channel, is it jPOS too?
Please share the exact Exception text, the server is closing your
connection, so it doesn't like what it receives?

--
Mark

Shankhadeep

unread,
Oct 14, 2011, 6:43:59 AM10/14/11
to jpos-...@googlegroups.com
Hi Mark,

Answers are given in bold..

On Fri, Oct 14, 2011 at 2:57 AM, Mark Salter <marks...@talktalk.net> wrote:
On 13/10/2011 11:51, shankhadeep wrote:
> we are using CSChannel .
Ok.
>
> we have one incoming message like below
>
>
> <input>
> <data>
> <card uid="0" value="2804"/>
> </data>
> <data>
> <card uid="11" value="213568"/>
> </data>
> <data>
> <card uid="42" value="0595099"/>
> </data>
> </input>
>
Is this the actual message or a representation of it?

>YES

 
> Now we need to convert it to ISO 8583 message.
>
> we are using a manual programm to convert the above mentioned message
> to the following format
Can you describe the code and how it creates the pIncomingMessage?

>
> <isomsg direction="incoming">
>       <field id="0" value="2804"/>
>       <field id="11" value="213568"/>
>       <field id="42" value="0595099"/>
>     </isomsg>
Are you converting the xml to another xml format, or is this the result
of a ISOMsg.dump ?

We are converting the message to this format and using one XMLChannel in a sponsor switch which redirects the message to a simulated server through a socket connection
>
> Now using socket connection we are sending this request message to a
> simulated server .
>
> but it is missing the message length and BITMAP.
The Channel will add the length and the server might be stripping it
off, is any data arriving at the server?

yes . but without message length and BITMAP.
>
> the code is given below:
>
> ISOMsg pISOMsgRes = null;
>
>               ISOChannel channel=null;
>                channel = new CSChannel(SIMULATION_SERVER_ADDRESS,
> SIMULATION_SERVER__HOSTPORT, new ISOPackagerImpl().getInstance());
>                    channel.connect();
>
What Packager are you using please?

GenericPackager

>
>
>                       ISOMsg pOutgoingMsg = (ISOMsg) pIncomingMessage.clone();
>                       channel.send(pOutgoingMsg);
>                       pISOMsgRes = channel.receive(); // this line gives EOF exception
>
What is the Server seeing and doing?


Does the server use the same Channel, is it jPOS too?
Please share the exact Exception text, the server is closing your
connection, so it doesn't like what it receives?

--
Mark

--
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  "jPOS Users" group.
Please see http://jpos.org/wiki/JPOS_Mailing_List_Readme_first
To post to this group, send email to jpos-...@googlegroups.com
To unsubscribe, send email to jpos-users+...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/jpos-users

Mark Salter

unread,
Oct 14, 2011, 8:21:34 PM10/14/11
to jpos-...@googlegroups.com
Please note that you missed answering a couple of my questions, but:-

On 14/10/2011 11:43, Shankhadeep wrote:
>> Now using socket connection we are sending this request message to a
>> > > simulated server .
>> > >
>> > > but it is missing the message length and BITMAP.
>> The Channel will add the length and the server might be stripping it
>> off, is any data arriving at the server?
>>
>> yes . but without message length and BITMAP.

I would like to check you are using a Packager on your ISOMSg and what
the Packager config (which .xml config file?) contains.

Does it have a bitmap field defined at all - although a bitmap would
naturally be only for ISO8583 forms rather than xml representations of them?

Also, please note that unless you add a field holding the length into
the message, the length added by the Channel is not available nor is it
really of any interest once you have the xml form.

I wonder if you really should be sending a 'real' ISO8583 format message
onto the server?

--
Mark

Shankhadeep

unread,
Oct 17, 2011, 7:40:33 AM10/17/11
to jpos-...@googlegroups.com
Hi Mark,
 
It would be great for me if i can contact you over the phone where i can discuss the problem with you.
If you can share a number and your convenient time.

Thanks,
shankha
 

--
Mark

Mark Salter

unread,
Oct 17, 2011, 5:42:29 PM10/17/11
to jpos-...@googlegroups.com
On 17/10/2011 12:40, Shankhadeep wrote:
> It would be great for me if i can contact you over the phone where i can
> discuss the problem with you.
I would prefer to keep discussions on list - I hope that is ok with you.
As often stated, like this the current watchers and those yet to arrive
can hopefully also benefit from our exchanges.

--
Mark

shankhadeep

unread,
Oct 18, 2011, 8:43:52 AM10/18/11
to jPOS Users
Hi Mark,

this is the xml we are using
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE isopackager[
<!ELEMENT isopackager (isofield+,isofieldpackager*)*>
<!ATTLIST isopackager maxValidField CDATA #IMPLIED>
<!ATTLIST isopackager bitmapField CDATA #IMPLIED>
<!ATTLIST isopackager emitBitmap (true|false) #IMPLIED>

<!-- isofield -->
<!ELEMENT isofield EMPTY>
<!ATTLIST isofield id CDATA #REQUIRED>
<!ATTLIST isofield length CDATA #REQUIRED>
<!ATTLIST isofield name CDATA #REQUIRED>
<!ATTLIST isofield class NMTOKEN #REQUIRED>
<!ATTLIST isofield token CDATA #IMPLIED>
<!ATTLIST isofield pad (true|false) #IMPLIED>

<!-- isofieldpackager -->
<!ELEMENT isofieldpackager (isofield+,isofieldpackager*)*>
<!ATTLIST isofieldpackager id CDATA #REQUIRED>
<!ATTLIST isofieldpackager name CDATA #REQUIRED>
<!ATTLIST isofieldpackager length CDATA #REQUIRED>
<!ATTLIST isofieldpackager class NMTOKEN #REQUIRED>
<!ATTLIST isofieldpackager token CDATA #IMPLIED>
<!ATTLIST isofieldpackager pad (true|false) #IMPLIED>
<!ATTLIST isofieldpackager packager NMTOKEN #REQUIRED>
<!ATTLIST isofieldpackager emitBitmap (true|false) #IMPLIED>
<!ATTLIST isofieldpackager maxValidField CDATA #IMPLIED>
<!ATTLIST isofieldpackager bitmapField CDATA #IMPLIED>
]>

<!-- ISO 8583:1987 (ASCII) field descriptions for GenericPackager -->

<isopackager>
<isofield
id="0"
length="4"
name="MESSAGE TYPE INDICATOR"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="1"
length="16"
name="BIT MAP"
class="org.jpos.iso.IFB_BITMAP"/>
<isofield
id="2"
length="19"
name="COLLECTOR NUMBER"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="3"
length="6"
name="PROCESSING CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="4"
length="16"
name="CASH BALANCE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="5"
length="16"
name="DREAM BALANCE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="6"
length="16"
name="PURCHASE AMOUNT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="7"
length="10"
name="TRANSMISSION DATE AND TIME"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="8"
length="12"
name="AVAILABLE CASH BALANCE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="9"
length="8"
name="CONVERSION RATE, SETTLEMENT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="10"
length="8"
name="CONVERSION RATE, CARDHOLDER BILLING"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="11"
length="12"
name="SYSTEM TRACE NUMBER"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="12"
length="14"
name="LOCAL TRANSACTION DATE AND TIME"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="13"
length="6"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="14"
length="4"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="15"
length="4"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="16"
length="4"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="17"
length="4"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="18"
length="4"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="19"
length="3"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="20"
length="3"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="21"
length="3"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="22"
length="16"
name="POS DATA CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="23"
length="3"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="24"
length="3"
name="FUNCTION CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="25"
length="4"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="26"
length="2"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="27"
length="1"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="28"
length="9"
name="ARESERVED PRIVATE USE"
class="org.jpos.iso.IFA_AMOUNT"/>
<isofield
id="29"
length="9"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_AMOUNT"/>
<isofield
id="30"
length="9"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_AMOUNT"/>
<isofield
id="31"
length="9"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_AMOUNT"/>
<isofield
id="32"
length="11"
name="ACQUIRER INSTITUTION ID"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="33"
length="11"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="34"
length="28"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="35"
length="37"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="36"
length="104"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="37"
length="12"
name="RETRIEVAL REFERENCE NUMBER"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="38"
length="6"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="39"
length="4"
name="RESPONSE CODE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="40"
length="3"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="41"
length="16"
name="CARD TERMINAL ID"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="42"
length="35"
name="CARD ACCEPTOR ID"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="43"
length="40"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="44"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="45"
length="76"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="46"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="47"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="48"
length="999"
name="TIME ZONE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="49"
length="3"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="50"
length="3"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="51"
length="3"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="52"
length="8"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_BINARY"/>
<isofield
id="53"
length="16"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="54"
length="120"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="55"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="56"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="57"
length="999"
name="RESERVED NATIONAL"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="58"
length="999"
name="RESERVED NATIONAL"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="59"
length="999"
name="RESERVED NATIONAL"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="60"
length="999"
name="RESERVED PRIVATE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="61"
length="999"
name="RESERVED PRIVATE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="62"
length="999"
name="INSTANT MESSAGES"
class="org.jpos.iso.IFA_LLLCHAR"/>
<!--
<isofieldpackager
id="63"
length="999"
name="REDEMPTION OFFERS"
class="org.jpos.iso.IFA_LLLBINARY"
packager="org.jpos.iso.packager.GenericSubFieldPackager"
emitBitmap="true" pad="false" bitmapField="0">
<isofield
id="0"
length="8"
name="BIT MAP"
class="org.jpos.iso.IFB_BITMAP"/>
<isofield
id="1"
length="2"
pad="false"
name="DYNAMIC OFFER ID"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="2"
length="4"
name="UNIT VALUE AM"
pad="false"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="3"
length="10"
pad="false"
name="UNIT VALUE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="4"
length="10"
pad="false"
name="TRX AVAIL UNITS"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="5"
length="1"
pad="false"
name="DAILY AVAIL UNITS"
class="org.jpos.iso.IFA_NUMERIC"/>
</isofieldpackager>
-->
<isofield
id="63"
length="999"
name="REDEMPTION OFFERS"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="64"
length="8"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_BINARY"/>
<isofield
id="65"
length="1"
name="BITMAP, EXTENDED"
class="org.jpos.iso.IFB_BINARY"/>
<isofield
id="66"
length="1"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="67"
length="2"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="68"
length="3"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="69"
length="3"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="70"
length="3"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="71"
length="4"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="72"
length="4"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="73"
length="6"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="74"
length="10"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="75"
length="10"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="76"
length="10"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="77"
length="10"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="78"
length="10"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="79"
length="10"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="80"
length="10"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="81"
length="10"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="82"
length="12"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="83"
length="12"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="84"
length="12"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="85"
length="12"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="86"
length="16"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="87"
length="16"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="88"
length="16"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="89"
length="16"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="90"
length="42"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="91"
length="1"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="92"
length="2"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="93"
length="6"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="94"
length="7"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="95"
length="42"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="96"
length="16"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_BINARY"/>
<isofield
id="97"
length="17"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_AMOUNT"/>
<isofield
id="98"
length="25"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="99"
length="11"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="100"
length="11"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="101"
length="17"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="102"
length="28"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="103"
length="28"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="104"
length="100"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="105"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="106"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="107"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="108"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="109"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="110"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="111"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="112"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="113"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="114"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="115"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="116"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="117"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="118"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="119"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="120"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="121"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="122"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="123"
length="29"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="124"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="125"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="126"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="127"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="128"
length="8"
name="MAC 2"
class="org.jpos.iso.IFA_BINARY"/>
</isopackager>


and also taking your comments

"Also, please note that unless you add a field holding the length
into
the message, the length added by the Channel is not available nor is
it
really of any interest once you have the xml form.

"
How to generate and add this message length and BITMAP to the message?

and what is 'real' ISO8583 format message ?

Thanks in advance
Shankha

shankhadeep

unread,
Nov 1, 2011, 6:47:49 AM11/1/11
to jPOS Users
Hi,

We have used AsciiChannel to send an ISO message to JPOS server..
below error is coming from channel.receive() function...


java.io.EOFException
at java.io.DataInputStream.readFully(Unknown Source)
at
org.jpos.iso.channel.ASCIIChannel.getMessageLength(ASCIIChannel.java:
96)
at org.jpos.iso.BaseChannel.receive(BaseChannel.java:642)
at
com.tcs.jpos.server.JPOSSponsorSwitch.process(JPOSSponsorSwitch.java:
117)
at org.jpos.iso.ISOServer$Session.run(ISOServer.java:135)
at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:
71)

It seems to be a "BITMAP and message length missing " issue..

Can you please guide us for the error. What should be the right way to
solve this issue.
This is very critical and urgent for us.. Any help will be highly
appreciated...
> ...
>
> read more »

Chhil

unread,
Nov 1, 2011, 2:45:05 PM11/1/11
to jpos-...@googlegroups.com, jPOS Users
Is the same channel and packager being used by the sender and the jPOS server?

-chhil

Mark Salter

unread,
Nov 1, 2011, 5:51:03 PM11/1/11
to jpos-...@googlegroups.com
On 01/11/2011 10:47, shankhadeep wrote:
> What should be the right way to
> solve this issue.
As you have made a stab or selected a Channel and Packager already you
should:-

1. Add a Logger to the Packager and the Channel so that you can see what
lengths are being picked out of the network (Channel) and what data is
going into what fields (Packager).

2. Compare the output produced to the Logger step by step against the
specification for the interface you are dealing with. The message length
or one of the fields - not necessarily the last one processed - will
have an incorrect length definition.

This *guess* is based upon the fact that you are running out of data
(hitting EOF) but that the Channel did not consider the length too long.
The Channel might actually have 'seen' a length that was much shorter
than it really is, but this feels unlikely.

What you should have done is pick the Channel and Packager by referring
to the interface specification; I appreciate this can be quite boring
and perhaps confusing, but I find it is the best and quickest way in the
long run.

BTW, if you are in control of both sides of this exchange, then you have
a mis-alignment of the Channel or Packager being used on each side - as
Chhil says they must be identical and likely are not.


I wasn't going to comment, but feel the need to, if only to save you in
the future...

> This is very critical and urgent for us.

I have to disagree, if this was either critical or urgent, you would be
paying for support. Asking for urgent assistance on a mailing list just
won't work, but we are a nice helpful bunch.

This is only my opinion of course, so take it or leave it as you see fit.

:-)


--
Mark

Shankhadeep

unread,
Nov 1, 2011, 11:50:06 PM11/1/11
to jpos-...@googlegroups.com
Yes ,  the sender and the JPOS are using same channel..
You have been very helpful so far.. :-)

One more thing..
can you tell me what code should i write to print the fields and their values of the message..
i need to see what is the value of BITMAP in binary form and the message length sent to the JPOS server..

Thanks in advance...

chhil

unread,
Nov 2, 2011, 12:21:00 AM11/2/11
to jpos-...@googlegroups.com
I would search the list and its covered n number of times.


<your_packager> p = new <your_packager>();
   
     String s1 = "raw hex string......";

    ISOMsg m = new ISOMsg();
    m.setPackager(p);
   
    Logger logger = new Logger(); 
    logger.addListener (new SimpleLogListener (System.out));
    p.setLogger(logger, "Test");
    try
    {
   
   
    m.unpack(ISOUtil.hex2byte(s1));
    m.dump(System.out, "");
   
    }
    catch (Exception e)
    {
    System.out.println(m);
    }
    
-chhil

shankhadeep

unread,
Nov 2, 2011, 6:30:00 AM11/2/11
to jPOS Users
Thanks a lot Chhil !!!


On Nov 2, 9:21 am, chhil <chil...@gmail.com> wrote:
> I would search the list and its covered n number of times.
>
> <your_packager> p = new <your_packager>();
>
>      String s1 = "raw hex string......";
>
>     ISOMsg m = new ISOMsg();
>     m.setPackager(p);
>
>     Logger logger = new Logger();
>     logger.addListener (new SimpleLogListener (System.out));
>     p.setLogger(logger, "Test");
>     try
>     {
>
>     m.unpack(ISOUtil.hex2byte(s1));
>     m.dump(System.out, "");
>
>     }
>     catch (Exception e)
>     {
>     System.out.println(m);
>     }
>
> -chhil
>
> On Wed, Nov 2, 2011 at 9:20 AM, Shankhadeep <seeyouallinala...@gmail.com>wrote:
>
>
>
> > Yes ,  the sender and the JPOS are using same channel..
> > You have been very helpful so far.. :-)
>
> > One more thing..
> > can you tell me what code should i write to print the fields and their
> > values of the message..
> > i need to see what is the value of BITMAP in binary form and the message
> > length sent to the JPOS server..
>
> > Thanks in advance...
>
> >> Please seehttp://jpos.org/wiki/JPOS_Mailing_List_Readme_first
> >> To post to this group, send email to jpos-...@googlegroups.com
> >> To unsubscribe, send email to jpos-users+...@googlegroups.com
> >> For more options, visit this group at
> >>http://groups.google.com/group/jpos-users
>
> >  --
> > 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 "jPOS Users"
> > group.
> > Please seehttp://jpos.org/wiki/JPOS_Mailing_List_Readme_first
> > To post to this group, send email to jpos-...@googlegroups.com
> > To unsubscribe, send email to jpos-users+...@googlegroups.com
> > For more options, visit this group at
> >http://groups.google.com/group/jpos-users- Hide quoted text -
>
> - Show quoted text -

chhil

unread,
Nov 2, 2011, 11:51:58 AM11/2/11
to jpos-...@googlegroups.com
You are welcome.

-chhil
hmmm Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime. :)

Israel Meshileya

unread,
Aug 8, 2016, 10:30:37 AM8/8/16
to jPOS Users
Hello Mark....I want to ask you this question...on my jpos server, i am seeing Length = 3038...while trying to package my iso8583 data...although, at my console..i can see the data been packed...and the one been unpacked...but, checking the jpos server...i can only see Length = 3038. 
will really appreciate your response to this.

Alejandro Revilla

unread,
Aug 8, 2016, 11:42:09 AM8/8/16
to jPOS Users
Looks like a channel mismatch issue. 30 38 is very likely the first two bytes of a "0800" message.


Message has been deleted

Israel Meshileya

unread,
Aug 9, 2016, 11:39:47 AM8/9/16
to jPOS Users


On Tuesday, 9 August 2016 16:31:22 UTC+1, Israel Meshileya wrote:
thanks for your response @Alejandro..what will you suggest i do???..because, trying to use jpos on an Android device which has a lower version of Operating System isn't really working well..so, I am trying to use another means...in getting my work done

Andy Orrock

unread,
Aug 9, 2016, 11:43:10 AM8/9/16
to jpos-...@googlegroups.com
You need to check with your message partner and re-validate the channel model.  As Alejandro notes, you appear to be consuming the first two bytes of the MTI as the length. 

--------
ANDY 

--
--
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 "jPOS Users" group.
Please see http://jpos.org/wiki/JPOS_Mailing_List_Readme_first
To post to this group, send email to jpos-...@googlegroups.com
To unsubscribe, send email to jpos-users+unsubscribe@googlegroups.com

For more options, visit this group at http://groups.google.com/group/jpos-users
---
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/40dbde2e-4a13-4818-89e8-434964c85665%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Alejandro Revilla

unread,
Aug 9, 2016, 11:44:32 AM8/9/16
to jPOS Users
Why don't you use JSON or XML in your Android application and use for example the XMLChannel/XMLPackager on the jPOS side? (there's a JSONPackager too, currently disable due to library conflicts, but easy to re-enable).



--
--
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 "jPOS Users" group.
Please see http://jpos.org/wiki/JPOS_Mailing_List_Readme_first
To post to this group, send email to jpos-...@googlegroups.com
To unsubscribe, send email to jpos-users+unsubscribe@googlegroups.com

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

Israel Meshileya

unread,
Aug 9, 2016, 11:56:47 AM8/9/16
to jPOS Users
The Android device I want to use has a lower API version..which i think JPOS doesn't support...so, i had to use another packager..in which appears like

ISOSCHEMA.put("[4]","[NUM-12-10-0_0-Amount], [Transaction]");
        ISOSCHEMA.put("7", "NUM-6-10-0_0");
        ISOSCHEMA.put("11", "NUM-6-6-0_0");
        ISOSCHEMA.put("12", "NUM-4-6-0_0");
        ISOSCHEMA.put("13", "NUM-4-4-0_0");
        
        ISOSCHEMA.put("9","NUMERIC-0-8-0_0");
        ISOSCHEMA.put("18","FCHAR-10-10-0_0");
        ISOSCHEMA.put("41","CHAR-2-64-0_0");
        ISOSCHEMA.put("52","CHAR-2-64-0_0");
        ISOSCHEMA.put("57","CHAR-2-50-0_0");
        ISOSCHEMA.put("58","CHAR-2-99-0_0");
        ISOSCHEMA.put("65","NUMERIC-1-1-0_0");
        ISOSCHEMA.put("100","NUM-2-8-0_0");

and for my echo message..which i want to use in testing if i am doing the right thing..i have 

 isofields.put("7", "0722171946");
        isofields.put("11", "000218");
        isofields.put("12", "171946");
        isofields.put("13", "0722");
        isofields.put("41", "27002368");

        //TESTING: ISOMESSAGE PACKING
        String isoMessage = packIsoMsg("0800",isofields);
        System.out.println("Packed iso8583 Message: "+isoMessage+"\n");

On Tuesday, 9 August 2016 16:44:32 UTC+1, Alejandro Revilla wrote:
Why don't you use JSON or XML in your Android application and use for example the XMLChannel/XMLPackager on the jPOS side? (there's a JSONPackager too, currently disable due to library conflicts, but easy to re-enable).



On Tue, Aug 9, 2016 at 12:39 PM, Israel Meshileya <odunmes...@gmail.com> wrote:


On Tuesday, 9 August 2016 16:31:22 UTC+1, Israel Meshileya wrote:
thanks for your response @Alejandro..what will you suggest i do???..because, trying to use jpos on an Android device which has a lower version of Operating System isn't really working well..so, I am trying to use another means...in getting my work done

On Monday, 8 August 2016 16:42:09 UTC+1, Alejandro Revilla wrote:
Looks like a channel mismatch issue. 30 38 is very likely the first two bytes of a "0800" 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
 
Join us in IRC at http://webchat.freenode.net/?channels=jpos
 
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-...@googlegroups.com
To unsubscribe, send email to jpos-users+...@googlegroups.com

For more options, visit this group at http://groups.google.com/group/jpos-users
---
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.

chhil

unread,
Aug 10, 2016, 5:25:13 AM8/10/16
to jpos-...@googlegroups.com
Your jpos server is using the first 2 bytes as the length of message and then accumulates those many bytes. 
This is determined by the channel configured for your server.
So once you pack your message using whatever means, you need to prepend your packed message with 2 bytes that contain the length header.
The length header should be formatted based on what channel is used in your jpos server.

Look at the sendMessageLength of the channel that is being used by your jpos server to determine how the prepended length needs to be set up.

e.g. If NACChannel is used

You would get the length of your packed message (byte[]) and send that followed by the packed message.

-chhil

Message has been deleted

Israel Meshileya

unread,
Aug 10, 2016, 6:14:19 AM8/10/16
to jPOS Users
thanks for your response @chhill

if i should use the jpos packager...i do get the below file in my jpos server..which is supposed to be so..but, using the packager i want to make use of, i can only see the Length = 3038

After using the JPOS library 

Length = 0039
Byte length(b): 57 :: Incoming data HEX(d): 303830308238000000800000040000000000000030373232313731393436303030323138313731393436303732323237303032333638313031
<log realm="pos-server/127.0.0.1:8155" at="Wed Aug 10 11:08:30 WAT 2016.582" lifespan="107ms">
  <receive>
    <isomsg direction="incoming">
      <!-- org.jpos.iso.packager.GenericPackager[config/hbngpostilion.xml] -->
      <field id="0" value="0800"/>
      <field id="7" value="0722171946"/>
      <field id="11" value="000218"/>
      <field id="12" value="171946"/>
      <field id="13" value="0722"/>
      <field id="41" value="27002368"/>
      <field id="70" value="101"/>
    </isomsg>
  </receive>
</log>
I am here
Get INet: 127.0.0.1
Byte length(d): 100 bytes :: Outgoing data HEX(d): 30383130823800000280000004000000000000083037323231373139343630303032313831373139343630373232303032373030323336383130313033384135364236374539353939453941414639353832363733334643373735393838314134453644
<log realm="pos-server/127.0.0.1:8155" at="Wed Aug 10 11:08:30 WAT 2016.629" lifespan="33ms">
  <send>
    <isomsg direction="outgoing">
      <!-- org.jpos.iso.packager.GenericPackager[config/hbngpostilion.xml] -->
      <field id="0" value="0810"/>
      <field id="7" value="0722171946"/>
      <field id="11" value="000218"/>
      <field id="12" value="171946"/>
      <field id="13" value="0722"/>
      <field id="39" value="00"/>
      <field id="41" value="27002368"/>
      <field id="70" value="101"/>
      <field id="125" value="A56B67E9599E9AAF95826733FC7759881A4E6D"/>
    </isomsg>
  </send>
</log>
<log realm="pos-server/127.0.0.1:8155" at="Wed Aug 10 11:08:30 WAT 2016.651" lifespan="7ms">
  <receive>
    <peer-disconnect>Connection reset</peer-disconnect>
  </receive>
</log>
<log realm="server.session/127.0.0.1" at="Wed Aug 10 11:08:30 WAT 2016.656">
  <session-end/>
</log>

Israel Meshileya

unread,
Aug 10, 2016, 6:26:46 AM8/10/16
to jPOS Users
for my networkTransport class

 public static String networkTransport(String isoMessage) throws UnknownHostException, IOException
    {
        Socket connection = new Socket("192.168.3.118", 1010);
        BufferedOutputStream bos = new BufferedOutputStream(connection.getOutputStream());
        OutputStreamWriter osw = new OutputStreamWriter(bos);
        osw.write(isoMessage+"\n");
        osw.flush();

        byte[] arrOutut = new byte[4096];
        int count = connection.getInputStream().read(arrOutut, 0, 4096);

        String clientRequest = "";
        for (int outputCount = 0; outputCount < count; outputCount++)
        {
            char response = (char)arrOutut[outputCount];
            clientRequest = clientRequest + response;
        }

        connection.close();

        return clientRequest;

chhil

unread,
Aug 10, 2016, 6:30:00 AM8/10/16
to jPOS Users

When you say jpos packager you must be using the jpos channel too which pretends the correct length.

When you use your non jpos packager the length is not prepended so the server takes the first 2 bytes from your iso message data as the length and is waiting for those many bytes and since those many bytes are available it's still waiting for more bytes on the wire.

In your non jpos way the server sees the 0800....
It sees the first 0 as  30 and the second 8 as 38, that makes it 3038.
Now it will collect 3038 bytes, if they aren't there it will wait for them to arrive.

_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
 
Join us in IRC at http://webchat.freenode.net/?channels=jpos
 
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-...@googlegroups.com
To unsubscribe, send email to jpos-users+...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/jpos-users
---
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.

Israel Meshileya

unread,
Aug 10, 2016, 6:39:13 AM8/10/16
to jPOS Users
Thanks so much for your detailed explanation and time...I really appreciate your response.
What do you suggest i do, in getting this right..pls

Israel Meshileya

unread,
Aug 10, 2016, 6:45:23 AM8/10/16
to jPOS Users
What i noticed is that,  in my Byte length(b): 57 :: Incoming data HEX(d):  the first 4 letters are 3038...which i supposed was been truncated by the length of the LENGTH assumed to be 4..cos, using the jpos packager and jpos channel...i can only see 0039..but, if i should use non-jpos packager and jpos channel..i can only see 3038....still trying to think of the way out.

chhil

unread,
Aug 10, 2016, 6:53:38 AM8/10/16
to jpos-...@googlegroups.com
I have already explained why you are seeing 3038. Please read/re read and continue reading my earlier response.

The following is untested code, understand it and give it a try.
    public static String networkTransport(String isoMessage) throws UnknownHostException, IOException {
        Socket connection = new Socket("192.168.3.118", 1010);
        BufferedOutputStream bos = new BufferedOutputStream(connection.getOutputStream());

        OutputStreamWriter osw = new
 OutputStreamWriter(bos);
        int len = isoMessage.length(); // get the length of the data
        // SInce your packager name says Postilion, I think this will work.
        osw.write(len >> 8); // send the length bytes in 2 bytes. this is the byte 1
        osw.write(len);// send the length bytes in 2 bytes. this is the byte 2

        osw.write(isoMessage);
        osw.flush();

        // Here you need to do the reverse. Get the first 2 bytes of the length
        // then read those many bytes. You don't want to simply read 4096.
        // TCP is streaming data, your 4096 can read more than one response. So determine the length from the first 2
        // bytes and then read that much more data from the stream
        // That is HOMEWORK exercise for you to do.

        byte[] arrOutut = new byte[4096];
        int count = connection.getInputStream().read(arrOutut, 0, 4096);

        String clientRequest = "";
        for (int outputCount = 0
; outputCount < count; outputCount++) {
            char response = (char) arrOutut[outputCount];
            clientRequest = clientRequest + response;
        }

        connection.close();

        return clientRequest;
    }

--
--
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
 
Join us in IRC at http://webchat.freenode.net/?channels=jpos
 
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-...@googlegroups.com
To unsubscribe, send email to jpos-users+unsubscribe@googlegroups.com

For more options, visit this group at http://groups.google.com/group/jpos-users
---
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/8cb97119-27f1-423e-b53a-67a4ba5a0251%40googlegroups.com.

Israel Meshileya

unread,
Aug 10, 2016, 6:58:18 AM8/10/16
to jPOS Users
Thanks so much...it worked...lol... you made me the happiest being...i really appreciate.
To unsubscribe, send email to jpos-users+...@googlegroups.com

For more options, visit this group at http://groups.google.com/group/jpos-users
---
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.

chhil

unread,
Aug 10, 2016, 7:00:26 AM8/10/16
to jpos-...@googlegroups.com
1 happy being and 1000's on this group are crying :)

-chhil

To unsubscribe, send email to jpos-users+unsubscribe@googlegroups.com

For more options, visit this group at http://groups.google.com/group/jpos-users
---
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/186df1bf-9de4-46c4-a155-3969da9a009a%40googlegroups.com.

Israel Meshileya

unread,
Aug 10, 2016, 7:01:24 AM8/10/16
to jPOS Users
I will try to polish it up....I am getting what i needed now...thanks so much.


On Wednesday, 10 August 2016 11:53:38 UTC+1, chhil wrote:
To unsubscribe, send email to jpos-users+...@googlegroups.com

For more options, visit this group at http://groups.google.com/group/jpos-users
---
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.

Thorsten Neumann

unread,
Aug 10, 2016, 8:54:17 AM8/10/16
to jpos-...@googlegroups.com

Weighing in, but running pure ISO on Android sounds like a really bad idea - it certainly wouldn't pass PCI nor protect cardholder data, for the very reasons the group created P2PE.

You might get a technically working solution but vulnerable card data.

(Caveat, general statement based on experiences, unaware which specific device is being used)

Thor


To unsubscribe, send email to jpos-users+unsubscribe@googlegroups.com

For more options, visit this group at http://groups.google.com/group/jpos-users
---
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/baf9f799-0a76-4c93-bf20-a3449d5f285b%40googlegroups.com.

Mark Salter

unread,
Aug 10, 2016, 5:30:24 PM8/10/16
to jpos-...@googlegroups.com
On 10/08/16 12:00, chhil wrote:
> 1 happy being and 1000's on this group are crying :)
I stopped crying hours ago; I have been thinking about moving to America
so I can make use of the second amendment...


... :-)

You really are too helpful sometimes Chhil :-D

--
Mark

chhil

unread,
Aug 11, 2016, 4:13:46 AM8/11/16
to jPOS Users
Mark,

Stop!...No need to bear arms,  use the keyboard instead, use that catb link of yours  :)

-chhil

lavany...@gmail.com

unread,
Sep 18, 2020, 11:21:23 AM9/18/20
to jPOS Users
do you have .xml to parse these messages?

On Wednesday, October 12, 2011 at 3:06:41 PM UTC+5:30 shankhadeep wrote:
We are sending an ISO 8583 message and we found the following:

005828040020010000C00000000000213568831SPON000101 0595001

Message breakdown:
0058: message length
mti:2804
bitmap:0020010000C00000
field[11]:[000000213568]
field[24]:[831]
field[41]:[SPON000101 ]
field[42]:[0595001]

Yellow: length of message
Green: the actual message

And the response returned to
006928140220000002C0000009300133060000002135680000SPON000101
0595001

Message breakdown:
0069: message length
mti:2804
bitmap:0220000002C00000
field[11]:[000000213568]
field[39]:[0000]
field[41]:[SPON000101 ]
field[42]:[0595001]


The message request was not accepted as it missed the message length
and BITMAP
info. Can you suggest while sending a request ISO 8583 message to the
server
how to generate the message length and BITMAP info using JPOS and
include it in
the request message to get a response back from server?


Reply all
Reply to author
Forward
0 new messages