从Task Flow 的 jspx 文件创建Portlet 显示在页面时出现 "Remote Portlet Error"
(Doc ID 2129420.1)
Last updated on MARCH 22, 2019
适用于:
Oracle WebCenter Portal - 版本 11.1.1.8.3 和更高版本本文档所含信息适用于所有平台
症状
当通过按F5键刷新浏览器页面时, 页面上的 Portlet 区域显示 "Remote Portlet Error". 如果事先点击过页面上的按钮, 这个问题就不会出现. 在 JDeveloper 里面创建 Task Flow 和 Portlet 的过程概述如下.
- 创建一个新的 Fusion Web Application(ADF).
- 在 Application Navigator, 鼠标右键点击 ViewController 工程, 弹出菜单选择 "New->Web Tier -> JSF -> ADF Task Flow", 点击 "OK" 打开"Create Task Flow'对话框, 不选择 "Create with Page Fragments". 这意味着这个 Task Flow 的试图View默认将使用 .jspx 文件. 点击 "OK" 创建 Task Flow.
- 从组件面板Component Palette拖拽一个view放入 Task Flow. 鼠标双击 View 图标打开 "Create JSF page" 对话框, 缺省创建一个 "view1.jspx".
- 编辑 view1.jspx, 加入 read only table. 可以使用一个 Placeholder Data Control 绑定到这个 table.
- 在 Application Navigator, 鼠标右键点击 Task Flow 的 view1.jspx, 弹出菜单选择"Create Portlet Entry". 后面的向导窗口都使用缺省选项, 保存所有变更.
- 部署应用到 server WC_Portlet.
- 登录 em console, 注册 portlet producer.
- 登录 /webcenter, 创建一个新page并把刚注册的 Portlet 加入 page.
- 保存并察看 page.
- 按键 F5 页面刷新, portlet 区域显示 "Remote Portlet Error".
WC_Portlet_diagnotic.log 里面可以看到 exception:
[2015-12-08T18:03:21.276-05:00] [WC_Portlet] [ERROR] [ADFC-50016] [oracle.adfinternal.controller.application.AdfcExceptionHandler] [tid: [ACTIVE].ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <USER ID>] [ecid: <ECID>] [APP: <APP NAME>] [J2EE_APP.name: <J2EE APP NAME>] [J2EE_MODULE.name: <J2EE MODULE NAME>] [WEBSERVICE.name: <WEBSERVICE NAME>] [WEBSERVICE_PORT.name: <WEBSERVICE PORT NAME>] [DSID: <DSID>] ADFc: While handling an exception the application's exception handler threw a new exception.[[java.lang.NullPointerException
at oracle.portlet.bridge.adf.lifecycle.ADFBridgePhaseListener.afterPhase(ADFBridgePhaseListener.java:76)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:520)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:207)
at org.apache.myfaces.portlet.faces.bridge.BridgeImpl.doFacesRender(BridgeImpl.java:1009)
at org.apache.myfaces.portlet.faces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:917)
at javax.portlet.faces.GenericFacesPortlet.doBridgeDispatch(GenericFacesPortlet.java:672)
at javax.portlet.faces.GenericFacesPortlet.doRenderDispatchInternal(GenericFacesPortlet.java:638)
at javax.portlet.faces.GenericFacesPortlet.doView(GenericFacesPortlet.java:274)
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328)
at javax.portlet.faces.GenericFacesPortlet.doDispatch(GenericFacesPortlet.java:245)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
at oracle.portlet.bridge.adf.application.ADFBridgePortlet.render(ADFBridgePortlet.java:
.....
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3748)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3714)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2283)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2182)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
原因
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
文档内容
症状 |
原因 |
解决方案 |
参考 |