Когда мы добавляем узел проверки в OSB 12c для проверки входящего запроса на XSD, и если проверка не удается, в некоторых сообщениях об ошибках отображается имя поля, которое вызывает ошибку проверки. Но только для десятичных значений сообщение об ошибке просто говорит о недопустимом десятичном значении и не упоминает поле, из которого возникла ошибка. Можем ли мы решить эту проблему
Настройка сообщения об ошибке валидации узла в OSB 12c
Ответы (1)
Я не уверен, что это прямое решение. Но есть обходной путь, который может удовлетворить ваши потребности.
Создайте XQuery, который проверяет полезную нагрузку и выдает настраиваемые сообщения об ошибках.
например: для элемента xml, который должен содержать десятичное значение abc
if ($a instance of xs:long)
then ()
else (fn:error(xs:QName('Your error code'), 'your error message'))
Это подходящий метод, если полезная нагрузка небольшая.
https://gibaholms.wordpress.com/2013/09/24/osb-throw-exception-in-xquery 1
Если полезная нагрузка большая
- определите поля, в которых предполагается наличие проблем такого типа.
- Создайте XQuery для проверки этих полей с сообщениями об ошибках.
- Используйте узел проверки внутри этапа и используйте обработчик ошибок этапа
- Подтвердите полезную нагрузку с помощью xquery внутри обработчика ошибок этапа
person
Vinoth Kumar K
schedule
18.08.2017