ISO8583 Inbound Endpoint Reference

The following operations allow you to work with the ISO8583 Inbound Endpoint. Click an operation name to see parameter details and samples on how to use it.

ISO8583 Inbound endpoint allows the ISO8583 standard messages through the ESB integration runtime. ISO8583 is a message standard that is used in financial transactions. There are various versions of the ISO8583 standard. The Inbound Endpoint is developed based on the 1987 version of the standard. For more information about ISO8583 Standard, go to ISO8583 Documentation.

The ESB ISO8583 inbound endpoint acts as a message consumer. Since it is a listening inbound, it is listening on port 5000. When a client is connected on port 5000, the ESB ISO8583 Inbound Endpoint starts to consume the ISO8583 standard messages and inject the messages in XML format into sequence.

In order to use the ISO8583 inbound endpoint, you need to do the following:

Copy the .jar files to the /lib directory.

Note: jpos is the third party library, and jposdef.xml has the field definitions of the standard ISO8583 Messages. According to the field definitions, each and every ISO8583 message that comes from the client will be unpacked and the fields of the ISO8583 standard messages will be identified.

To handle the concurrent messages in ISO8583 inbound endpoint, you need to create the threadpool and it can contain a varying amount of threads. The number of threads in the pool is determined by these variables:

  • corePoolSize: The number of threads to keep in the pool, even if they are idle.
  • maximumPoolSize: The maximum number of threads to allow in the pool.

Another parameter in threadPool configuration is keepAliveTime, which is the maximum time that excess idle threads will be alive for new tasks before terminating.

Parameter Name Description Required
port Hosts have ports. The socket connection is created according to that port and the server starts listening to that port once the socket connection is established. Possible values are 0-65535 and the default is 5000. Yes
coreThreads The number of threads to keep in the pool. Yes
maxThreads The maximum number of threads to allow in the pool. Yes
keepAliveTime If the pool currently has more than corePoolSize threads, excess threads will be terminated if they have been idle for more than the keepAliveTime. Yes

Sample configuration

<inboundEndpoint
        class="org.wso2.carbon.inbound.iso8583.listening.ISO8583MessageConsumer"
        name="custom_listener" onError="fault" sequence="request" suspend="false">
        <parameters>
            <parameter name="sequential">true</parameter>
            <parameter name="inbound.behavior">listening</parameter>
            <parameter name="port">5000</parameter>
        </parameters>
</inboundEndpoint>

Note: To send ISO8583 Standard messages to an inbound endpoint, you can use Java client applications. The client needs to produce the ISO8583 Standard messages and get the acknowledgement from the inbound endpoint.

A Sample test client program is provided in https://github.com/wso2-docs/CONNECTORS/tree/master/ISO8583/ISO8583TestClient. You can use this sample client to test the inbound endpoint.

Top