ISO Channel Selection HELP

710 views
Skip to first unread message

Kevin

unread,
Nov 26, 2014, 6:06:21 AM11/26/14
to jpos-...@googlegroups.com
I have been assigned to do a JPOS project. But i have no idea on which channel to be implemented. Initially i extends HEXChannel class. Then i got the below error
 
   </isomsg>
<exception name="For input string: "
java.lang.NumberFormatException: For input string: "
 at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
        at java.lang.Integer.parseInt(Integer.java:449)
        at org.jpos.iso.channel.HEXChannel.getMessageLength(HEXChannel.java:94)
        at org.jpos.iso.BaseChannel.receive(BaseChannel.java:699)
        at org.jpos.q2.iso.ChannelAdaptor$Receiver.run(ChannelAdaptor.java:317)
        at java.lang.Thread.run(Thread.java:662)
    </exception>

Basically this system's interface supports EBCDIC character set. An optional ASCII character set is available by request during project setup. I have the system spec with me. Could you please advice me on this (any clue) to select the suitable Channel class to be extended.

Thanks in Advance,
Kevin.

Alejandro Revilla

unread,
Nov 26, 2014, 6:09:41 AM11/26/14
to jPOS Users
Without carefully reading your protocol specs it's very difficult to help. The wire protocol is usually under documented in the specs.


Message has been deleted

Kevin

unread,
Nov 26, 2014, 6:23:46 AM11/26/14
to jpos-...@googlegroups.com
Thanks for Replying Sir,

I just asked from the vendor and he said the protocol is Binary Synchronous Point-to-Point Communications Link protocol (BSC). Will this be helpful ? 

chhil

unread,
Nov 26, 2014, 6:30:37 AM11/26/14
to jpos-...@googlegroups.com

So lets see, I have a message which  some derivative of an ISOMsg  that needs to be sent to another entity.
Now the entity expecting the message has some decoration around the message e.g. a header that contains the length, something called a tpdu etc.
The channel is what enables you to send your ISOMsg and adds the required decoration to it.


What is the hexchannel doing, it "Sends a four ASCII hex characters indicating message length (up to 0xffff)". So the first 4 bytes are the length which the entity will use to read those many bytes to get the whole message.
Does your message include a 4 byte that have the length of the message following, I would guess not.
The ebcdic nature of data that you mention is probably at message level where the data elements are packed in EBCDIC format,  here is where your packager comes into play, you define the packager based on your field definitions. Once defined, you set your fields up using the isomsg.set(.....) and when the channel is requested to send the message, it will call the isomsg's pack method, which will use the packager definition to generate the bytes and add whatever header trailers your channel is coded to add. The reverse happens when a message is received.

What does your spec say about message communication, does it have any form of headers and what format are the headers in?
Answer this to either pick an exising channel or extend one to get what you need.

What are your fields defined as? They will be fixed or variable with a length pre-pended to it, what is the format of the length and data ? 
Answer this to pick your packager an existing one or define one yourself.

An example of a packager can be found at

-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+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/CAAgSK%3D%3DoR_Huv6wXpJS2Arh1q3SBZCvV2gjq4fzoM7w8-WNMWA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Kevin

unread,
Nov 26, 2014, 6:40:38 AM11/26/14
to jpos-...@googlegroups.com
Thank you Sir. Very nice explanation. Let me check and come back pls.

Kevin

unread,
Nov 26, 2014, 8:07:30 AM11/26/14
to jpos-...@googlegroups.com
Hi chhil,


I have extract the below lines from the spec document. Please let me know if more details are required.

What does your spec say about message communication, does it have any form of headers and what format are the headers in?
Answer this to either pick an exising channel or extend one to get what you need.

The messages pass in eight-bit characters, unencrypted. A two-byte header (high-byte first) precedes each message, denoting length of the
message excluding header, as per example below (86 is hexadecimal 0x0056):
<high-byte><low-byte><message>
<0x00><0x56><86 bytes of message>



