Version: 17.07
Supported Since: 17.07
ISO8583 Ingress Connector can be used as a server which accept ISO8583 messages over TCP. This connector converts accepted ISO8583 messages to a platform specific format, which later can be manipulated using ISO8583 processors.
In order to use the ISO8583 Ingress Connector, you must first select the ISO8583 Connector dependency from the connector list when you are creating an empty Ultra project. If you have already created a project, you can add the ISO8583 Connector dependency via Component Registry. From Tools menu, select Ultra Studio → Component Registry and from the Connectors list, select the ISO8583 Connector dependency. |
Processor |
The message will be emitted from this out port after an ISO8583 message has been received. The payload of the message will not be binary & it will be a platform specific message format for ISO8583. |
On Exception |
The message will be emitted from this out port if the processing element fails to parse the received ISO8583 message |
Input |
The message sent to this out port will be sent as the response to the TCP Client which initiated the request |
* marked fields are mandatory
ISO8583 Configuration File * |
Basic |
ISO8583 Configuration file which defines types of data expected in the ISO8583 message. A sample configuration file is given below.
|
TCP Port * |
Basic |
Port to listen on |
Header Size * |
Basic |
Header size of ISO8583 message. This should be the number of characters if the message is to be encoded as a String or the number of bits if the message is to be parsed as a binary. |
Local Bind Address |
Basic |
The local bind address. If not specified, binds on all interfaces by default |
Message ending character |
Basic |
TCP listener will stop reading from the channel and inject the message to the engine, once it meets this character. Character should be specified in it’s hexadecimal representation. |
Use binary bitmap |
Basic |
If this option is checked, bitmap of the message will be parsed as binary |
Use binary message |
Basic |
If this option is checked, message will be parsed as binary |
Response Timeout |
Advanced |
Time in milliseconds after which the request timeouts |
Session Validation Period |
Transport Configuration |
Determines the time interval in milliseconds at which the I/O reactor wakes up to check for timed out sessions and session requests. (Default value is equal to 1000 milliseconds) |
Shutdown Grace Period |
Transport Configuration |
Grace period in milliseconds, the IO reactors are expected to block waiting for individual worker threads to terminate cleanly. Default value is equal to 1000 milliseconds |
Interest Ops Queued |
Transport Configuration |
Determines whether NIO interest ops need to be queued or not. This should be false for Sun/Oracle JDKs and true for IBM JDK. Default value will be assigned appropriately |
IO thread count |
Transport Configuration |
Number of IO Threads to be assigned to accept requests |
Socket Timeout |
Transport Configuration |
Timeout for waiting for data in milliseconds |
Reuse Address |
Transport Configuration |
Allows to bind with a recently closed socket |
Socket Linger |
Transport Configuration |
Specifies a linger on close timeout. Default value is equal to -1 and it will not set a timeout |
Socket Keep Alive |
Transport Configuration |
Determines whether to keep the connection alive when not in use. Default value is true |
TCP No Delay Mode |
Transport Configuration |
Determines whether Nagle’s algorithm to be used (Uses when not selected) |
Connect Timeout |
Transport Configuration |
Determines the default connect timeout value for non-blocking connection requests |
Send Buffer Size |
Transport Configuration |
Size of the internal socket buffer used to buffer data while sending. Default value is equal to 8*1024 |
Receive Buffer Size |
Transport Configuration |
Size of the internal socket buffer used to buffer data while receiving. Default value is equal to 8*1024 |
Back Log Size |
Transport Configuration |
Determines the default backlog size value for server socket binds. Default value is equal to 0 |
Continue on runtime exceptions |
Transport Configuration |
Whether the engine should continue the execution during an occurrence of a runtime exception. If set to false, engine will shutdown and restart on such a situation |
Continue on checked exceptions |
Transport Configuration |
Whether the engine should continue the execution during an occurrence of a checked exception. If set to false, engine will shutdown and restart on such a situation |
Auto Restart Attempts |
Transport Configuration |
Number of attempts the IO reactors should try to restart. Default value is 3 |
Time to Wait Before Restart |
Transport Configuration |
Time to wait in between IO reactor restart attempts. Default value is equal to 1000 milliseconds. |
In this case, the flow is accepting an ISO8583 message from a client and extracts out a field out of that message before sending it to the intended destination. When it receives the response from the ISO8583 server, this flow will attach a new field to the outgoing message and send it as the response for the original client.
Here Local Bind Address
is kept blank, so the connector will bind to all interfaces in the system.
Use binary bitmap
has been checked and Use binary message
has been unchecked. Therefore the connector will
consider the header as binary when parsing the message inorder to convert it to a platform
specific message format.
ISO8583 Field extractor has been configured to extract field 7 from the incoming message and persist that value as a context variable with the key DATE.
Logger processing element has been configured to log the extracted field as an INFO log to the console.
ISO8583 Egress Connector has been configured to forward original message to port 8500 of iso.bank-x.com. Other configurations behave similar to the ingress connector and they are applied to both outgoing and incoming response messages through the egress connector.
As an example, when converting a platform specific message format to a ISO8583 TCP message, only the bitmap will be kept as binary while other parts will be encoded to String. When a message is received as the response, it expects the bitmap to be binary and the rest to be encoded as a String.
As the final step of the flow, a custom field is attached to the outgoing message using ISO8583 Field Setter processing element.