The sample provides an application named ISO8583Application, which contains two message flows:
ISO8583_TCPIP_to_WMQ transforms ISO8583 messages received over a TCPIP socket connection to XML messages which
are written to a WMQ queue.
ISO8583_WMQ_to_TCPIP transforms XML messages received from a WMQ queue to ISO8583 messages which are sent over
a TCPIP socket connection.
The following diagram shows the message flow ISO8583_TCPIP_to_WMQ:
The TCPIPServerInput node listens on port 1111, and parses input data using the DFDL Message named ISO8583,
which is defined in the referenced library ISO8583Library. The node has its Records
and Elements tab, Record detection property set to the
value End of Stream. This means that all of the data
sent to the node is treated as a single record. The test tools which are provided with this sample
send data to the flow and then close the stream.
The Compute node Transform ISO8583 to XML uses ESQL to create an
output XMLNSC domain message tree, and copies all the message elements and their values from
the input DFDL domain. The PrimaryBitmap and SecondaryBitmap complex elements are deleted
from the output tree because the output XML format does not require them (XML tags can be used
to determine which of the optional output message fields are present in the message).
The MQOutput node ISO8583.OUT writes the output XML message to the queue
named ISO8583.OUT
The following diagram shows the message flow ISO8583_WMQ_to_TCPIP:
The MQInput node ISO8583.IN reads the input XML message from the queue
named ISO8583.IN
The Compute node Transform XML to ISO8583 uses ESQL to create an output
DFDL domain message tree, and copies all the message elements and their values from the
input XMLNSC domain. The PrimaryBitmap and SecondaryBitmap complex elements are created
in the output tree, and the values of each Bit field within the bitmaps are assigned
depending upon which of the optional output message fields are present in the message.
The TCPIPServerOutput node sends data to port 1111. The node is configured to close
the output stream after a record has been sent to the socket. No extra mark up (such as
a delimiter) is added between records.