What are your fields defined as? They will be fixed or variable with a length pre-pended to it, what is the format of the length and data ? 
Answer this to pick your packager an existing one or define one yourself.

In accordance with the ISO-8583 standard, the maximum size of each of these fields is 999.In cases where the information pass between systems exceeds
999 bytes, more than one field carries the information

Thanks in Advance

chhil

unread,
Nov 26, 2014, 8:24:30 AM11/26/14
to jpos-...@googlegroups.com
You can use the NACChannel or PostChannel, they add the 2 byte length header.


"In accordance with the ISO-8583 standard, the maximum size of each of these fields is 999.In cases where the information pass between systems exceeds
999 bytes, more than one field carries the information"

This is very vague and doesn't help, ISO8583 is a standard but the field definitions are based on institutions, so Visa has its 8583 spec, Amex has its own, Mastercard its own etc. Most of the time the fields represent the same data e.g. field 2 will be pan, 3 processing code etc... but the field formats will vary.
https://github.com/jpos/jPOS/tree/master/jpos/src/dist/cfg/packager
You can see some sample packagers here and compare their data types.

Your definintions could possibly be LLLVar  indicating a LLL can vary between 001 to 999 for its length but the char format is important. You will need to figure that out. 
http://jpos.org/doc/javadoc/org/jpos/iso/ISOFieldPackager.html
Here you can see some variation in the LLL type formatters.

-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.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/1a21f547-ee14-4f8a-b42f-4c2e762b5d54%40googlegroups.com.

Kevin

unread,
Nov 26, 2014, 8:44:39 AM11/26/14
to jpos-...@googlegroups.com
Thank you very much sir,

So i need to create the packager according to the vendor's spec. Is it? . After extending the NACChanel im getting the below error. I think that is because of the packager which is used (i'm using generic packager)

org.jpos.iso.IFA_LLNUM: Problem unpacking field 2 


And another little clarification do i need to provide a value for byte[] TPDU  in ( public NACChannel(String host, int port, ISOPackager p, byte[] TPDU) ) ?

Thanks Again.

chhil

unread,
Nov 26, 2014, 8:53:48 AM11/26/14
to jpos-...@googlegroups.com
So now its probably managed to read the message, and its using your packager to understand how long the bitmap is and what format its in to extract the fields. Your bitmap is indicating there is a field 2, but now the packager for field 2 expects a the length in a certain format and its failing.
This however still does not mean you have got everything alligned, make sure the message that was sent/received was completely received using the length header, once that is alligned, go field by field to align the rest of it.

Make sure to add loggers to the packager/isomsg/channel to get a dump of everything which you can use to share here to get assistance.

I would highly recommend looking at the unit tests at 
https://github.com/jpos/jPOS/tree/master/jpos/src/test/java/org/jpos/iso
to understand what each of the field packagers expects to unpack and what it will look like when its packed. This should enable you to design your message packager correctly.

If your spec says there is a tpdu you would define it, else not. 

-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.

Kevin

unread,
Nov 26, 2014, 9:01:41 AM11/26/14
to jpos-...@googlegroups.com
Understood. Thank you sir for your Help. 

Alejandro Revilla

unread,
Nov 26, 2014, 12:47:05 PM11/26/14
to jPOS Users
And BTW, your documentation is lying big time when it says it uses Binary Synchronous Point-to-Point Communications Link protocol (BSC).

Somebody needs to read Uyless Black's books :) http://uylessblack.com/Communications_Networks.html

Kevin

unread,
Nov 26, 2014, 11:31:29 PM11/26/14
to jpos-...@googlegroups.com
Oh really. I should check with them regarding this.

Now i have this issue

