public ValidateResultType validate(ValidateRequestType request) {
try {
validateRequest(request);
// Create basic response
ValidateResultType result = XKMSResponseFactory.createResponse(request, new ValidateResultType());
KeyBindingType binding = createKeyBinding(result);
// Validate request
for (Validator validator : validators) {
StatusType status = validator.validate(request);
addValidationReasons(binding, status);
}
resolveValidationStatus(binding);
return result;
} catch (Exception e) {
return ExceptionMapper.toResponse(e, XKMSResponseFactory.createResponse(request, new ValidateResultType()));
}
}