It checks if a message complies with the SWIFT standard, verifying the syntax and semantics of the whole message and the individual message fields.
Main features:
- Open validation engine based on dynamic and pluggable rules set.
- Configuration of rules set to apply to each message type.
- Rules repository and off the shelf SWIFT standard validation rules set.
- Scheme repository for message structure definition by means of XML.
- Updated to latest Standard release.
It also supports custom user defined rules, usefull for exceptions or additional validation rules.

Code snapshot:
ValidationEngine engine = new ValidationEngine(); engine.initialize(); String s = "{1:F01BICFOOYYAXXX8628453424}..."; SwiftMessage msg = new SwiftParser(s).message(); List<ValidationProblem> r = engine.validateMessage(msg); engine.dispose();
All validation problems found during evaluation are encapsulated into classes with information of the category of the problem, internal problem key code, involved fields and a description that can be customized by means of property files. Example of detected problems:
- Missing required field: 20
- Unexpected 99 field found
- Missing required BIC at 53A
- Bad value for an account, must start with a '/' an can have up to 34 characters long: ES12 1234 6789 1234 1111 1234
- If 32A is after 31 December 2001, then ESP must not be used in 32A as the currency of settlement. (errorcode: E76)
- The BIC at field 52A must not be a BEI. (errorcode: C05)
- If field 56 is present, field 57 must be present. (errorcode: C81)
- 2 repetitions of sequence A1 (Settlement Details) found while 4 were expected.
|