Version: 17.07
Supported Since: 17.07
ISO8583 Egress Connector can be used as a client which can be used to send ISO8583 messages to a remote server over TCP. This connector converts a platform specific message format to a sendable ISO8583 message which can be transmitted over a TCP connection.
In order to use the ISO8583 Egress 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. |
On Exception |
The message will be emitted from this out port if the processing element fails to prepare a transmittable TCP message from the received payload |
Response Processor |
The response message received will be emitted to this port. You can use this port to connect with any processing element or connector that is supposed to process/consume the response. |
* 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. |
Remote TCP host |
Basic |
The remote host to send messages to |
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 |
Destination Address type |
Basic |
There are two possible values for destination type,
If |
Egress Timeout |
Advanced |
Time in milliseconds after which the egress message timeouts |
Weight |
Advanced |
Weight of the Egress endpoint when used with a Load Balancer |
Pool sender connections |
Transport Configuration |
Determines whether sender connections need to be pooled or not. Connection pooling is disabled by default |
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 |
Received 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 message 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 a String. When a message is received as the response, it expects bitmap to be binary and 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.