I extended the NACChannel channel and try to receive a message from the other side. then i got the below error

 <receive>
    <iso-exception>
      org.jpos.iso.IFA_LLNUM: Problem unpacking field 2 (java.lang.NegativeArraySizeException) unpacking field=2, consumed=20
      org.jpos.iso.ISOException: org.jpos.iso.IFA_LLNUM: Problem unpacking field 2 (java.lang.NegativeArraySizeException) unpacking field=2, consumed=20
        at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:265)
        at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:454)
        at org.jpos.iso.BaseChannel.unpack(BaseChannel.java:962)
        at org.jpos.iso.BaseChannel.receive(BaseChannel.java:733)
        at org.jpos.q2.iso.ChannelAdaptor$Receiver.run(ChannelAdaptor.java:317)
        at java.lang.Thread.run(Thread.java:662)
    </iso-exception>
    --- header ---
    0000  F0 F8 F0 F0 F8 F2 F2 F0  F0 F0 F0 F0 F0 F0 F0 F0  ................
0010  F0 F0 F0 F0                                       ....

    --- data ---
    0000  F0 F4 F0 F0 F0 F0 F0 F0  F0 F0 F0 F0 F0 F0 F0 F0  ................
0010  F1 F1 F2 F7 F0 F9 F5 F0  F3 F8 F4 F9 F6 F9 F0 F7  ................
0020  F0 F0 F1                                          ...

  </receive>

Below is the definition of the 2nd field of my packager

  <isofield
      id="2"
      length="19"
      name="PAN - PRIMARY ACCOUNT NUMBER"
      class="org.jpos.iso.IFA_LLNUM"/>


And in the spec it says like this

DE-2 Primary Account Number, PAN

Format : LLVAR
Type : n..19
Description: A series of digits that identify customer account or relationship. It is mandatory for all 04XX messages.

Please advice.

Thanks in Advance


Victor Salaman-Medina

unread,
Nov 26, 2014, 11:53:03 PM11/26/14
to jpos-...@googlegroups.com
Your data uses EBCDIC. You need to create a packager that reflects your specification. Just for kicks, try the the src/dist/cfg/packager/iso93ebcdic-custom.xml and try modify to match your spec.

/V


--
--
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.

Kevin

unread,
Nov 26, 2014, 11:59:48 PM11/26/14
to jpos-...@googlegroups.com
Thank you sir. I will try

Kevin

unread,
Nov 27, 2014, 1:01:26 AM11/27/14
to jpos-...@googlegroups.com
Hi Again,

This time i got this exception. I added a logger to the packager to narrow down the issue. This happens when i try to receive messages from the other party.
 
log realm="" at="Thu Nov 27 11:22:14 IST 2014.14">
  <unpack>
    F0F4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F2F7F1F1F2F3F5F1F5F0F8F6F3F7F0F0F1
    <exception name="35">
    java.lang.ArrayIndexOutOfBoundsException: 35
        at org.jpos.iso.ISOUtil.ebcdicToAsciiBytes(ISOUtil.java:226)
        at org.jpos.iso.IFE_BITMAP.unpack(IFE_BITMAP.java:102)
        at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:219)
        at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:454)
        at org.jpos.iso.BaseChannel.unpack(BaseChannel.java:962)
        at org.jpos.iso.BaseChannel.receive(BaseChannel.java:733)
        at org.jpos.q2.iso.ChannelAdaptor$Receiver.run(ChannelAdaptor.java:317)
        at java.lang.Thread.run(Thread.java:662)
    </exception>
  </unpack>
</log>
<log realm="channel/192.168.11.210:7081" at="Thu Nov 27 11:22:14 IST 2014.14" lifespan="7408ms">
  <receive>
    <iso-exception>
      35 consumed=13
      org.jpos.iso.ISOException: 35 consumed=13
        at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:283)
        at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:454)
        at org.jpos.iso.BaseChannel.unpack(BaseChannel.java:962)
        at org.jpos.iso.BaseChannel.receive(BaseChannel.java:733)
        at org.jpos.q2.iso.ChannelAdaptor$Receiver.run(ChannelAdaptor.java:317)
        at java.lang.Thread.run(Thread.java:662)
    </iso-exception>
    --- header ---
    0000  F0 F8 F0 F0 F8 F2 F2 F0  F0 F0 F0 F0 F0 F0 F0 F0  ................
