Чтобы понять, как использовать обработку ошибок, нам нужно изучить базовую архитектуру Service Composite в Oracle SOA Suite.
-
Сервисные компоненты — процессы BPEL, бизнес-правило, человеческая задача, посредник. Они используются для создания составного приложения SOA.
-
Связующие компоненты — установите связь между SOA-композитом и внешним миром.
-
Сервисы — предоставляет точку входа в составное приложение SOA.
-
Связывание — определяет протоколы, которые связываются со службой, такие как SOAP / HTTP, адаптер JCA и т. Д.
-
WSDL — Определяет определение сервиса веб-сервиса.
-
Ссылки: позволяет составному приложению SOA отправлять сообщения внешним службам.
-
Провода — Включает соединение между сервисными компонентами.
Сервисные компоненты — процессы BPEL, бизнес-правило, человеческая задача, посредник. Они используются для создания составного приложения SOA.
Связующие компоненты — установите связь между SOA-композитом и внешним миром.
Сервисы — предоставляет точку входа в составное приложение SOA.
Связывание — определяет протоколы, которые связываются со службой, такие как SOAP / HTTP, адаптер JCA и т. Д.
WSDL — Определяет определение сервиса веб-сервиса.
Ссылки: позволяет составному приложению SOA отправлять сообщения внешним службам.
Провода — Включает соединение между сервисными компонентами.
Типы неисправностей
Давайте теперь посмотрим на различные типы неисправностей.
Недостатки бизнеса
Происходит, когда приложение выполняет действие THROW или INVOKE получает ошибку в качестве ответа. Имя ошибки указывается компонентом службы процесса BPEL. Обработчик ошибок, использующий имя ошибки и переменную ошибки, перехватывает эту ошибку.
Ошибки во время выполнения
Это выбрасывается системой. Эти ошибки связаны с RunTimeFaultMessage и включены в
http://schemas.oracle.com/bpel/extensionnamespace .
Способы обработки ошибок
В этом разделе мы узнаем о различных способах обработки ошибок.
Бросай активность
Бросок активности явно сбрасывает вину. Блок catch улавливает эту ошибку, и соответствующие действия выполняются таким образом.
-
Используя операцию выброса, вы можете выбросить бизнес-ошибки, а в пределах созданной области вы можете уловить эту ошибку и перенаправить вызывающему (потребителю) действие.
-
Вместо описанного выше подхода вы генерируете ту же ошибку, обнаруженную в действиях catch созданной области видимости. В основной области вы можете поймать эту ошибку с помощью активности catchall.
Используя операцию выброса, вы можете выбросить бизнес-ошибки, а в пределах созданной области вы можете уловить эту ошибку и перенаправить вызывающему (потребителю) действие.
Вместо описанного выше подхода вы генерируете ту же ошибку, обнаруженную в действиях catch созданной области видимости. В основной области вы можете поймать эту ошибку с помощью активности catchall.
Структура обработчика ошибок (EHF)
2 основных файла, используемых в EHF:
- Fault-Policy.xml
- Fault-Bindings.xml
Всякий раз, когда процесс BPEL выдает ошибку, EHF проверит, существует ли ошибка в файлах Fault-Bindings.xml. В этом случае будет выполнено действие в файле Fault-Policy.xml. Если действие не найдено, сбой будет сброшен, и он будет обработан в блоке перехвата.
Структура управления ошибками (Fault-Policy.xml и Fault-Bindings.xml) хранится в SOA Composite.
Обработчики сбоев, такие как catch и catchall, находятся внутри BPEL для перехвата всех сбоев, но политики сбоев будут выполняться только при сбое операции вызова.