我正在使用OIM(11gr2ps3)中的沙箱在身份自助服务主页上设置仪表板箱。此框的目的是调用“创建用户”表单。而且,尽管它正确打开,但表单中的“取消”和“提交”按钮不会关闭该选项卡(但是,“提交”按钮将正确提交并创建用户)。
这就是我所谓的任务流程:
((\ oracle \ iam \ ui \ homepage \ home \ pages \ mdssys \ cust \ site \ site \ self-service-home.jsff.xml)
<mds:insert parent="gr2" position="last">
<af:gridCell xmlns:af="http://xmlns.oracle.com/adf/faces/rich" id="e2545093324" halign="center">
<oim:DashboardBox xmlns:oim="/componentLib1" titleText="#{uiBundle['CREATE_USER_HEADER']}" image="/images/Dashboard/myAccess.png" hoverImage="/images/Dashboard/myAccess_s2.png" iconClickable="true" id="db2545093324"
iconClickAction="#{backingBeanScope.dashboardNavigationBean.launchTaskFlow}">
<af:clientAttribute xmlns:af="http://xmlns.oracle.com/adf/faces/rich" name="taskFlowId" value="/WEB-INF/oracle/iam/ui/taskflows/public/tfs/create-user-tf.xml#create-user-tf"/>
<af:clientAttribute xmlns:af="http://xmlns.oracle.com/adf/faces/rich" name="title" value="#{uiBundle['CREATE_USER_HEADER']}"/>
</oim:DashboardBox>
</af:gridCell>
</mds:insert>
单击“取消”按钮时,日志似乎没有留下任何错误,尽管似乎托管Bean可能正在刷新。 有任何想法吗?我是否应该在目录文件中添加其他任何属性或自定义,以使它们正确关闭任务流和制表符?
更新: 我尝试通过建议的引发上下文事件并使用Amr Gawish共享的文档来制作任务流启动器。通过使用新bean更新仪表板框的iconClickAction属性来调用它。这是我创建的方法:
public void launchCreateUserTaskFlow(ActionEvent evt) {
ResourceBundle bundle = ResourceBundle.getBundle(OIM_USR_BUNDLE, locale);
String taskFlowId = "/WEB-INF/oracle/iam/ui/taskflows/public/tfs/create-user-tf.xml#create-user-tf";
String id = "create_user";
String name = bundle.getString("CREATE_USER_HEADER");
String jsonPayLoad = TaskFlowUtils.createContextualEventPayLoad(id, taskFlowId, name);
TaskFlowUtils.raiseContextualEvent(TaskFlowUtils.RAISE_TASK_FLOW_LAUNCH_EVENT, jsonPayLoad);
}
这是行得通的,但只有一半。 “取消”按钮每次都会正确关闭选项卡,但是“提交”按钮仅在请求未留下请求ID时才关闭选项卡。有什么想法吗?