Как остановить Назначение ролей на основе определенного условия в OIM 11g r2 PS3
Я кодировал один обработчик событий для перехвата операций role_assignment и role_revoke.
Мне нужно запустить какой-нибудь веб-сервис на удаленном сервере, и если ответ 200 _ ОК, я ничего не хочу делать.
Но если ответ не 200, мне нужно потерпеть неудачу при назначении роли.
Как я должен это делать?
2 ответа
Вы должны бросить EventFailedException
от тела вашего обработчика событий execute
методы на провал. Это пометит оркестровку как потерпевшую неудачу. Неудачная оркестровка вызовет compensate
на всех обработчиках событий, которые уже завершились, а затем завершите работу в состоянии FAILED. (Вы можете запросить ORCHPROCESS
таблица, чтобы найти неудавшуюся оркестровку.)
См. JavaDoc для этого исключения здесь: https://docs.oracle.com/cd/E52734_01/oim/OMJAV/oracle/iam/platform/kernel/EventFailedException.html
И документация Oracle по разработке пользовательских обработчиков событий здесь: https://docs.oracle.com/cd/E27559_01/dev.1112/e27150/oper.htm
(Это для более ранней версии, но это в основном то же самое в более поздних версиях.)
Я бы добавил что-то к задаче процесса для обработки ответов от веб-службы.