ISO8583 Inbound endpoint allows the ISO8583 standard messages through WSO2 ESB. ISO8583 is a message standard which is using in financial transactions. There are various versions in ISO8583 standard, Here the Inbound is developed based on 1987 version. For more information about ISO8583 Standard, go to ISO8583 Documentation.
WSO2 ESB ISO8583 inbound endpoint acts as a message consumer. Since it is listening inbound, it is listening on port 5000. When a client is connected on port 5000 , WSO2 ESB ISO8583 inbound 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 download the inbound org.wso2.carbon.inbound.iso8583-1.0.0.jar from the https://store.wso2.com/store/assets/esbconnector/ISO8583, download the jpos-1.9.4.jar from the http://mvnrepository.com/artifact/org.jpos/jpos/1.9.4 , download jdom-1.1.3.jar from http://mvnrepository.com/artifact/org.jdom/jdom/1.1.3 and download commons-cli-1.3.1.jar from http://mvnrepository.com/artifact/commons-cli/commons-cli/1.3.1. Then copy the jars to the <ESB_HOME>/repository/components/lib directory. The recommend ESB version is 4.9 and later .
Note
Sample Configuration
The inbound configuration can be added in the Inbound UI . Here the Port is the main parameter and the client need to connect with inbound by using the port.
<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>
ISO8583 inbound endpoint parameters for sample configuration
Note
To handle the concurrent messages in inbound , 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 | Description | Required | Possible Values | Default Value |
---|---|---|---|---|
port | Hosts have ports, socket connection will create according to that port and server started to listening to that port , once the socket connection is established. | Yes | 0-65535 | 5000 |
coreThreads | The number of threads to keep in the pool. | No | ||
maxThreads | The maximum number of threads to allow in the pool. | No | ||
keepAlive | If the pool currently has more than corePoolSize threads, excess threads will be terminated if they have been idle for more than the keepAliveTime. | No |
Note
To send ISO8583 Standard message to inbound, can use Java clients applications. client need to produce the ISO8583 Standard messages and get the acknowledgement from inbound.
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.