0010  F0 F0 F0 F0                                       ....

    --- data ---
    0000  F0 F4 F0 F0 F0 F0 F0 F0  F0 F0 F0 F0 F0 F0 F0 F0  ................
0010  F1 F1 F2 F7 F1 F1 F2 F3  F5 F1 F5 F0 F8 F6 F3 F7  ................
0020  F0 F0 F1                                          ...

  </receive>
</log>

Is there any invalid data element in the incoming message? .  I think now the channel is up and problem is with either the packager i'm using or with the incoming message. Should i ask for the packager which is used in the other party? Please advice.

Thanks in Advance


chhil

unread,
Nov 27, 2014, 1:16:25 AM11/27/14
to jpos-...@googlegroups.com
The other entity does not necessarily use jpos or understand the concept of packagers.

You have a spec and the raw message dump, which is sufficient to help you move forward.

Convert the ebcdic data to hex using ISOutil methods.
Understand the raw data and see if you can identify fields like the pan, date etc. Try getting the fields and readable data being sent in the message from the entity sending you the message.

It's time to get your hands dirty and start figuring out the appropriate packager to use for the fields and bitmap instead of assuming a packager works out of the box for you.


-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.

Kevin

unread,
Nov 27, 2014, 6:35:42 AM11/27/14
to jpos-...@googlegroups.com
Thanks chhil,

I managed to receive the test message of the other party. But see an error like this.

<iso-exception>
      Key fields not found - not sending bank-send.000
      org.jpos.iso.ISOException: Key fields not found - not sending bank-send.000
        at org.jpos.q2.iso.QMUX.getKey(QMUX.java:208)
        at org.jpos.q2.iso.QMUX.notify(QMUX.java:163)
        at org.jpos.space.TSpace.notifyListeners(TSpace.java:261)
        at org.jpos.space.TSpace.out(TSpace.java:59)
        at org.jpos.q2.iso.ChannelAdaptor$Receiver.run(ChannelAdaptor.java:323)
        at java.lang.Thread.run(Thread.java:662)
    </iso-exception>

Andy Orrock

unread,
Nov 27, 2014, 7:16:15 AM11/27/14
to jpos-...@googlegroups.com

Did you buy a jPOS manual? This is fundamental stuff.

You have set no elements of your MUX  key.

--
--
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,
Nov 27, 2014, 7:37:23 AM11/27/14
to jpos-...@googlegroups.com
Mux deploy file can have an element called key, if it's not present it defaults to using field 11 and 41.
If you know fields that are guaranteed to be echoed back and will be unique enough to differentiate requests being processed by the mux, you should add a key element in the deploy with comma separated fields to use.
You send a request using a Mux, the key fields are saved and when a response comes back it matches the key fields and returns the response to the caller.

So if the defaults of 11 and 41 are used or your configured values are used and it's not set in your message, you will get the exception.

It is highly recommended to get the source code to assist you to debug your code. And buying the programmers manual has an excellent ROI ;-)

-chhil

Kevin

unread,
Nov 28, 2014, 8:34:54 AM11/28/14
to jpos-...@googlegroups.com
I used POSTChannel and configure my packager accordingly, then i  was able to fix the issues and test all the 800 , 810 , 200,210,420,421,430 messages.  chhil , Alejandro , Victor thank you all for your generous help in this regard. Also pls let me know where can i buy the programming manual.

Good Day.

Alejandro Revilla

unread,
Nov 28, 2014, 8:51:42 AM11/28/14
to jPOS Users
​You can find here links to the guides: http://jpos.org/learn


Kevin

unread,
Nov 28, 2014, 9:07:01 AM11/28/14
to jpos-...@googlegroups.com
Thank you sir.

Andy Orrock

