Valida que un mensaje sea correcto respecto del estándard SWIFT, verificando las reglas sintácticas y semánticas del mensaje y de cada uno de los campos.
Funcionalidad principal:
- Motor de validacion con reglas dinámicas (pluggable).
- Conjunto de reglas a aplicar por mensaje configurable.
- Repositorio de reglas del estándard SWIFT listas para usar.
- Repositorio de esquemas XML para definición y validación de regals de estructura.
- Actualizado periódicamente a la última versión del estándard.
Soporta además de las reglas definidas por SWIFT, el agregado de reglas definidas por usuarios para excepciones o restricciones particulares.

Muestra de código:
ValidationEngine engine = new ValidationEngine(); engine.initialize(); String s = "{1:F01BICFOOYYAXXX8628453424}..."; SwiftMessage msg = new SwiftParser(s).message(); List<ValidationProblem> r = engine.validateMessage(msg); engine.dispose();
Todos los problemas de validación encontradus durante la evaluación son encapsulados en objetos con la información de la categoría de error, código, descripción y campos involucrados. Las descripciones además pueden ser customizadas mediante archivos de propiedades. Ejemplo de errores reportados:
- Campo mandatorio no encontrado: 20
- Campo inesperado 99
- Código BIC ausente en campo 53A
- Cuenta incorrecta, debe comenzar con '/' y puede contener hasta 34 caracteres: ES12 1234 6789 1234 1111 1234
- Si la fecha del campo 32A es posterior a 31 de Diciembre de 2001, entonces ESP no puede ser utilizado como moneda. (código de error: E76)
- El código BIC del campo 52A no debe ser un BEI. (código de error: C05)
- Si el campo 56 esta presente, el campo 57 debe estar presente. (código de error: C81)
- Se encontraron 2 repeticiones de la secuencia A1 (Detalles) y 4 repeticiones son esperadas.
|