我编写了一个事件处理程序来拦截 role_assignment 和 role_revoke 操作。
我需要在远程服务器上运行一些网络服务,如果响应为 200 _ OK,我什么也不想做。
但如果响应不是 200,我需要失败角色分配。
我该怎么做?
我编写了一个事件处理程序来拦截 role_assignment 和 role_revoke 操作。
我需要在远程服务器上运行一些网络服务,如果响应为 200 _ OK,我什么也不想做。
但如果响应不是 200,我需要失败角色分配。
我该怎么做?
您应该在失败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#BGBHBIFH
(这是针对早期版本的,但在以后的版本中基本相同。)
我会在流程任务中添加一些东西来处理来自那里的 web 服务的响应。