ISO20022Validator
ISO20022 represents financial message standards used in communication between financial institutions, their clients and the domestic or international market infrastructures involved in the processing of financial transactions. ISO20022Validator is a component to validate message structure and data of ISO20022 standard compliant XML messages.
Configuration and Testing
Component Configuration
Figure 1: ISO20022Validator Configuration properties in the CPS
Attributes
Error Handling Configuration
Actions that have to be taken when an error occurs are defined in the Error Handling panel.
Refer to the Error Handling section the Common Configurations page for details regarding the various error handling configuration properties as below:
- JMS Error
- Response Generation Error
- Request Processing Error
- Invalid Request Error
Message Type
Select message type of the incoming message which needs to be validated according to ISO20022 message standard. Message types that are supported by the component include the following:
- Category - Cash Management
- camt.052.001.02 - BankToCustomerAccountReportV02
- camt.053.001.02 - BankToCustomerStatementV02
- Category - Payments Clearing and Settlement
- pacs.008.001.03 - FIToFICustomerCreditTransferV03
- pacs.009.001.03 FinancialInstitutionCreditTransferV03
Figure 2: ISO20022 Message Type
Expert Properties
Enable the Show Expert Properties checkbox to configure these properties.
Expert properties are meant for advanced users; use it with caution.
Figure 2: ISO20022Validator CPS with the Expert properties enabled and highlighted
Pre Processing XSL Configuration
Pre Processing XSL configuration can be used to transform request message before processing it. Click the ellipses button against the property to configure the properties.
Refer to the Pre/Post Processing XSL Configuration section in the Common Configurations page for details regarding Pre Processing XSL configuration and Post Processing XSL configuration (below).
Post Processing XSL Configuration
Post Processing XSL configuration can be used to transform response message before sending it to the output port.
Process Message Based on Property
The property helps components to skip certain messages from processing.
Refer to the Process Message Based On a Property section in the Common Configurations page.
Threadpool Configuration
This property is used when there is a need to process messages in parallel within the component, still maintaining the sequence from the external perspective.
Refer to the Threadpool Configuration section in the Common Configurations page.
Testing
Validation
ISO20022Validator does two kinds of validation:
- Schema Validation: The component first validates the incoming XML message against respective schemas defined by ISO20022. These schemas are bundled with the installer and are present in %FIORANO_HOME%\xml-catalog\fiorano\swift\iso20022.
- Data Validation: Validation is performed on the data according to the Rules and Guidelines defined in Message Definition Report, also issued by ISO20022.
Input and Output
Sample Input
An XML instance of message type camt.052.001.02
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.052.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<BkToCstmrAcctRpt>
<GrpHdr>
<MsgId>AAAASESS-FP-ACCR001</MsgId>
<CreDtTm>2010-10-18T12:30:00+01:00</CreDtTm>
<MsgPgntn>
<PgNb>1</PgNb>
<LastPgInd>true</LastPgInd>
</MsgPgntn>
</GrpHdr>
<Rpt>
<Id>AAAASESS-FP-ACCR001</Id>
<CreDtTm>2010-10-18T12:30:00+01:00</CreDtTm>
<FrToDt>
<FrDtTm>2010-10-18T08:00:00+01:00</FrDtTm>
<ToDtTm>2010-10-18T12:30:00+01:00</ToDtTm>
</FrToDt>
<Acct>
<Id>
<Othr>
<Id>50000000054910000003</Id>
</Othr>
</Id>
<Ownr>
<Nm>FINPETROL</Nm>
</Ownr>
<Svcr>
<FinInstnId>
<Nm>AAAA BANKEN</Nm>
<PstlAdr>
<Ctry>SE</Ctry>
</PstlAdr>
</FinInstnId>
</Svcr>
</Acct>
<Ntry>
<Amt Ccy="SEK">200000</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Sts>BOOK</Sts>
<BookgDt>
<DtTm>2010-10-18T10:15:00+01:00</DtTm>
</BookgDt>
<ValDt>
<Dt>2010-10-18</Dt>
</ValDt>
<AcctSvcrRef>AAAASESS-FP-ACCR-01</AcctSvcrRef>
<BkTxCd>
<Domn>
<Cd>PAYM</Cd>
<Fmly>
<Cd>0001</Cd>
<SubFmlyCd>0003</SubFmlyCd>
</Fmly>
</Domn>
</BkTxCd>
<NtryDtls>
<Btch>
<MsgId>FINP-0055</MsgId>
<PmtInfId>FINP-0055-001</PmtInfId>
<NbOfTxs>20</NbOfTxs>
</Btch>
</NtryDtls>
</Ntry>
<Ntry>
<Amt Ccy="SEK">30000</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Sts>PDNG</Sts>
<ValDt>
<Dt>2010-10-18</Dt>
</ValDt>
<AcctSvcrRef>AAAASESS-FP-CONF-FX</AcctSvcrRef>
<BkTxCd>
<Domn>
<Cd>TREA</Cd>
<Fmly>
<Cd>0002</Cd>
<SubFmlyCd>0000</SubFmlyCd>
</Fmly>
</Domn>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<InstrId>FP-004567-FX</InstrId>
<EndToEndId>AAAASS1085FINPSS</EndToEndId>
</Refs>
<AmtDtls>
<CntrValAmt>
<Amt Ccy="EUR">3255</Amt>
<CcyXchg>
<SrcCcy>EUR</SrcCcy>
<XchgRate>0.185</XchgRate>
</CcyXchg>
</CntrValAmt>
</AmtDtls>
</TxDtls>
</NtryDtls>
</Ntry>
</Rpt>
</BkToCstmrAcctRpt>
</Document>
Output
Output of the component is the same as the input if the incoming message passes all of the validation criteria.
An exception message with a reason for fthe ailure of validation is sent on the ON_EXCEPTION port if the validation fails.