Предварительное условие: сервис на основе CXF получает запрос/ответ с данными, что нарушает ограничение XSD.
Фактическое поведение: в этом случае CXF возвращает сообщение об ошибке, например:
cvc-maxLength-valid: значение 'string_length_violated_value' с длиной = '28' не является допустимым аспектом по отношению к maxLength '13' для типа 'XSDStringTypeWithLengthRestriction'
Цель: вернуть ошибку потребителю с именем поля, которое содержит неверные данные. Ф.э. что-то вроде этого:
Ответ от провайдера содержит недопустимые данные. Значение 'string_length_violated_value' поля 'field_name' не является допустимым аспектом по отношению к maxLength '13'.
Мне интересно, возможно ли это, и если да, то как определить (откуда получить) это имя поля?
JAXB ValidationEventHandler, как только у меня будет немного больше времени. - person Withheld   schedule 02.10.2013ValidationEventHandlerне сработало, так как версия cxf, которую мы использовали, это игнорировала. Это плохая новость, но есть и хорошая — мне удалось получить данные о координатах (номер строки и столбца) из ошибки cxf, копаясь в инкапсулированных объектах — это было нашим решением. - person Milkywayfarer   schedule 03.10.2013