diff --git a/ocpp/messages.py b/ocpp/messages.py index c9ee1c73c..abcaed1f3 100644 --- a/ocpp/messages.py +++ b/ocpp/messages.py @@ -9,7 +9,6 @@ from typing import Callable, Dict, Union from jsonschema import Draft4Validator -from jsonschema import _validators as SchemaValidators from jsonschema.exceptions import ValidationError as SchemaValidationError from ocpp.exceptions import ( @@ -226,16 +225,20 @@ def validate_payload(message: Union[Call, CallResult], ocpp_version: str) -> Non try: validator.validate(message.payload) except SchemaValidationError as e: - if e.validator == SchemaValidators.type.__name__: + if e.validator == "type": + # if e.validator == SchemaValidators.type.__name__: raise TypeConstraintViolationError( details={"cause": e.message, "ocpp_message": message} ) - elif e.validator == SchemaValidators.additionalProperties.__name__: + elif e.validator == "additionalProperties": + # elif e.validator == SchemaValidators.additionalProperties.__name__: raise FormatViolationError( details={"cause": e.message, "ocpp_message": message} ) - elif e.validator == SchemaValidators.required.__name__: + elif e.validator == "required": + # elif e.validator == SchemaValidators.required.__name__: raise ProtocolError(details={"cause": e.message}) + elif e.validator == "maxLength": raise TypeConstraintViolationError( details={"cause": e.message, "ocpp_message": message}