unread,
Nov 28, 2014, 9:50:57 AM11/28/14
to jpos-...@googlegroups.com

Maybe you'll be slightly amazed to see many of your questions and their answers actually appearing in the manual.

On Nov 28, 2014 6:07 AM, "Kevin" <hector...@gmail.com> wrote:
Thank you sir.

--
--
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.

Gufran Nazir

unread,
Feb 17, 2015, 1:29:43 AM2/17/15
to jpos-...@googlegroups.com
Hi All,

I need a help on channel selection.

Please find my requirement below, I believe for this NACChannel will be fine.

As per requirement message format should have two-byte header precedes the message and contains a two-byte length that indicates the total length of the message and includes the 2 bytes for the header. The two-byte header is to be in network byte order (most significant byte first).

EXAMPLE: If the message is 500 bytes, place 502 binary (0x01 0xF6), a two-byte header, in the first 2 bytes of the TCP/IP. Send buffer, followed by all the 500 bytes of the message.

Regards,
Nazir

Mark Salter

unread,
Feb 17, 2015, 2:45:22 AM2/17/15
to jpos-...@googlegroups.com
On 17/02/2015 06:29, Gufran Nazir wrote:
> Please find my requirement below, I believe for this *NACChannel *will
> be fine.
Did you try it? Any good?

