Configuring exception queues for FIN messages
You can configure FTM SWIFT so that messages that are processed by the SIPN FIN and FMT FIN services and are associated with certain exceptional conditions, such as validation or authentication errors, are routed to special queues called exception queues. From these queues, the messages can be retrieved and repaired using special programs. In this way, you can centralize your exception handling, rather than requiring that each application is able to handle all possible error situations itself.
Exception queues are specified in one or more exception option sets. During configuration of a master LT, you can specify which exception option set the SIPN FIN and FMT FIN service is to use for that LT (see Configuring a master LT). When configuring the exception option sets that can be used by an OU, you configure one option set with the name DnfFinExceptionDefault; this is the option set that is used when no option set is specified for the LT to be used, or when the name of the LT to be used cannot be determined from the message.
- If an exception option set is specified for the LT, that option set is used to determine the name and queue manager of the exception queue into which the message is to be put.
- If no exception option set is specified for the LT, or if a service cannot determine the LT associated with a message, the default exception option set of the OU is used.
- If a service cannot determine the LT or OU associated with a message, it uses the default exception option specified for DNFSYSOU.
- If no default exception option set was configured for the OU,
or if the exception is of a type for which no queue is specified in
the exception option set that is to be used:
- For a message to be sent, the message is routed to the reply-to queue specified in the message
- For a message that was received, the message is routed to the target queue of the receiving application
- If the message cannot be routed to any of these queues, for example because no option set with the specified name was configured, or the exception queue into which the message is to be put has not been defined, the message is put into the error queue instance.ou.DNF_ERROR or, if the OU cannot be determined, instance.DNFSYSOU.DNF_ERROR.
- For each OU to which the SIPN FIN or FMT FIN service bundle was assigned, create one option set with the name DnfFinExceptionDefault. This specifies the exception queues that are to be used for an LT for which no option set is specified.
- For DNFSYSOU, create one option set with the name DnfFinExceptionDefault. This specifies the exception queues that are to be used if the service cannot determine the LT or OU associated with a message.
If the LTs of a single OU are to use different exception queues, create additional option sets, and specify the name of a different option set in the ExceptionOptionSet attribute of the DnfLTApplicationSettings CO of each LT, as described in Configuring a master LT.
| Message Flow | Exception Type | Value | Messages |
|---|---|---|---|
| FIN Send | Message validation | MsgVal | Basic message checks:
|
| ASP send error | AspSnd |
|
|
| RM processing | RMSnd |
|
|
| Send processing | ProcessSnd | All FIN Send errors that do not belong to another
exception type, for example:
|
|
| FIN Acknow- ledgement | NAK send error | NAKSnd | Negative acknowledgment (NAK) messages |
| FIN Receive | NAK receive error | NAKRcv | Checksum verification
|
| Digest verification | DigestVerify | All errors that occur during digest verification,
for example:
|
|
| RM processing | RMRcv |
|
|
| Signature verification | Signature |
|
|
| Message validation for received messages | MsgValRcv |
|
deployment_dir/instance/admin/ou_dnfcfcce.cli
deployment_dir/instance/admin/dnfcfces.cli where: - deployment_dir
- Directory specified in the CDP initialization file.
- instance
- Name of the instance.
- ou
- Name of the OU.
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr MsgValExceptionQueue
-val <msgValExcQueue>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr MsgValExceptionQMgr
-val <msgValExcQM>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr AspSndExceptionQueue
-val <aspSndExcQueue>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr AspSndExceptionQMgr
-val <aspSndExcQM>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr MsgValRcvExceptionQueue
-val <msgValRcvExcQueue>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr MsgValRcvExceptionQMgr
-val <msgValRcvExcQM>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr NakSndExceptionQueue
-val <nakSndExcQueue>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr NakSndExceptionQMgr
-val <nakSndExcQM>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr NakRcvExceptionQueue
-val <nakRcvExcQueue>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr NakRcvExceptionQMgr
-val <nakRcvExcQM>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr RMSndExceptionQueue
-val <rmaSndExcQueue>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr RMSndExceptionQMgr
-val <rmaSndExcQM>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr RMRcvExceptionQueue
-val <rmaRcvExcQueue>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr RMRcvExceptionQMgr
-val <rmaRcvExcQM>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr SignatureExceptionQueue
-val <sigExcQueue>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr SignatureExceptionQMgr
-val <sigExcQM>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr DigestCreateExceptionQueue
-val <digCrtExcQueue>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr DigestCreateExceptionQMgr
-val <digCrtExcQM>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr DigestVerifyExceptionQueue
-val <digVfyExcQueue>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr DigestVerifyExceptionQMgr
-val <digVfyExcQM>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr ProcessSndExceptionQueue
-val <prcSndExcQueue>
;add -ou DNIvOU -ct DnfExceptionOptionSet -co <exception_co> -attr ProcessSndExceptionQMgr
-val <prcSndExcQM>
;com -ou DNIvOU
;add -ou DNFSYSOU -ct DnfExceptionOptionSet -co DnfFinExceptionDefault -attr MsgValExceptionQueue
-val <msgValExcQueue>
;add -ou DNFSYSOU -ct DnfExceptionOptionSet -co DnfFinExceptionDefault -attr MsgValExceptionQMgr
-val <msgValExcQM>
;add -ou DNFSYSOU -ct DnfExceptionOptionSet -co DnfFinExceptionDefault -attr RMSndExceptionQueue
-val <rmaSndExcQueue>
;add -ou DNFSYSOU -ct DnfExceptionOptionSet -co DnfFinExceptionDefault -attr RMSndExceptionQMgr
-val <rmaSndExcQM>
;add -ou DNFSYSOU -ct DnfExceptionOptionSet -co DnfFinExceptionDefault -attr DigestCreateExceptionQueue
-val <digCrtExcQueue>
;add -ou DNFSYSOU -ct DnfExceptionOptionSet -co DnfFinExceptionDefault -attr DigestCreateExceptionQMgr
-val <digCrtExcQM>
;add -ou DNFSYSOU -ct DnfExceptionOptionSet -co DnfFinExceptionDefault -attr ProcessSndExceptionQueue
-val <prcSndExcQueue>
;add -ou DNFSYSOU -ct DnfExceptionOptionSet -co DnfFinExceptionDefault -attr ProcessSndExceptionQMgr
-val <prcSndExcQM>
;com -ou DNFSYSOU
The script dnfcfces.cli is used to set the default exception option set for DNFSYSOU. Use it to specify which queues are to be used if the LT or OU of a message cannot be determined. It contains only a subset of all exception queue attributes, because some types of exceptions are not applicable when the name of the OU cannot be determined.
- The scripts with names of the form ou_dnfcfcce.cli, the customization process substitutes the placeholder DNIvOU in the script with the name of a business OU
- The script dnfcfces.cli, the customization process substitutes the placeholder DNIvOU in the script with the name DNFSYSOU, and sets the name of the CO to DnfFinExceptionDefault
To modify and run these scripts: