Skip to content

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 WSO2 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 and 1993 versions of the standard. For more information about ISO8583 Standard, go to ISO8583 Documentation.

Note

ISO8583 version 1993 support is available only with ISO8583 Inbound Endpoint v1.1.1 and above.

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

Display Name Parameter Name Description Default Value Required
Port port Port number on which to listen for incoming messages Yes
Act as proxy isProxy Determine whether the ISO8583 Inbound endpoint act as a proxy to another service false No
Length of the ISO header headerLength Length of the ISO header 0 No
Core Threads coreThreads Number of core threads in the thread pool 1 No
Maximum Threads maxThreads Maximum number of threads in the thread pool 3 No
Idle Thread Keep Alive Timeout (s) keepAliveTime Maximum time that excess idle threads will wait for new tasks before terminating 1 No
Queue Length queueLength Number of tasks that can be queued before the thread pool starts rejecting tasks 1 No

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.