ISO message router mapper
The ISO message router mappers are a pair of wrapper mappers that act as routers to message body mappers for incoming and outgoing messages.
Overview
A message that needs mapping arrives in the wrapper mapper, which initially creates and populates root elements in the mapped document. Then, the message is routed to an appropriate mapper to map the body of the document before it returns to the wrapper mapper.
Several channels can be configured to use the same wrapper mapper because it delegates body mapping to dedicated mappers dynamically, based on the message type and content received.
- Request from Channel1
- Status to Channel1
ISOMessageRouterInbound
<Document>. The following list
shows the names of the child elements and their associated message type.<FIToFICstmrCdtTrf>indicates a pacs.008.* message.<FICdtTrf>indicates a pacs.009.* message.<PmtRtr>indicates a pacs.004.* message.<FIToFIPmtStsRpt>indicates a pacs.002.* message.<FIToFIPmtCxlReq>indicates a camt.056.* message.<RsltnOfInvstgtn>indicates a camt.029.* message.<RctAck>indicates an admi.007.* message.<xsys.011.001.02>indicates an xsys.011.* message.
The CONFIG=entry, which is stored as a channel parameter, and the
identified message type are used to retrieve the <msgTypeCfg> entry from the value
table. The <msgTypeCfg> entry contains the name of the body mapper to use to map the
received message.
For example, the Request from Channel1 channel can be configured to use the ISOMessageRouterInbound mapper
by using a CONFIG=HVP_MAP_CFG_REQ_FROM_CHAN parameter. When a pacs.008.001.08 message is
received from the channel, the ISOMessageRouterInbound mapper determines that it is a pacs.008.* message based
on the FIToFICstmrCdtTrf element. Then, each <msgTypeCfg> entry with category
HVP_MAP_CFG_REQ_FROM_CHAN in the value table is examined. When a <msgTypeCfg> entry
with a <type> child element that matches pacs.008.* is found, its
<mapName> element is used to get the name of the body mapper to use for the received
message. For example, Pacs008ToISFMapper.
If a <msgTypeCfg> entry with a matching <type> value is not
found, an exception with a mapper not found error occurs.
| Category | Key | Configuration value |
|---|---|---|
HVP_MAP_CFG_REQ_FROM_CHAN |
msgTypeCfg_pacs.009 |
Note: The
<type> element matches and the <mapName> element
identifies the correct mapper. |
HVP_MAP_CFG_REQ_FROM_CHAN |
msgTypeCfg_pacs.008 |
|
After the mapper to be used for the body of the incoming message is identified, ISOMessageRouterInbound sets environment variables before the message is redirected to the body mapper. These variables are used by the body mapper to determine where in the incoming message to begin mapping from.
The incoming message is then redirected from the Route to Label node in the ISOMessageRouterInbound mapper to the appropriate dedicated body mapper. When the body mapper is finished, the message is redirected back to the ISOMessageRouterInbound mapper.
ISOMessageRouterOutbound
Outgoing messages that use the ISOMessageRouterOutbound mapper are processed similar to the
ISOMessageRouterInbound mapper. For outgoing messages, the channel parameter config value and ISF business
concept of the outgoing message are used to retrieve the <msgTypeCfg> entry from the
value table. The <msgTypeCfg> entry contains the name of the body mapper to use to map
the outgoing message.
For example, HVP_TO_DBTR_PSTAT is identified as the ISF business concept and the
HVP_MAP_CFG_STATUS_TO_CHANNEL config value from the Status To Channel1 channel is used as the category. Each
<msgTypeCfg> entry with category HVP_MAP_CFG_STATUS_TO_CHANNEL in the value table is
examined. When a <msgTypeCfg> entry with a <subType> child
element that matches HVP_TO_DBTR_PSTAT is found, its <mapName> element is used to get
the name of the body mapper to use for the outgoing message. The outbound mapper differs from the inbound
mapper because it uses the <subType> entry instead of the <type>
entry from <msgTypeCfg>.
If a <msgTypeCfg> entry with a matching <subType> value is
not found, an exception with a mapper not found error occurs.
| Category | Key | Configuration value |
|---|---|---|
HVP_MAP_CFG_STATUS_TO_CHANNEL |
msgTypeCfg_HVP_TO_DBTR_PSTAT |
Note: The
<subType> element matches and the <mapName> element
identifies the correct mapper. |
HVP_MAP_CFG_STATUS_TO_CHANNEL |
msgTypeCfg_HVP_TO_DBTR_PNACK_STAT |
|
After the mapper to be used for the body of the outgoing message is identified, ISOMessageRouterOutbound sets environment variables before the message is redirected to the body mapper. These variables are used by the body mapper to determine where in the outgoing message to begin mapping from.
The outgoing message is then redirected from the Route to Label node in the ISOMessageRouterOutbound mapper to the appropriate dedicated body mapper. When the body mapper is finished, the message is redirected back to the ISOMessageRouterOutbound mapper.