It includes a header (rather than just the length, do you need a header?

>
> As per requirement message format should have two-byte header precedes
> the message and contains a two-byte length that indicates the total
> length of the message and includes the 2 bytes for the header. The
> two-byte header is to be in network byte order (most significant byte
> first).
I think you will need to evolve your own Channel to include the length
of the length in the length component of the network data stream.

Perhaps start with NACChannel and override the sendMessageLength and
getMessageLength methods (to add and take away two bytes).


BTW - It is ioften best to start your own new thread rather than open an
old one that happens to have the 'right' subject.

--
Mark

Gufran Nazir

unread,
Feb 24, 2015, 1:16:06 AM2/24/15
to jpos-...@googlegroups.com
Hi Mark,

I have tried but no luck.

I need to have my message format as [Message Length+ 2 byte additional][TPDU][ISOMSG].

With NACChannel I am getting message length as header, where as I need Message Length+2byte, and am getting TPDU as well.

Header Example:  If the message is length is 500 bytes, in header I need to place 502

kindly suggest which channel I have to use?

Thanks,
Nazir

Gufran Nazir

unread,
Feb 24, 2015, 1:18:37 AM2/24/15
to jpos-...@googlegroups.com
Sorry typo mistake, I am not getting TPDU.

Mark Salter

unread,
Feb 24, 2015, 2:16:58 AM2/24/15
to jpos-...@googlegroups.com
On 24/02/15 06:16, Gufran Nazir wrote:

> I have tried but no luck.
Tried what sorry?

No luck should be required.

>
> I need to have my message format as*[Message Length+ 2 byte
> additional][TPDU][ISOMSG]*.
As stated previously you are going to need to extend a Channel (perhaps
NACChannel) to add this "length of the length" in.

>
> With NACChannel I am getting message length as header, where as I need
> Message Length+2byte, and am getting TPDU as well.
I saw you revised this to "not getting TPDU"...
... what are you setting the TPDU to when you instance the Channel ?

> kindly suggest which channel I have to use?
You really need to state what your length format is :-

- How many bytes (I am suspecting two, but to be sure) ?
- What form - Binary, ASCII, HEX, BCD? - in how many of those bytes?

--
Mark

Gufran Nazir

unread,
Feb 24, 2015, 3:46:14 AM2/24/15
to jpos-...@googlegroups.com
Hi Mark,

I have posted detailed requirement on below link, kindly help.

Victor Salaman

unread,
Feb 24, 2015, 3:50:04 AM2/24/15
to jpos-...@googlegroups.com
Thou shall not hijack a thread or your soul will be damned for the rest of eternity. -- Management

--
--
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.

Gufran Nazir

unread,
Feb 24, 2015, 3:59:35 AM2/24/15
to jpos-...@googlegroups.com
Hi Victor,

This thread was become too long, that's why I have started new thread.

Nazir

Victor Salaman

unread,
Feb 24, 2015, 4:00:56 AM2/24/15
to jpos-...@googlegroups.com
You did hijack the thread nonetheless...

/V

Alejandro Revilla

unread,
Feb 24, 2015, 6:08:59 AM2/24/15
to jPOS Users
I suggest you take a look at the NACChannel implementation and create your own using it as a reference, you just need to add 2 in sendMessageLength and subtract 2 in getMessageLength methods.



Gufran Nazir

unread,
Feb 25, 2015, 2:29:57 AM2/25/15
to jpos-...@googlegroups.com
Hi Alejandro,

Thanks for input, similar way for packager I have extend one of the packager and trying to modify it according my requirement.

Kindly help me on this. 

for eg: new IFA_NUMERIC(4, "Message Type Indicator"),// I assume IFA_NUMERIC class is for Numeric data type.

Similar way what could be class type for below data type and format.

  1. Data Type- N format- BCD ---?
  2. Data Type- N format- ASCII---?
  3. Data Type- Z format- BCD ---?
  4. Data Type- Z format- ASCII---?
  5. Data Type- AN format- BCD ---?
  6. Data Type- AN format- ASCII---?
  7. Data Type- ANS format- BCD---?
  8. Data Type- AN format- ASCII---?
  9. Data Type- B format- BCD---?
  10. Data Type- B format- ASCII---?

Victor Salaman

unread,
Feb 25, 2015, 2:56:19 AM2/25/15
to jpos-...@googlegroups.com
Hi:

You have not done your homework. You have not read your assignments!

Read the "jPOS Programmer's Guide" found here: http://jpos.org/doc/proguide-draft.pdf

Your answer is discussed in this nice document. Reading is fun, it's how you actually learn. :)

/V

--
--
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.

Gufran Nazir

unread,
Feb 25, 2015, 3:23:10 AM2/25/15
to jpos-...@googlegroups.com
Hi Victor,

Agree most of the data type information are available on "jPOS Programmer's Guide".

Though for data type like- ANS and Z, I don't know which kind of data it is and which class I have to use for it.

Kindly suggest.

Thanks
Nazir

Victor Salaman

unread,
Feb 25, 2015, 3:32:21 AM2/25/15
to jpos-...@googlegroups.com
Hi:

What you need to implement and how, will depend on the spec of the endpoint you are trying to connect to. I suggest your read their spec. I'm sorry I keep sending you to read stuff, but in this field you must understand very carefully what you are doing before you write a single line of code and be very attentive to detail. You don't show signs of having read much at all and are just trying to get "quick help" here and there in hopes someone will scratch your immediate itch. Do you understand that most likely you'll be writing code that will deal with money electronically and your lack of knowledge will ultimately affect your product and possibly your reputation and credibility? Please READ, UNDERSTAND, and INTERNALIZE all the concepts and processes before you write code. Do yourself that favor at least.

Cheers,

/V

chhil

unread,
Feb 25, 2015, 3:47:55 AM2/25/15
to jpos-...@googlegroups.com

Use classes that you feel are appropriate based on what you spec defines an ANS, Z etc.

Get to the point of exchanging a message. Log the raw input (put some debug code in your channel to dump Hex data). If you initiate the message the receiver will tell you you got something wrong and would need to fix. Worst case you will get exceptions when the parsing fails. Use the raw data to understand what is wrong and align your packager. There is no short cut to this.

-chhil


Gufran Nazir

unread,
Feb 25, 2015, 7:56:17 AM2/25/15
to jpos-...@googlegroups.com
Thanks Every one, its working fine now.

@Victor- because of you I have learnt a lot today, thanks.
Reply all
Reply to author
Forward
0 new messages