TCH wrapper mapper - (ISOMessageRouter)
The ISOMessageRouterInbound and ISOMessageRouterOutbound pair of TCH wrapper mappers act as routers to message body mappers for incoming and outgoing messages. A message that requires mapping arrives in the wrapper mapper, which initially creates and populates root elements in the mapped document. The wrapper mapper then routes the message to an appropriate mapper to map the body of the document. When the message body mapper is done, the message is returned to the wrapper mapper.
Several channels can be configured to use the same wrapper mapper because the wrapper dynamically delegates the message body mapping to dedicated mappers. The wrapper mapper chooses the message body mapper to use based on the message type and the content that was received.
head.001.001.01
). The TCH wrapper mappers cannot process this header.- Request/Response from CSM
- System Notification From CSM
- Request/Response to CSM
ISOMessageRouterInbound
<Document>
element. The
following list shows the elements for the messages.<FIToFICstmrCdtTrf>
indicates apacs.008.*
message.<FICdtTrf>
indicates apacs.009.*
message.<FIToFIPmtStsRpt>
indicates apacs.002.*
message.<FIToFIPmtStsReq>
indicates apacs.028.*
message.<FIToFIPmtCxlReq>
indicates acamt.056.*
message.<UblToApply>
indicates acamt.026.*
message.<AddtlPmtInf>
indicates acamt.028.*
message.<RsltnOfInvstgtn>
indicates acamt.029.*
message.<PrtryFrmtInvstgtn>
indicates acamt.035.*
message.<CdtrPmtActvtnReq>
indicates apain.013.*
message.<CdtrPmtActvtnReqStsRpt>
indicates apain.014.*
message.<RmtAdvc>
indicates aremt.001.*
message.<CstmrCdtTrfInitn>
indicates apain.001.*
message.<IdModAdvc>
indicates anacmt.022.*
message.
The CONFIG=entry
parameter, which is stored as a channel parameter, and
the identified message type are used to retrieve the <msgTypeCfg>
element from the
value table. The <msgTypeCfg>
element contains the name of the message body mapper to
be used to map the received message.
For example, the Request From Channel channel can be configured to use the ISOMessageRouterInbound mapper
by using a CONFIG=IP_MAP_CFG_REQ_FROM_CHAN
parameter. When a camt.026.001.05
message is received from the channel, ISOMessageRouterInbound determines that it is a
camt.026.*
message from the <UblToApply>
element. The channel config
parameter provides the config value IP_MAP_CFG_REQ_FROM_CHAN.
Each <msgTypeCfg>
element with a category of IP_MAP_CFG_REQ_FROM_CHAN in the value
table is examined. When a <msgTypeCfg>
element with a <type>
child element that matches camt.026.*
is found, the name of the mapper in the
<mapName>
child element is used to map the received message. In this example, the name
of the message body mapper to use to map the received message is Camt026ToISFMapper.
If a <msgTypeCfg>
element with a matching value in the <type>
child element is not found, a mapper not found error occurs.
Category | Key | Configuration value |
---|---|---|
IP_MAP_CFG_REQ_FROM_CHAN |
msgTypeCfg_camt.026 |
Note: To continue with the example, this entry in the value table has the
<type> child
element that matches the message. The <mapName> child element in this entry identifies
the correct message body mapper to use. |
IP_MAP_CFG_REQ_FROM_CHAN |
msgTypeCfg_camt.028 |
|
IP_MAP_CFG_REQ_FROM_CHAN |
msgTypeCfg_camt.029 |
|
IP_MAP_CFG_REQ_FROM_CHAN |
msgTypeCfg_camt.035 |
|
IP_MAP_CFG_PAY_FROM_CHAN |
msgTypeCfg_pacs.008 |
|
After the ISOMessageRouterInbound mapper identifies the mapper to use for the body of the incoming message, it sets environment variables that are used by the message body mapper. The message body mapper uses these variables to determine where to start mapping from in the incoming message. The incoming message is then redirected to the appropriate dedicated message body mapper from the Route to Label node in ISOMessageRouterInbound. Then, it is redirected back to ISOMessageRouterInbound when the message body mapper is finished.
The following figure shows the inbound wrapper mapper.
The following figure shows an example inbound ISO mapper.
ISOMessageRouterOutbound
- The ISF business concept of the outgoing message is identified, for example, IP_TO_CDTR_PSTAT.
- The value of the channel config parameter is used as the category to query the value table. For example, the value of the channel config parameter is IP_MAP_CFG_STATUS_TO_CHANNEL for the Status To Channel channel.
- The value table entries that match the category are searched to find the identified ISF business concept.
These value table entries are searched until one with a
<msgTypeCfg>
element with a<subType>
child element that matches the ISF business concept is found. The outbound mapper searches for a<subType>
child element instead of the<type>
child element that the inbound mapper searches for. - When an entry with a
<subType>
child element that matches the ISF business concept is found, the name of the mapper in the<mapName>
child element is used to map the body of the outgoing message. If no<subtype>
child element has a value that matches the outgoing ISF business concept is found, a mapper not found error occurs.
- v29
- This value indicates that the version that Financial Transaction Manager for Immediate Payments supports is 2.9 or later.
- NULL
- This value indicates that the version that Financial Transaction Manager for Immediate Payments supports is 2.3.
<msgTypeCfg>
element. The value of
the channel config parameter is also stored in
Environment.PMP.Variables.Rules.*[1].MAP_CONFIG
, which is used by the mapper that maps the
body of the message.Category | Key | Configuration value |
---|---|---|
IP_MAP_CFG_STATUS_TO_CHANNEL |
msgTypeCfg_IP_TO_CDTR_PSTAT |
Note: To continue with the example, this entry in the value table has the
<subType>
child element that matches the ISF business concept. The <mapName> child element in
this entry identifies the correct message body mapper to use. |
IP_MAP_CFG_STATUS_TO_CHANNEL_v29 |
msgTypeCfg_IP_TO_CDTR_PSTAT |
|
After the ISOMessageRouterOutbound mapper identifies the mapper to use for the body of the outgoing message, it sets environment variables that are used by the message body mapper. The message body mapper uses these variables to determine where to start mapping from in the outgoing message. The outgoing message is then redirected to the appropriate dedicated message body mapper from the Route to Label node in ISOMessageRouterOutbound. Then, it is redirected back to ISOMessageRouterOutbound when the message body mapper is finished.
The following figure shows the outbound wrapper mapper.
The following figure shows an example outbound ISO mapper.