Name of a portlet
Where do you change the name of the portlet which appears in the portal ?
Because the name displayed is the name of the jsp file of the portlet.
Can I change it ?
Thanks to help me...
Thanks for the information. The display name does indeed change for the portlets.
However, if the portlet is made floatable then the display name is still the portlet
name. Is this a known bug or is there some other workaround.
Thanks
Andy
"Tamer" <[email protected]> wrote:
You do that in the [YourWebPortalName].portal file. You'll find that
somewhere under the
ebcc4.0\applications\portal\application-sync\webapps\stockportal directory.
You are looking for the display name property. Hope this helps
"Julie" <[email protected]> wrote in message
news:3c72627f$[email protected]..
Thanks Adrian,
But it means that you have to be logged... I only want that a name ofa
portlet
is by instance "Default name of my portlet" at any time. So when i amnot
logged,
I can see this name.
"Adrian Fletcher" <[email protected]> wrote:
Julie,
The name of the portlets, as seen by a visitor to the portal, can be
customized on a group by group basis. So to make this change for the
default
group you need to go into the administration tools, edit the the default
group portal, find the appropriate page and edit the attributes of the
portlet you wish to change. This name simply defaults to the name of
the
portlet as specified in the EBCC.
For more details please see the section "Modifying the Appearance and
Content of Existing Portals" at eDocs.
http://edocs.bea.com/wlp/docs40/portal/porttool.htm
Sincerely,
Adrian.
Adrian Fletcher.
Senior Software Engineer,
BEA Systems, Inc.
Boulder, CO.
email: [email protected]
"Julie" <[email protected]> wrote in message
news:3c6a397a$[email protected]..
Where do you change the name of the portlet which appears in the portal?
Because the name displayed is the name of the jsp file of the portlet.
Can I change it ?
Thanks to help me...
Similar Messages
-
Filter output data according to portal current user name in omni portlet
We have created an omniportlet that connects to a database, and retrives some values into a defined HTML layout.
We want to filter output data according to our portal current user name
When we try to use portal.wwctx_api.get_user inside of omni portlet select statement fallowing error occurs.
Error in executing Query : [ORA-06510: PL/SQL: unhandled user-defined exception ORA-06512: at "PORTAL.WWCTX_SSO", line 1803 ORA-06510: PL/SQL: unhandled user-defined exception ORA-06512: at "PORTAL.WWCTX_SSO", line 1637 ORA-06502: PL/SQL: numeric or value error ORA-06512: at "PORTAL.WWCTX_SSO", line 1865 ORA-06512: at "PORTAL.WWCTX_API", line 183 ]
Thanks a lothello
i think you cannot use the portal built-in packages inside omni portlets. Omni portlets is designed to connect to other data source (not only oracle) and Portal API might not be available at these data sources. Therefore, you should not be using these Packages at all!. i tried very hard, but to no avail.. Omni portlet has its own repository!! if you cannot pass the infomration as a parameter, then find a different approach
Ammar Sajdi
Amman - Jordan
oracle consultant -
Portlet title and name do not change
Hi
We changed the portlet title and portlet name in provider.xml file. After the portlet repository has been refreshed we could see the changes in the repository. But on the pages where the portlets already exists it does not show the change. If we reate a new instance of the portlet to a page, the new name is reflected.Restarting the apache( and jserv) did not make any difference. Any more changes or refresh we need to carry out?.
In case it helps
There are 2 tables called WWPOB_PORTLET_INSTANCE$, WWPOB_PORTLET_INSTANCE_FLAT$. Each of these tables has a name column that does not appear to reflect the new name of the portlet for the records that existed before the provider.xml changed.
Thanks
RajaRaja,
Please post this question to the PDK Forum.
Thanks,
Jerry -
List of Portlets with thier page group names
Hello,
Could someone suggest which is the table or view where I can query to get the list of all the portlets are stored?
I would like to list the page groups and the portlets in a page. Eg:
We have two or three page groups like Games, Sports etc and few portlets under those page groups. So I would like to list the page group names and the portlets inside.
Besides in the query how can I restrict the portlets bases on the OID group permission.
ThanksMy suggestion 1)
is to create 1 Connection Pool with passing values for DSN, UID,PWD using repository variables.
for this you need to have other connection since user validation is done in init block.
After LDAP authentication go for init block to run that validates user and set these DSN, UID,PWD variables with values.
Suggestion 2) You can use "Connection Scripts" tab on Connection pool
Suggestion 3) Can go for a external db table to store DSN,UID,PWD values and get them after authentication
goes like this....
Pls mark if helps -
Ok I think I'm on the right newsgroup now.
Subrahmanyam,
My question back to you. Who do you login in as? I am logging in as administrator.
-Travis
Subject: Re: portlet page names.
Date: Mon, 22 Apr 2002 10:15:29 -0600
From: Subrahmanyam Allamaraju <[email protected]>
Newsgroup: weblogic.developer.interest.personalization
Travis,
You can change the display names via the JSP tools. Login to the tools, and select
the portal for the "everyone" group. The procedure is the same as for group portals.
In future, please post all WLP related questions to the weblogic.developer.interest.portal
newsgroup.
Sincerely,
Subbu
travis wissink wrote:
I have a question regarding portlet names. Referring to the stockportal that comeswith portal server, I notice that the name for one of the portlets is "About Avitek."
In the ebcc the portlet is identified as "AboutAvitek." So, I am wondering how the
space got in the middle of the two words. I found that in the PORTLET_P13N table
that the value in the Display_Name column was the "About Avitek." I would like to
control the title bar name of the portlet for non-logged in users. Has anyone else
notices and overcome this issue? My desired goal is to allow the ebcc user to control
the title bar name through the ebcc. Any suggestions would be most appreciated.Travis,
I just spoke to the engineer working on this for the 4.1 release and it has
already been implemented. If you want to do some custom coding I think you
can also write a JSP that exposes the API methods to your users to change
the display name.
http://edocs.bea.com/wlp/docs40/javadoc/wlp/index.html
Sincerely,
Daniel Selman
"travis wissink" <[email protected]> wrote in message
news:3cc46327$[email protected]..
>
Dan,
Actually, I think the "display-name" is the more appropriate element toedit.
>
This is a bummer; this appears so naturally for the example, when in factits going
to be nearly impossible for a "Business User" to edit such a file. Iguess my main
request to the EBCC group is if there is an option in any of theassociated schema's,
e.g. the "display-name" element in the portal-1_0.xsd schema, then providea way
to edit it via the EBCC.
Thanks,
Travis Wissink
"Daniel Selman" <[email protected]> wrote:
Travis,
It looks like you are going to have to edit the XML by hand to introduce
the
space into the portlet-name. E.g.
<portlet-name>ReviewNewsletters</portlet-name>
goes to:
<portlet-name>Review Newsletters</portlet-name>
I will take this up with the EBCC engineers and file a CR. Please let me
know if this does not solve the problem.
Thanks (and sorry),
Daniel Selman
"travis wissink" <[email protected]> wrote in message
news:3cc45bd8$[email protected]..
Subbu,
I've been all over the ebcc. Even inside of the xml files. Nowhere dois
see the
possibility of manipulating the "Display Name" of the portlets in theebcc
at all.
Of course when you create a new portlet you can name it but that namehas
restrictions
against it, e.g. no spaces.
Do you know specifically where I can manipulate that attribute in theebcc?
-Travis
Subrahmanyam Allamaraju <[email protected]> wrote:
Sorry for mt wrong answer. You've to do this via the EBCC. Check the
default portal configuration.
Sincerely,
Subbu -
Site Index Portlet and Folder names with quotes
Hi,
I don't know if anyone else has hit this problem with the site index portlet, but it fails to render when the page group contains a page with a quote >'< in the page name.
This is an issue particularly using O Drive and 10.1.4 portal, as the page name and page display name both get set to the folder name & windows alows quotes in folder names.
The portlet code escapes the display name, but not the page URL. In 10.1.4 the URL has the page name in it, including any quotes, so the URL needs to be escaped too.
This is achieved by modifying the code in site_index_tree.process_tree. Have a look how l_title_enc is set & do the same for the l_link value. l_link_enc := replace(l_link, '''', '\''');
Comments and suggestions welcome.
Cheers,
DavidHi
to avoid this problem I'm afraid that you have to avoid quotes from your pages names.
Quotes in URL are not supported by navigators so you can't use them for pages names (but,as you said you can use for display names).
A possible workaround is to modify the render_tree method, replacing URL by permanent links.
Your url http://myportal/page/portal/page/apage/anotherpage/namewithquote will be replaced by something like :
http://myportal/page/portal/page/54564F654SD5F4SD56F4SD564FS
Hope this will help -
Null Pointer Exception when trying to access Portlet Context
I am using the JSR_168_Support.zip, that was downloaded from the BEA site to implement
the Portal technology utilizing the JSR_168 standard. I followed the instructions
in the INSTALL.TXT file that is included in the zip file on replacing some of
the supporting weblogic jars with the zip jars. When I added the below servlet
tag to my web.xml, I got an ArrayIndexOutOfBounds error when the server started
up. I figured that there was some sort of problem with the load-on-startup parameter,
so I commented it out. After this, the server started up fine and the log stated
that the PortletHttpServer had initialized.
<servlet>
<servlet-name>com.bea.portlet.server.PortletHttpServer</servlet-name>
<servlet-class>com.bea.portlet.server.PortletHttpServer</servlet-class>
<!-- <load-on-startup>1</load-on-startup> -->
</servlet>
As per the INSTALL.TXT, I superclassed all jsp's with the PortletJSPBase class.
When I bring up the portal, the portlet that contains the jsp with the following
code,
PortletContext portletContext = portletConfig.getPortletContext();
javax.portlet.PortletURL msActionUrl = renderResponse.createActionURL();
Stack Trace:
Error opening /portlet/Customer/CustomerSubmit.jsp.
The source of this error is java.lang.NullPointerException at jsp_servlet._portlet._customer.__customersubmit._jspService(CustomerSubmit.jsp:11)
at com.bea.portlet.jsp.PortletJspBase.service(PortletJspBase.java:110) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:431)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:101)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:313)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:597)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:409)
at com.bea.netuix.servlets.controls.content.JspContent.beginRender(JspContent.java:460)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:424) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:427)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:172) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:95)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:380) at com.bea.netuix.nf.UIControl.render(UIControl.java:580)
at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:341)
at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:123)
at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:58)
at jsp_servlet._framework._skeletons._default.__flowlayout._jspService(flowlayout.jsp:32)
at com.bea.portlet.jsp.PortletJspBase.service(PortletJspBase.java:110) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:431)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:101)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:313)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:597)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:409)
at com.bea.netuix.servlets.controls.JspRenderer.renderAlt(JspRenderer.java:187)
at com.bea.netuix.servlets.controls.JspRenderer.beginRender(JspRenderer.java:90)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:420) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:427)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:172) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:95)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:380) at com.bea.netuix.nf.UIControl.render(UIControl.java:580)
at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:341)
at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:123)
at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:58)
at jsp_servlet._framework._skeletons._default.__gridlayout._jspService(gridlayout.jsp:32)
at com.bea.portlet.jsp.PortletJspBase.service(PortletJspBase.java:110) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:101)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:313)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:597)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:409)
at com.bea.netuix.servlets.controls.JspRenderer.renderAlt(JspRenderer.java:187)
at com.bea.netuix.servlets.controls.JspRenderer.beginRender(JspRenderer.java:90)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:420) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:427)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:172) at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:220)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:158) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:363)
at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:207) at com.bea.netuix.servlets.manager.PortalServlet.service(PortalServlet.java:584)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:313)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6316)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)Could you also post the original ArrayIndexOutOfBounds stack trace?
Thanks
Subbu
Frank Valcone said the following on 12/12/2003 01:13 PM:
I am using the JSR_168_Support.zip, that was downloaded from the BEA site to implement
the Portal technology utilizing the JSR_168 standard. I followed the instructions
in the INSTALL.TXT file that is included in the zip file on replacing some of
the supporting weblogic jars with the zip jars. When I added the below servlet
tag to my web.xml, I got an ArrayIndexOutOfBounds error when the server started
up. I figured that there was some sort of problem with the load-on-startup parameter,
so I commented it out. After this, the server started up fine and the log stated
that the PortletHttpServer had initialized.
<servlet>
<servlet-name>com.bea.portlet.server.PortletHttpServer</servlet-name>
<servlet-class>com.bea.portlet.server.PortletHttpServer</servlet-class>
<!-- <load-on-startup>1</load-on-startup> -->
</servlet>
As per the INSTALL.TXT, I superclassed all jsp's with the PortletJSPBase class.
When I bring up the portal, the portlet that contains the jsp with the following
code,
PortletContext portletContext = portletConfig.getPortletContext();
javax.portlet.PortletURL msActionUrl = renderResponse.createActionURL();
Stack Trace:
Error opening /portlet/Customer/CustomerSubmit.jsp.
The source of this error is java.lang.NullPointerException at jsp_servlet._portlet._customer.__customersubmit._jspService(CustomerSubmit.jsp:11)
at com.bea.portlet.jsp.PortletJspBase.service(PortletJspBase.java:110) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:431)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:101)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:313)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:597)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:409)
at com.bea.netuix.servlets.controls.content.JspContent.beginRender(JspContent.java:460)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:424) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:427)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:172) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:95)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:380) at com.bea.netuix.nf.UIControl.render(UIControl.java:580)
at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:341)
at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:123)
at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:58)
at jsp_servlet._framework._skeletons._default.__flowlayout._jspService(flowlayout.jsp:32)
at com.bea.portlet.jsp.PortletJspBase.service(PortletJspBase.java:110) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:431)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:101)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:313)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:597)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:409)
at com.bea.netuix.servlets.controls.JspRenderer.renderAlt(JspRenderer.java:187)
at com.bea.netuix.servlets.controls.JspRenderer.beginRender(JspRenderer.java:90)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:420) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:427)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:172) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:95)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:380) at com.bea.netuix.nf.UIControl.render(UIControl.java:580)
at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:341)
at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:123)
at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:58)
at jsp_servlet._framework._skeletons._default.__gridlayout._jspService(gridlayout.jsp:32)
at com.bea.portlet.jsp.PortletJspBase.service(PortletJspBase.java:110) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:101)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:313)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:597)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:409)
at com.bea.netuix.servlets.controls.JspRenderer.renderAlt(JspRenderer.java:187)
at com.bea.netuix.servlets.controls.JspRenderer.beginRender(JspRenderer.java:90)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:420) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:427)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:436)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:172) at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:220)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:158) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:363)
at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:207) at com.bea.netuix.servlets.manager.PortalServlet.service(PortalServlet.java:584)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:313)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6316)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) -
We can use JSR-168 JPS portlet upload file,
We can use JSR-168 JPS portlet upload file,
here is the source for you referrence:
upload file can use JSR168 portlet,
1,CustomizablePortlet.java File
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ResourceBundle;
import javax.portlet.*;
import oracle.webdb.utils.SimpleStringBuffer;
public class CustomizablePortlet extends GenericPortlet {
private static final String TITLE_KEY = "title";
protected static final String OK_ACTION = "ok_action";
protected static final String APPLY_ACTION = "apply_action";
protected static final PortletMode PREVIEW_MODE = new PortletMode("preview");
protected static final PortletMode EDIT_DEFAULTS_MODE = new PortletMode("EDIT_DEFAULTS");
protected static final PortletMode ABOUT_MODE = new PortletMode("ABOUT");
public CustomizablePortlet() {
public String getTitle(RenderRequest request) {
return request.getPreferences().getValue("title", getPortletConfig().getResourceBundle(request.getLocale()).getString("javax.portlet.title"));
public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("<FORM ACTION=\"");
out.print(getEditFormSubmitURL(request, response));
out.println("\" METHOD=\"POST\">");
out.println("<TABLE BORDER=\"0\">");
out.println("<TR>");
out.println("<TD WIDTH=\"20%\">");
out.println("<P CLASS=\"portlet-form-field\" ALIGN=\"RIGHT\">Title:");
out.println("</TD>");
out.println("<TD WIDTH=\"80%\">");
out.print("<INPUT CLASS=\"portlet-form-input-field\" TYPE=\"TEXT\" NAME=\"");
out.print("title");
out.print("\" VALUE=\"");
out.print(getTitle(request));
out.println("\" SIZE=\"20\">");
out.println("</TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD COLSPAN=\"2\" ALIGN=\"CENTER\">");
out.print("<INPUT CLASS=\"portlet-form-button\" TYPE=\"SUBMIT\" NAME=\"");
out.print("ok_action");
out.print("\" VALUE=\"OK\">");
out.print("<INPUT CLASS=\"portlet-form-button\" TYPE=\"SUBMIT\" NAME=\"");
out.print("apply_action");
out.print("\" VALUE=\"Apply\">");
out.println("</TD>");
out.println("</TR>");
out.println("</TABLE>");
out.println("</FORM>");
protected String getEditFormSubmitURL(RenderRequest request, RenderResponse response) {
return response.createActionURL().toString();
public void doHelp(RenderRequest request, RenderResponse response) throws PortletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("Help for <i><b>");
out.print(getTitle(request));
out.println("</b></i>.");
public void doAbout(RenderRequest request, RenderResponse response) throws PortletException, IOException {
String aboutHTML = (new SimpleStringBuffer(30)).append("/about_").append(getPortletName()).append(".html").toString();
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(aboutHTML);
response.setContentType("text/html");
if(rd != null) {
rd.include(request, response);
} else {
PrintWriter out = response.getWriter();
out.print("<p class=\"portlet-font\">This is the about page for ");
out.print(getTitle(request));
out.print(".</p><p class=\"portlet-font\">");
out.print("To customize the contents of this page, create a file named '");
out.print(aboutHTML.substring(1));
out.print("' in the Portlet web application's root directory containing HTML ");
out.print("to appear here. ");
out.print("Alternatively, override the <code>CustomizablePortlet</code> ");
out.println("class's <code>doAbout()</code> method.</p>");
public void doDispatch(RenderRequest request, RenderResponse response) throws PortletException, IOException {
WindowState state = request.getWindowState();
if(!state.equals(WindowState.MINIMIZED)) {
PortletMode mode = request.getPortletMode();
if(mode.equals(PREVIEW_MODE))
doView(request, response);
else
if(mode.equals(EDIT_DEFAULTS_MODE))
doEdit(request, response);
else
if(mode.equals(ABOUT_MODE))
doAbout(request, response);
else
super.doDispatch(request, response);
} else {
super.doDispatch(request, response);
public void processAction(ActionRequest request, ActionResponse actionResponse) throws PortletException, IOException {
String newTitle = request.getParameter("title");
PortletPreferences prefs = request.getPreferences();
prefs.setValue("title", newTitle);
prefs.store();
if(request.getParameter("ok_action") != null) {
actionResponse.setPortletMode(PortletMode.VIEW);
actionResponse.setWindowState(WindowState.NORMAL);
2,FileUploadPortlet.java file
import java.io.*;
import javax.activation.DataHandler;
import javax.mail.MessagingException;
import javax.mail.internet.MimeBodyPart;
import javax.portlet.*;
import oracle.portal.portlet.sample.CustomizablePortlet;
public class FileUploadPortlet extends CustomizablePortlet
private static final String FILE_PARAM = "file";
private static final String SUBMIT_PARAM = "submit";
private static final String DEFAULT_CHARSET = "ISO-8859-1";
private static final String uploadRoot = "";
public FileUploadPortlet()
public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("<form action=\"");
out.print(response.createActionURL().toString());
out.println("\" enctype=\"multipart/form-data\" method=\"post\">");
out.println("<center><table border=\"0\">");
out.println("<tr>");
out.print("<td class=\"portlet-form-field\" align=\"right\">");
out.print("Please browse to an HTML file:");
out.println("</td>");
out.print("<td>");
out.print("<input class=\"portlet-form-input-field\" type=\"file\" name=\"");
out.print("file");
out.print("\">");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td colspan=\"2\" align=\"center\">");
out.print("<input type=\"submit\" class=\"portlet-form-button\" name=\"");
out.print("submit");
out.print("\" value=\"Display\">");
out.println("</td>");
out.println("</tr>");
out.println("</table>");
out.println("</form>");
String lastFile = request.getPreferences().getValue("file", null);
if(lastFile != null) {
out.println("<hr width=\"100%\"><br>");
out.print(lastFile);
public void processAction(ActionRequest request, ActionResponse actionResponse) throws PortletException, IOException {
FormDataParser parsedRequest = new FormDataParser(request);
MimeBodyPart mbp = parsedRequest.getMimeBodyPart("file");
if(mbp == null)
super.processAction(request, actionResponse);
else
try {
String fileName= mbp.getFileName();
int splash = fileName.lastIndexOf("\\");
if(splash != -1)
fileName = fileName.substring(splash +1, fileName.length()).trim();
String contentType = mbp.getContentType();
String charSet = getCharsetFromContentType(contentType);
int sepIndex = contentType.indexOf(';');
if(sepIndex != -1)
contentType = contentType.substring(0, sepIndex).trim();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
mbp.getDataHandler().writeTo(bos);
bos.close();
String content = new String(bos.toByteArray(), charSet);
FileOutputStream fos = new FileOutputStream(fileName);
fos.write(bos.toByteArray());
fos.close();
PortletPreferences prefs = request.getPreferences();
prefs.setValue("file", fileName + "upload ok");
prefs.store();
catch(MessagingException me) {
throw new PortletException(me);
public static String getCharsetFromContentType(String contentType) {
int lastPos;
if((lastPos = contentType.indexOf(';')) == -1)
return "ISO-8859-1";
lastPos++;
String lowerContentType = contentType.toLowerCase();
int nextPos;
do {
nextPos = lowerContentType.indexOf(';', lastPos);
String param;
if(nextPos == -1)
param = lowerContentType.substring(lastPos).trim();
else
param = lowerContentType.substring(lastPos, nextPos).trim();
if(param.startsWith("charset=") && param.length() > 8)
return param.substring(8);
lastPos = nextPos + 1;
} while(nextPos != -1);
return "ISO-8859-1";
3,FormDataParser.java file
import java.io.*;
import java.util.*;
import javax.activation.DataSource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMultipart;
import javax.portlet.ActionRequest;
import javax.portlet.PortletException;
public class FormDataParser {
private static final String MULTIPART_PREFIX = "multipart/";
private static final String MULTIPART_FORM_DATA = "multipart/form-data";
private static final String PLAIN_TEXT = "text/plain";
private ActionRequest mWrappedRequest;
private Map mParams;
private Map mBodyParts;
private boolean mIsInitialized;
private boolean mHasMultipart;
public FormDataParser(ActionRequest request) {
mWrappedRequest = request;
public String getParameter(String name) throws PortletException {
String value = mWrappedRequest.getParameter(name);
if(value != null)
return value;
initParameters();
if(!mHasMultipart)
return null;
List paramList = (List)mParams.get(name);
if(paramList != null)
return (String)paramList.get(0);
else
return null;
public String[] getParameterValues(String name) throws PortletException {
String values[] = mWrappedRequest.getParameterValues(name);
if(!mHasMultipart)
return values;
initParameters();
List valueList = (List)mParams.get(name);
if(valueList == null)
return values;
int size = valueList.size();
if(values != null) {
List newValueList = new ArrayList(values.length + size);
newValueList.addAll(Arrays.asList(values));
newValueList.addAll(valueList);
valueList = newValueList;
values = new String[size];
valueList.toArray(values);
return values;
public MimeBodyPart getMimeBodyPart(String name) throws PortletException {
initParameters();
if(!mHasMultipart) {
return null;
} else {
List parts = (List)mBodyParts.get(name);
return parts != null ? (MimeBodyPart)parts.get(0) : null;
public MimeBodyPart[] getMimeBodyParts(String name) throws PortletException {
initParameters();
if(!mHasMultipart)
return null;
List parts = (List)mBodyParts.get(name);
if(parts == null) {
return null;
} else {
MimeBodyPart mimeBodyParts[] = new MimeBodyPart[parts.size()];
parts.toArray(mimeBodyParts);
return mimeBodyParts;
private void initParameters() throws PortletException {
if(mIsInitialized)
return;
String contentType = mWrappedRequest.getContentType();
if(contentType == null) {
mIsInitialized = true;
return;
int sepIndex = contentType.indexOf(';');
if(sepIndex != -1)
contentType = contentType.substring(0, sepIndex).trim();
if(contentType.equalsIgnoreCase("multipart/form-data")) {
mParams = new HashMap(20);
mBodyParts = new HashMap(20);
DataSource ds = new DataSource() {
public InputStream getInputStream() throws IOException {
return mWrappedRequest.getPortletInputStream();
public OutputStream getOutputStream() throws IOException {
throw new IOException("OutputStream not available");
public String getContentType() {
return mWrappedRequest.getContentType();
public String getName() {
return getClass().getName();
try {
MimeMultipart multipartMessage = new MimeMultipart(ds);
parseMultiPart(multipartMessage, null);
catch(MessagingException me) {
throw new PortletException(me);
catch(IOException ioe) {
throw new PortletException(ioe);
mHasMultipart = true;
mIsInitialized = true;
private void parseMultiPart(MimeMultipart multipartMessage, String parentFieldName) throws MessagingException, IOException {
int partCount = multipartMessage.getCount();
for(int i = 0; i < partCount; i++) {
javax.mail.BodyPart part = multipartMessage.getBodyPart(i);
if(part instanceof MimeBodyPart) {
MimeBodyPart mimePart = (MimeBodyPart)part;
String disps[] = mimePart.getHeader("Content-Disposition");
if(disps != null && disps.length != 0) {
String disp = disps[0];
String lcDisp = disp.toLowerCase();
int nameStart;
int nameEnd;
if((nameStart = lcDisp.indexOf("name=\"")) != -1 && (nameEnd = lcDisp.indexOf("\"", nameStart + 6)) != -1)
parentFieldName = disp.substring(nameStart + 6, nameEnd);
if(parentFieldName != null)
if(mimePart.getContentType().toLowerCase().startsWith("multipart/")) {
Object content = mimePart.getContent();
if(content instanceof MimeMultipart)
parseMultiPart((MimeMultipart)content, parentFieldName);
} else
if((nameStart = lcDisp.indexOf("filename=\"")) != -1 && (nameEnd = lcDisp.indexOf("\"", nameStart + 10)) != -1) {
List values = (List)mBodyParts.get(parentFieldName);
if(values == null) {
values = new ArrayList(1);
mBodyParts.put(parentFieldName, values);
values.add(mimePart);
} else
if(mimePart.getContentType().toLowerCase().startsWith("text/plain")) {
Object content = mimePart.getContent();
if(content instanceof String) {
List values = (List)mParams.get(parentFieldName);
if(values == null) {
values = new ArrayList(1);
mParams.put(parentFieldName, values);
values.add((String)content);
4.web.xml file
<?xml version = '1.0' encoding = 'ISO-8859-1'?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>hanhuiwen OracleSamplePortlets</display-name>
<description>hanhuiwen Oracle Sample Portlet Application</description>
<servlet>
<servlet-name>portletdeploy</servlet-name>
<servlet-class>oracle.webdb.wsrp.server.deploy.PortletDeployServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>portletjaxrpc</servlet-name>
<servlet-class>com.sun.xml.rpc.server.http.JAXRPCServlet</servlet-class>
<init-param>
<param-name>configuration.file</param-name>
<param-value>/WEB-INF/WSRPService_Config.properties</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>portletresource</servlet-name>
<servlet-class>oracle.webdb.wsrp.server.ResourceServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ChartServlet</servlet-name>
<display-name>Chart Servlet</display-name>
<description>Demo image-generating servlet</description>
<servlet-class>oracle.portal.portlet.sample.chart.ChartServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>uix</servlet-name>
<servlet-class>oracle.cabo.servlet.UIXServlet</servlet-class>
<init-param>
<param-name>oracle.cabo.servlet.pageBroker</param-name>
<param-value>oracle.cabo.servlet.xml.UIXPageBroker</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ChartServlet</servlet-name>
<url-pattern>/chart*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>portletjaxrpc</servlet-name>
<url-pattern>/portlets*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>portletresource</servlet-name>
<url-pattern>/portletresource*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>uix</servlet-name>
<url-pattern>*.uix</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>uix</servlet-name>
<url-pattern>/uix/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.uix</welcome-file>
</welcome-file-list>
<!--
LogLevel controls the amount of information logged. There are 7 log levels:
0 - logging disabled
1 - configuration
2 - severe error
3 - warning
4 - throwing exception
5 - performance
6 - information
7 - debug
The oracle.portal.log.Logger interface defines methods that map to these 7
log levels. However, there are also 2 methods that do not map to log
levels. These methods are included for backwards compatibility and data
logged using these methods will always be logged regardless of the log level.
-->
<env-entry>
<env-entry-name>oracle/portal/log/logLevel</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>7</env-entry-value>
</env-entry>
</web-app>
5.portlet.xml
<?xml version = '1.0' encoding = 'UTF-8'?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
<portlet>
<description xml:lang="en">A portlet that demonstrates the file upload features of the Java Portlet Specification.</description>
<portlet-name>FileUpload</portlet-name>
<portlet-class>FileUploadPortlet</portlet-class>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>help</portlet-mode>
<portlet-mode>about</portlet-mode>
<portlet-mode>edit_defaults</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>File Upload Portlet</title>
<short-title>File Upload</short-title>
<keywords>File,Upload, Portlet</keywords>
</portlet-info>
</portlet>
<custom-portlet-mode>
<description xml:lang="en">This mode should be used by the portlet to display information on the portlet's purpose, origin, version, etc.</description>
<portlet-mode>about</portlet-mode>
</custom-portlet-mode>
<custom-portlet-mode>
<description xml:lang="en">This mode signifies that the portlet should render a screen to set the default values for the modifiable preferences that are typically changed in the EDIT screen. Calling this mode requires that the user must have administrator rights.</description>
<portlet-mode>edit_defaults</portlet-mode>
</custom-portlet-mode>
<custom-portlet-mode>
<description xml:lang="en">This mode should be used by the portlet to render output without the need of having back-end connections or user specific data available.</description>
<portlet-mode>preview</portlet-mode>
</custom-portlet-mode>
<user-attribute>
<name>user.name.given</name>
</user-attribute>
<user-attribute>
<name>user.name.family</name>
</user-attribute>
<user-attribute>
<name>user.name.middle</name>
</user-attribute>
<user-attribute>
<name>user.name.nickname</name>
</user-attribute>
<user-attribute>
<name>user.bdate</name>
</user-attribute>
<user-attribute>
<name>user.business-info.online.email</name>
</user-attribute>
</portlet-app>Hello i had exactly the same error, but not with file upload.
I'm sure you have in your application lib directory to jars which aren't compatible to each other.
And the problem occured between my myfaces and tomahawk jars .
See this page:
http://wiki.apache.org/myfaces/CompatibilityMatrix
It tells you which myfaces and tomahawk jars you can use together.
Hope it can help.
bye -
Portlets with ADF faces does not work
Hello
I am trying to portlize an hello world ADF application but am unable to do so because of the situation describe below. I have tried all the options given on this post but nothing seems to resolve the issue.
I have followed the instructions of portelizing at http://download-east.oracle.com/otndocs/tech/webcenter/files/owcs_10132_bridge_viewlet.html
A simple portlets without AFD works fine in oc4h or webcenter or jboss, but when I include ADF in the project then none of the application server or the container works
I am using jdeveloper 10.1.3.2.0 and the embedded webcenter oc4j for this test
I have two projects
1) ui where the ADF appplication is and
2) test1 where the producer is registered and is tested
In ui I have a simple jsp page untitled1.jsp with just one adf component (ADF Command Link)
Here is the source of untitled1.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/portlet" prefix="adfp"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/customizable" prefix="cust"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh"%>
<f:view>
<afh:html binding="#{backing_untitled1.html1}" id="html1">
<afh:head title="Pixel Home" binding="#{backing_untitled1.head1}"
id="head1">
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252"/>
<style type="text/css">
body {
background-color: #ffffff;
a:link { color: #2121ff; }
</style>
</afh:head>
<afh:body binding="#{backing_untitled1.body1}" id="body1">
<h:form binding="#{backing_untitled1.form1}" id="form1">
<af:commandLink text="commandLink 1"
binding="#{backing_untitled1.commandLink1}"
id="commandLink1"/>
</h:form>
</afh:body>
</afh:html>
</f:view>
After deploying this in webcenter I can see the WSDL page
http://localhost:6688/AdfFacesDemo1/portlets/wsrp1?WSDL
<?xml version = '1.0' encoding = 'UTF-8'?>
<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:bind="urn:oasis:names:tc:wsrp:v1:bind" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:oasis:names:tc:wsrp:v1:wsdl">
<import namespace="urn:oasis:names:tc:wsrp:v1:bind" location="wsrp_v1_bindings.wsdl"/>
<wsdl:service name="WSRP_v1_Service">
<wsdl:port binding="bind:WSRP_v1_Markup_Binding_SOAP" name="WSRPBaseService">
<soap:address location="http://localhost:6688/AdfFacesDemo1/portlets/WSRPBaseService"/>
</wsdl:port>
<wsdl:port binding="bind:WSRP_v1_ServiceDescription_Binding_SOAP" name="WSRPServiceDescriptionService">
<soap:address location="http://localhost:6688/AdfFacesDemo1/portlets/WSRPServiceDescriptionService"/>
</wsdl:port>
<wsdl:port binding="bind:WSRP_v1_Registration_Binding_SOAP" name="WSRPRegistrationService">
<soap:address location="http://localhost:6688/AdfFacesDemo1/portlets/WSRPRegistrationService"/>
</wsdl:port>
<wsdl:port binding="bind:WSRP_v1_PortletManagement_Binding_SOAP" name="WSRPPortletManagementService">
<soap:address location="http://localhost:6688/AdfFacesDemo1/portlets/WSRPPortletManagementService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
In test1 project I have a simple jsp page test1.jsp and here is the source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/portlet" prefix="adfp"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/customizable" prefix="cust"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh"%>
<f:view>
<afh:html binding="#{backing_test1.html1}" id="html1">
<afh:head title="Pixel Home" binding="#{backing_test1.head1}" id="head1">
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252"/>
<style type="text/css">
body {
background-color: #ffffff;
a:link { color: #2121ff; }
</style>
</afh:head>
<afh:body binding="#{backing_test1.body1}" id="body1">
<h:form binding="#{backing_test1.form1}" id="form1">
<adfp:portlet value="#{bindings.ADFFacesDemoPortlet11_1}"
portletType="/oracle/adf/portlet/AdfFacesDemoProducer_1186417722625/ap/E0default_3c036e4c_0114_1000_8003_83e15f750fa7"
id="portlet1" binding="#{backing_test1.portlet1}"/>
</h:form>
</afh:body>
</afh:html>
</f:view>
<%-- oracle-jdev-comment:auto-binding-backing-bean-name:backing_test1--%>
I have already registered a producer called[b] ADFFacesDemoProducer in test1 project with 300 sec as timeout. Now when I run the test1.jsp page in oc4j container I get the following error. I have tried all the options in this forum and nothing worked.
Target URL -- http://131.225.95.117:8988/PortletTest6-test1-context-root/faces/test1.jsp
07/08/06 11:31:04 Oracle Containers for J2EE 10g (10.1.3.1.1) initialized
Warning : Not able to reserve 2048M memory for the heap. Heap reduced to 890M
Aug 6, 2007 11:31:17 AM oracle.adf.share.config.ADFConfigFactory findOrCreateADFConfig
INFO: oracle.adf.share.config.ADFConfigFactory Reading META-INF/adf-config.xml
07/08/06 11:31:18 PortletContainer portletTechnologies set to '{oracle.portlet.client.containerimpl.web.WebPortletTechnologyConfig,oracle.portlet.client.containerimpl.wsrp.WSRPPortletTechnologyConfig}' from adf-config.xml
07/08/06 11:31:18 PortletContainer defaultTimeout set to '20' from adf-config.xml
07/08/06 11:31:18 PortletContainer minimumTimeout set to '1' from adf-config.xml
07/08/06 11:31:18 PortletContainer maximumTimeout set to '60' from adf-config.xml
07/08/06 11:31:18 PortletContainer resourceProxyPath set to '/resourceproxy' from adf-config.xml
Aug 6, 2007 11:31:20 AM oracle.adfinternal.view.faces.application.ViewHandlerImpl _checkTimestamp
INFO: ADF Faces is running with time-stamp checking enabled. This should not be used in a production environment. See the oracle.adf.view.faces.CHECK_FILE_MODIFICATION property in WEB-INF/web.xml
Aug 6, 2007 11:31:20 AM oracle.portlet.client.utils.PortletLogger info
INFO: Portlet Client MBeans registered
Aug 6, 2007 11:31:25 AM oracle.adfinternal.view.faces.renderkit.html.portlet.PortletRenderer preRender
SEVERE: oracle.adf.model.portlet.binding.PortletBindingException: Unable to get portlet response (Internal Error) for portlet binding ADFFacesDemoPortlet11_1
at oracle.adf.model.portlet.binding.PortletBinding.getPortletRendition(PortletBinding.java:514)
at oracle.adfinternal.view.faces.renderkit.html.portlet.PortletRenderer.preRender(PortletRenderer.java:417)
at oracle.adfinternal.view.faces.renderkit.html.customizable.ShowDetailFrameRenderer.encodeBegin(ShowDetailFrameRenderer.java:227)
at oracle.adf.view.faces.component.UIXComponentBase.encodeBegin(UIXComponentBase.java:593)
at oracle.adfinternal.view.faces.renderkit.RenderUtils.encodeRecursive(RenderUtils.java:39)
at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRenderer.java:242)
at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeAllChildren(CoreRenderer.java:265)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:65)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:117)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:147)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:60)
at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRenderer.java:169)
at oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)
at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:645)
at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:568)
at oracle.adf.view.faces.webapp.UIXComponentTag.doEndTag(UIXComponentTag.java:100)
at test1.jspService(_test1.java:122)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:598)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:522)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:712)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:286)
at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:50)
at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:192)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:197)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:620)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
at java.lang.Thread.run(Thread.java:595)
Caused by: oracle.portlet.client.container.PortletRemoteException: oracle.portlet.server.container.OperationFailedException: oracle.portlet.wsrp.v1.OperationFailedException: oracle.portlet.wsrp.v1.soap.OperationFailed
at oracle.portlet.client.techimpl.wsrp.WSRPBaseTerminalPipe.processException(WSRPBaseTerminalPipe.java:37)
at oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.execute(WSRPGetMarkupPipe.java:185)
at oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.pre(WSRPGetMarkupPipe.java:52)
at oracle.portlet.client.service.pipeline.PipeContext.internalExecute2(PipeContext.java:516)
at oracle.portlet.client.service.pipeline.PipeContext.internalExecute(PipeContext.java:403)
at oracle.portlet.client.service.pipeline.PipeContextRunnable.run(PipeContextRunnable.java:24)
at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431)
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
at oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.runTask(ModifiedThreadPoolExecutor.java:398)
at oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.run(ModifiedThreadPoolExecutor.java:423)
... 1 more
Caused by: oracle.portlet.server.container.OperationFailedException: oracle.portlet.wsrp.v1.OperationFailedException: oracle.portlet.wsrp.v1.soap.OperationFailed
at oracle.portlet.wsrp.v1.ServerToWSRPv1.getMarkup(ServerToWSRPv1.java:1093)
at oracle.portlet.client.connection.wsrp.ActivityServerWrapper.getMarkup(ActivityServerWrapper.java:1330)
at oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.execute(WSRPGetMarkupPipe.java:116)
... 9 more
Caused by: oracle.portlet.wsrp.v1.OperationFailedException: oracle.portlet.wsrp.v1.soap.OperationFailed
at oracle.portlet.wsrp.v1.WSRP_v1_Markup_PortTypeJaxbToSoap.getMarkup(WSRP_v1_Markup_PortTypeJaxbToSoap.java:101)
at oracle.portlet.wsrp.v1.ServerToWSRPv1.getMarkup(ServerToWSRPv1.java:977)
... 11 more
Caused by: oracle.portlet.wsrp.v1.soap.OperationFailed
at oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_Markup_PortType_getMarkup_Fault_SOAPSerializer.deserializeDetail(WSRP_v1_Markup_PortType_getMarkup_Fault_SOAPSerializer.java:269)
at oracle.j2ee.ws.common.encoding.SOAPFaultInfoSerializer.doDeserializeSOAP11(SOAPFaultInfoSerializer.java:132)
at oracle.j2ee.ws.common.encoding.SOAPFaultInfoSerializer.doDeserialize(SOAPFaultInfoSerializer.java:94)
at oracle.j2ee.ws.common.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:180)
at oracle.j2ee.ws.common.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:147)
at oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_Markup_Binding_SOAP_Stub._readBodyFaultElement(WSRP_v1_Markup_Binding_SOAP_Stub.java:456)
at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:321)
at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
at oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_Markup_Binding_SOAP_Stub.getMarkup(WSRP_v1_Markup_Binding_SOAP_Stub.java:76)
at oracle.portlet.wsrp.v1.WSRP_v1_Markup_PortTypeJaxbToSoap.getMarkup(WSRP_v1_Markup_PortTypeJaxbToSoap.java:78)
... 12 more
Then I tried to deploy the test1.jsp as a WAR file in the webcenter OC4J and tried this URL
http://localhost:6688/AdfFacesDemoTest1/test1.jsp
but it gave me this error
500 Internal Server Error
Servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.
When I tried this URL I got a diffrent error. Googling this did not help at all
http://localhost:6688/AdfFacesDemoTest1/faces/test1.jsp
07/08/06 11:33:26 PortletContainer portletTechnologies set to '{oracle.portlet.client.containerimpl.web.WebPortletTechnologyConfig,oracle.portlet.client.containerimpl.wsrp.WSRPPortletTechnologyConfig}' from adf-config.xml
07/08/06 11:33:26 PortletContainer defaultTimeout set to '20' from adf-config.xml
07/08/06 11:33:26 PortletContainer minimumTimeout set to '1' from adf-config.xml
07/08/06 11:33:26 PortletContainer maximumTimeout set to '60' from adf-config.xml
07/08/06 11:33:26 PortletContainer resourceProxyPath set to '/resourceproxy' from adf-config.xml
2007-08-06 11:33:58.843 ERROR oracle.portlet.client.persistence.PersistenceNotFoundException: mdsId=/oracle/adf/portlet/AdfFacesDemoProducer_1186417722625/ap/E0default_3c036e4c_0114_1000_8003_83e15f750fa7.pxml not found
at oracle.portlet.client.persistenceimpl.mds.MDSPersistenceContext.get(MDSPersistenceContext.java:587)
at oracle.portlet.client.beanimpl.persistence.PersistenceBeanFactory.getExisting(PersistenceBeanFactory.java:226)
at oracle.portlet.client.beanimpl.persistence.PersistenceBeanContext.getExisting(PersistenceBeanContext.java:83)
at oracle.portlet.client.containerimpl.PublicFactoryImpl.get(PublicFactoryImpl.java:248)
at oracle.portlet.client.containerimpl.PublicFactoryImpl.get(PublicFactoryImpl.java:258)
at oracle.portlet.client.containerimpl.PortletContainerImpl.getPortlet(PortletContainerImpl.java:227)
at oracle.adf.model.portlet.binding.PortletBinding.prepareModel(PortletBinding.java:801)
at oracle.adf.model.portlet.binding.PortletBinding.refresh(PortletBinding.java:606)
at oracle.adf.model.binding.DCBindingContainerDef$1RegionBindingAdapter.refresh(DCBindingContainerDef.java:1011)
at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:2455)
at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2260)
at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:99)
at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareModel(FacesPageLifecycle.java:73)
at oracle.adf.controller.v2.lifecycle.Lifecycle$8.execute(Lifecycle.java:210)
at oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java:29)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener$4.after(ADFPhaseListener.java:327)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:90)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:254)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:620)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: oracle.mds.core.MetadataNotFoundException: No metadata found for metadata object "/oracle/adf/portlet/AdfFacesDemoProducer_1186417722625/ap/E0default_3c036e4c_0114_1000_8003_83e15f750fa7.pxml"
at oracle.mds.core.MetadataObject.getBaseMO(Unknown Source)
at oracle.mds.core.MDSSession.getBaseMO(Unknown Source)
at oracle.mds.core.MDSSession.getMutableMO(Unknown Source)
at oracle.portlet.client.persistenceimpl.mds.MDSPersistenceContext.getBaseMutableMO(MDSPersistenceContext.java:1143)
at oracle.portlet.client.persistenceimpl.mds.MDSPersistenceContext.get(MDSPersistenceContext.java:577)
... 40 more
Here is my portlet.xml in ui project
<?xml version="1.0" encoding="ISO-8859-1"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
<portlet>
<description>ADF Faces Demo Portlet 1</description>
<portlet-name>ADFFacesDemo1</portlet-name>
<display-name>ADF Faces Demo portlet 1</display-name>
<portlet-class>oracle.portlet.server.bridges.jsf.FacesPortlet
</portlet-class>
<init-param>
<name>DefaultPage.view</name>
<value>/untitled1.jsp</value>
</init-param>
<init-param>
<name>BridgeLifecycleListeners</name>
<value>
oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener,
oracle.portlet.server.bridges.jsf.adf.BindingFacesBridgeLifecycleListener
</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>ADF Faces Demo Portlet 1</title>
<short-title>ADFFacesDemo1</short-title>
</portlet-info>
</portlet>
</portlet-app>
web.xml in ui project (where the AFD application is)
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<description>Empty web.xml file for Web Application</description>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>35</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
</web-app>
web.xml in test1 project (where portlet producer is registered)
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<description>Empty web.xml file for Web Application</description>
<context-param>
<param-name>CpxFileName</param-name>
<param-value>test1.DataBindings</param-value>
</context-param>
<context-param>
<param-name>oracle.mds.web-app-root</param-name>
<param-value>/test1/public_html</param-value>
</context-param>
<context-param>
<param-name>oracle.adf.view.faces.CHANGE_PERSISTENCE</param-name>
<param-value>oracle.adfinternal.view.faces.change.HybridChangeManager</param-value>
</context-param>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter>
<filter-name>adfBindings</filter-name>
<filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
</filter>
<filter>
<filter-name>mdsFilter</filter-name>
<filter-class>oracle.mds.jsp.MDSJSPFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<servlet-name>resourceproxy</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<servlet-name>adfportlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>mdsFilter</filter-name>
<servlet-name>jsp2</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>adfportlet</servlet-name>
<servlet-class>oracle.adfinternal.view.faces.renderkit.html.portlet.ADFPortletServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resourceproxy</servlet-name>
<servlet-class>oracle.portlet.client.resourceproxy.adf.ADFPortletResourceServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>jsp2</servlet-name>
<servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class>
<init-param>
<param-name>tags_reuse_default</param-name>
<param-value>none</param-value>
</init-param>
<init-param>
<param-name>check_page_scope</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>debug_mode</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>page_provider</param-name>
<param-value>oracle.mds.jsp.MDSJSPProvider</param-value>
</init-param>
<init-param>
<param-name>page_repository</param-name>
<param-value>oracle.mds.jsp.MDSJSPProvider</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>adfportlet</servlet-name>
<url-pattern>/adfportlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>adfportlet</servlet-name>
<url-pattern>/adfportletfullpage</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resourceproxy</servlet-name>
<url-pattern>/resourceproxy</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp2</servlet-name>
<url-pattern>/*.jspx</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>35</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<service-ref xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<service-ref-name>service/WSRPServiceRefV1</service-ref-name>
<service-interface>javax.xml.rpc.Service</service-interface>
<wsdl-file>WEB-INF/wsdl/WSRP_v1_Service.wsdl</wsdl-file>
<jaxrpc-mapping-file>WEB-INF/WSRP_v1_Service-java-wsdl-mapping.xml</jaxrpc-mapping-file>
<service-qname xmlns:service-qname_ns__="urn:oasis:names:tc:wsrp:v1:wsdl">service-qname_ns__:WSRP_v1_Service</service-qname>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v1.soap.WSRP_v1_Markup_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v1.soap.WSRP_v1_ServiceDescription_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v1.soap.WSRP_v1_Registration_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v1.soap.WSRP_v1_PortletManagement_PortType</service-endpoint-interface>
</port-component-ref>
</service-ref>
<service-ref xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<service-ref-name>service/WSRPServiceRefV2</service-ref-name>
<service-interface>javax.xml.rpc.Service</service-interface>
<wsdl-file>WEB-INF/wsdl/WSRP_v2_Service.wsdl</wsdl-file>
<jaxrpc-mapping-file>WEB-INF/WSRP_v2_Service-java-wsdl-mapping.xml</jaxrpc-mapping-file>
<service-qname xmlns:service-qname_ns__="urn:oasis:names:tc:wsrp:v2:wsdl">service-qname_ns__:WSRP_v2_Service</service-qname>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v2.soap.WSRP_v2_Markup_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v2.soap.WSRP_v2_ServiceDescription_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v2.soap.WSRP_v2_Registration_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v2.soap.WSRP_v2_PortletManagement_PortType</service-endpoint-interface>
</port-component-ref>
</service-ref>
</web-app>
Can anyone help please
regards
VijayHello dvohra,
Thanks for the reply but I have done everything before I posted my message on this forum
1. Is the Portlet Faces Bridge library in the project libraries?
yes in both test1 project and ui project. ui project is where the ADF application is and test1 is where the producer is registered
2. I sent the web.xml earlier in the forum. Yes it include the tags
here is it again
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<description>Empty web.xml file for Web Application</description>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter>
<filter-name>adfBindings</filter-name>
<filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>35</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
</web-app>
3. Yes it include that tag also. Please see the web.xml I pasted above
4. Yes I deployed it as the simple WAR file and NEVER as a WebCenter Application WAR
I am assuming that when you refer to web.xml you refer to the one in my ui project where the ADF application is . There is another web.xml file in test1 project where I try to test the portlet. That web.xml is also pasted in my earlier blog
Any other idea ?
thanks a lot
Vijay
______________________________________________________________________ -
Page definition is not found while running JSR286 portlet in WebCenter app
Hi All,
I have ADF application which has 3 different task flows 1. my service 2. my car 3. my bike.
which I have placed into a single bounded task flow called repairTaskflow.
I have created a JSR286 portlet out of a repairTaskflow. I am trying to consume it in an Webcenter application. When I place the portlet on to the page in Web center application
and run the page. I see the following error in the console.
oracle.jbo.NoDefException: JBO-25002: Definition ***.xxxx.view.pageDefs.applications_task_flow_applications_task_flow_CreateEmptyApplicationPageDef of type Form Binding Definition is not found.
at oracle.jbo.mom.DefinitionManager.findDefObjectUsingMetadataObject(DefinitionManager.java:2703)
at oracle.jbo.mom.DefinitionManager.findDefObjectUsingMetadataObject(DefinitionManager.java:2715)
at oracle.adf.model.binding.DCBindingContainerDef.findDefObject(DCBindingContainerDef.java:292)
at oracle.adf.model.binding.DCBindingContainerReference.getDef(DCBindingContainerReference.java:107)
at oracle.adf.model.BindingContext.findBindingContainerDefByPath(BindingContext.java:1624)
at oracle.adf.controller.internal.binding.RegionUtils.findOrCreateBindingContainer(RegionUtils.java:246)
at oracle.adfinternal.controller.util.model.DataBindingActivityImpl.getActivityBindingContainer(DataBindingActivityImpl.java:233)
at oracle.adfinternal.controller.util.model.DataBindingActivityImpl.beforeExecute(DataBindingActivityImpl.java:77)
at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:969)
at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:878)
at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:777)
at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:551)
at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:147)
at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:109)
at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:78)
at org.apache.myfaces.trinidadinternal.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:43)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:879)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:312)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185)
at org.apache.myfaces.portlet.faces.bridge.BridgeImpl.doFacesRender(BridgeImpl.java:1002)
Please find below the portlet.xml file
<portlet-app version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<portlet id="adf_taskflow_WEB_INF_test_task_flow_xml">
<description>test-task-flow</description>
<portlet-name>test-task-flow</portlet-name>
<display-name>test-task-flow</display-name>
<portlet-class>oracle.portlet.bridge.adf.application.ADFBridgePortlet</portlet-class>
<init-param>
<name>javax.portlet.faces.defaultViewId.view</name>
<value>/adf.task-flow?adf.tfDoc=/WEB-INF/adfp-portlet-bridge-container.xml&adf.tfId=adfp-portlet-bridge-container&_fragmentTaskFlowDoc=/WEB-INF/test-task-flow.xml&_fragmentTaskFlowId=test-task-flow</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>test-task-flow</title>
<short-title>test-task-flow</short-title>
</portlet-info>
<security-role-ref>
<role-name>valid-users</role-name>
</security-role-ref>
<container-runtime-option>
<name>com.oracle.portlet.requireIFrame</name>
<value>true</value>
</container-runtime-option>
<container-runtime-option>
<name>com.oracle.portlet.minimumWsrpVersion</name>
<value>2</value>
</container-runtime-option>
</portlet>
<portlet id="adf_taskflow_WEB_INF_single_task_flow_definition_xml">
<description>single-task-flow-definition</description>
<portlet-name>single-task-flow-definition</portlet-name>
<display-name>single-task-flow-definition</display-name>
<portlet-class>oracle.portlet.bridge.adf.application.ADFBridgePortlet</portlet-class>
<init-param>
<name>javax.portlet.faces.defaultViewId.view</name>
<value>/adf.task-flow?adf.tfDoc=/WEB-INF/adfp-portlet-bridge-container.xml&adf.tfId=adfp-portlet-bridge-container&_fragmentTaskFlowDoc=/WEB-INF/single-task-flow-definition.xml&_fragmentTaskFlowId=single-task-flow-definition</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>single-task-flow-definition</title>
<short-title>single-task-flow-definition</short-title>
</portlet-info>
<container-runtime-option>
<name>com.oracle.portlet.requireIFrame</name>
<value>true</value>
</container-runtime-option>
<container-runtime-option>
<name>com.oracle.portlet.minimumWsrpVersion</name>
<value>2</value>
</container-runtime-option>
</portlet>
<portlet id="adf_taskflow_WEB_INF_applications_task_flow_xml">
<description>applications-task-flow</description>
<portlet-name>applications-task-flow</portlet-name>
<display-name>applications-task-flow</display-name>
<portlet-class>oracle.portlet.bridge.adf.application.ADFBridgePortlet</portlet-class>
<init-param>
<name>javax.portlet.faces.defaultViewId.view</name>
<value>/adf.task-flow?adf.tfDoc=/WEB-INF/adfp-portlet-bridge-container.xml&adf.tfId=adfp-portlet-bridge-container&_fragmentTaskFlowDoc=/WEB-INF/applications-task-flow.xml&_fragmentTaskFlowId=applications-task-flow</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>applications-task-flow</title>
<short-title>applications-task-flow</short-title>
</portlet-info>
<container-runtime-option>
<name>com.oracle.portlet.requireIFrame</name>
<value>true</value>
</container-runtime-option>
<container-runtime-option>
<name>com.oracle.portlet.minimumWsrpVersion</name>
<value>2</value>
</container-runtime-option>
</portlet>
<custom-portlet-mode>
<portlet-mode>about</portlet-mode>
</custom-portlet-mode>
<custom-portlet-mode>
<portlet-mode>config</portlet-mode>
</custom-portlet-mode>
<custom-portlet-mode>
<portlet-mode>edit_defaults</portlet-mode>
</custom-portlet-mode>
<custom-portlet-mode>
<portlet-mode>preview</portlet-mode>
</custom-portlet-mode>
<custom-portlet-mode>
<portlet-mode>print</portlet-mode>
</custom-portlet-mode>
</portlet-app> In all the 3 task flow there is at least one method activity placed either as the default activity or part of activities.
In service page taskflow the default activity is a method activity. If I convert the service-task-flow alone as a portlet, it failed. showing the similar error : pagedef not found.
Then I created the portlet out of car task-flow whose default activity is a page. This time I can view the portlet, the car list page. Once I click create button on that page which again goes through a method activity, then it failed showing the error mentioned above
It seems where ever there are method activities on the taskflow, the portlet cannot find the pagedef and its throwing error . I have cross checked the deployed war file and all the pagedef's are bundled into it.
Any suggestions are much appreciated.
Thanks,
Morgan.
Edited by: Morgan Freeman on Aug 19, 2011 3:27 AM
Edited by: Morgan Freeman on Aug 19, 2011 3:30 AM
Edited by: Morgan Freeman on Aug 19, 2011 6:02 AMHi All,
I solved this issue. The path of pagedef files was not recognized when I publish the taskflows as portlets. Though it runs when I place it as a region on jspx file.
The folder structure where I placed pagedefs earlier was some thing like this in ViewController -> Application Resources
com.mycomp.view.pagedefs
When I wanted to consume the portlet in the portal application, all the pagedefs under this path were not visible to the portlet.
Once I change the pagedef folder to the immediate folder after the Application Resources, it found all the pagedefs
Now my folder structure in ViewController -> Application Resources
view.pagedefs
Is this a bug? or Am I missing some thing.
Thanks,
Morgan. -
Problem in navigation of portletized JSf application using ADF on portal
Hi All,
I am implementing a simple scenario wherein i have an ADF Business Component (a simple drop down) and a command button. On click of the button, there is a navigation from one jsp to another.
I am able to portletize a simple application using ADF Business Component.It runs fine when run on local.
But when i put it on portal, navigation does not work.the control is not transferred to the method of backing bean.It is not showing loggers either.
jdev version :10.1.3.3
oracle portal :10.1.4
Standalone OC4j : 10.1.3
If any one has working model of this, can you pls post the files used.
Also , if anyone has work around for same, it will be helpful.Thanks.
Portlet.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<portlet-app version="1.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
id="com.vodacom.portlet.ServiceFaultPortlet.af7cec80b0013456">
<portlet>
<portlet-name>ServiceFault</portlet-name>
<display-name>ServiceFault</display-name>
<portlet-class>oracle.portlet.server.bridges.jsf.FacesPortlet</portlet-class>
<init-param>
<name>DefaultPage.view</name>
<value>/index.jspx</value>
</init-param>
<init-param>
<name>BridgeLifecycleListeners</name>
<value>
oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener,oracle.portlet.server.bridges.jsf.adf.BindingFacesBridgeLifecycleListener
</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>Service Faults</title>
<short-title>Service Faults</short-title>
</portlet-info>
</portlet>
</portlet-app>
faces-config.xml
<?xml version="1.0" encoding="windows-1252"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config xmlns="http://java.sun.com/JSF/Configuration">
<managed-bean>
<managed-bean-name>Index</managed-bean-name>
<managed-bean-class>view.backing.Index</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<!--oracle-jdev-comment:managed-bean-jsp-link:1index.jspx-->
</managed-bean>
<lifecycle>
<phase-listener>oracle.adf.controller.faces.lifecycle.ADFPhaseListener</phase-listener>
</lifecycle>
<application>
<default-render-kit-id>oracle.adf.core</default-render-kit-id>
</application>
<navigation-rule>
<from-view-id>/index.jspx</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/welcome.jspx</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
web.xml
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<description>Empty web.xml file for Web Application</description>
<context-param>
<param-name>javax.faces.application.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml,/WEB-INF/portlet.xml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>CpxFileName</param-name>
<param-value>view.DataBindings</param-value>
</context-param>
<filter>
<filter-name>adfBindings</filter-name>
<filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
</filter>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>35</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
</web-app>
Regards,
Alpa
Message was edited by:
user648923
Message was edited by:
user648923Hi deepak,
I have post the same message in web center forum.The link for the same is :
Re: Navigation problem in JSF portlet when using ADF
Also i had seen that post and had tried some solutions provided.Nothing worked for me.And i am using portlet faces bridge provided by oracle in jdeveloper 10.1.3.3 version.
Regards,
Alpa -
Navigation problem in JSF portlet when using ADF
Hi All,
I am implementing a simple scenario wherein i have an ADF Business Component (a simple drop down) and a command button. On click of the button, there is a navigation from one jsp to another.
I am able to portletize a simple application using ADF Business Component.It runs fine when run on local.
But when i put it on portal, navigation does not work.the control is not transferred to the method of backing bean.It is not showing loggers either.
jdev version :10.1.3.3
oracle portal :10.1.4
Standalone OC4j : 10.1.3
If any one has working model of this, can you pls post the files used.
Also , if anyone has work around for same, it will be helpful.Thanks.
Portlet.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<portlet-app version="1.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
id="com.vodacom.portlet.ServiceFaultPortlet.af7cec80b0013456">
<portlet>
<portlet-name>ServiceFault</portlet-name>
<display-name>ServiceFault</display-name>
<portlet-class>oracle.portlet.server.bridges.jsf.FacesPortlet</portlet-class>
<init-param>
<name>DefaultPage.view</name>
<value>/index.jspx</value>
</init-param>
<init-param>
<name>BridgeLifecycleListeners</name>
<value>
oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener,oracle.portlet.server.bridges.jsf.adf.BindingFacesBridgeLifecycleListener
</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>Service Faults</title>
<short-title>Service Faults</short-title>
</portlet-info>
</portlet>
</portlet-app>
faces-config.xml
<?xml version="1.0" encoding="windows-1252"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config xmlns="http://java.sun.com/JSF/Configuration">
<managed-bean>
<managed-bean-name>Index</managed-bean-name>
<managed-bean-class>view.backing.Index</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<!--oracle-jdev-comment:managed-bean-jsp-link:1index.jspx-->
</managed-bean>
<lifecycle>
<phase-listener>oracle.adf.controller.faces.lifecycle.ADFPhaseListener</phase-listener>
</lifecycle>
<application>
<default-render-kit-id>oracle.adf.core</default-render-kit-id>
</application>
<navigation-rule>
<from-view-id>/index.jspx</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/welcome.jspx</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
web.xml
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<description>Empty web.xml file for Web Application</description>
<context-param>
<param-name>javax.faces.application.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml,/WEB-INF/portlet.xml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>CpxFileName</param-name>
<param-value>view.DataBindings</param-value>
</context-param>
<filter>
<filter-name>adfBindings</filter-name>
<filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
</filter>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>35</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
</web-app>
Regards,
AlpaHi George,
can u brief me on what exactly do you need ?
I am implementing a simple POC wherein i have made a ADF business component (which is just a DB fetch ) and i am dragging the same on index.jspx page.I have a command button on the same page which when clicked directs me to welcome.jspx.(it first goes to managed bean and returns success.)
And i am portletising this .. all this works fine on local ... even on portletising it runs fine .. But when i register this portlet on oracle portal .. navigation between index.jspx and welcome.jspx does not work.
If you need more inputs,let me knw.I have uploaded configuration files in my previous post.Also i am not getting any error when i am trying to make it work on portal..
Regards,
Alpa -
IsUserInRole from WC Portal to consumed JSF Portlet
Hi experts,
I'm trying to retrieve, the J2EE Roles [ Enterprise Roles a.k.a Security Realm "Groups" of a logged in user ]
from from consumer Webcenter Portal Application into a Producer JSF Portlet.I have seen there were many posts mentioning that this isUserInRole method always return false. I'm also facing the same problem.
My configurations are following -
Portlet Producer App
web.xml
<security-role>
<description>RelationManager</description>
<role-name>RM</role-name>
</security-role>
<security-role>
<description>Team Leader</description>
<role-name>TL</role-name>
</security-role>
portlet.xml
<security-role-ref>
<role-name>RM</role-name>
<role-link>RM</role-link>
</security-role-ref>
weblogic.xml /* Have tried with & without creating this descriptor, but no luck */
<security-role-assignment>
<role-name>RM</role-name>
<principal-name>RM</principal-name> /* I have defined a weblogic group by the name "RM" within defaultAuthenticator and assigned testUser to it. */
</security-role-assignment>
WC Consumer PortalApp
web.xml
<security-role>
<role-name>RM</role-name>
</security-role>
weblogic.xml
<security-role-assignment>
<role-name>RM</role-name>
<principal-name>RM</principal-name> /* Since its the same WLS Server the same group as above will hold good */
</security-role-assignment>
+ I have done the mapping of UserGroups of the Portlets to J2EE Roles of Webcenter Portal consumer during Portlet Registration process.
I have a requestScoped managedBean within my JSFPortlet where I'm retrieving the user Principal and Roles -
public String getLoggedInUser() {
FacesContext facesContext = FacesContext.
getCurrentInstance();
ExternalContext ectx = facesContext.getExternalContext();
PortletRequest portletRequest = (PortletRequest)ectx.getRequest();
return ( portletRequest.getUserPrincipal().getName());
public String getPortletUserRole(){
FacesContext facesContext = FacesContext. getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
PortletRequest portletRequest = (PortletRequest)externalContext.getRequest();
if ( portletRequest.isUserInRole ("RM") == true ) return "RM" ;
else return "";
Results :
The getLoggedInUser returns ""
And so does the getPortletUserRole method.
What am I missing and whether this is the correct approach to get the userRoles from PortalApp to Portlet.
Env: JDEV 11.1.1.5 , Integrated WLS
Note: I haven't done any configuration related to WS-Security between Portal App and Portlet App,_ since both are deployed to the same integrated Server.
-RejuIf you haven't already you have to perform user category mapping between the portal roles to portlet roles.
This can be achieved using WLST scripts.
Thanks.
Micah C. -
Portletizing ADF Faces - Portlet Unavailable - Is there a Working Sample?
Hi,
It seems I have run into a similar issue as some people before me. I have watched all samples, read all relevant forum threads and yet I cannot solve my problem.
I have created a very simple ADF Faces applications that uses DataBinding - it displays records from a database table in an af:table component based on ADF BC. I have created the page, added the Portlet Faces Bridge library to the project, created the portlet.xml, copied and pasted and configured the Portlet.xml contents for my Portlet. Deployment is to a local yet standalone WebCenter containing OC4J instance. Note: deploying to the preconfigured OC4J also did not work.
When I register the Portletproducer, consume the portlet in an otherwise empty JSF page and run that page, I get the Portlet Unavailable message in the page. The error log is shown below.
I am wondering where to go from here, what can I try to analyze? And also: is there a working sample available for download of an ADF Faces based portlet that can successfully be consumed by an application?
portlet.xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<portlet-app version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
<portlet>
<description>Publisher List Portlet</description>
<portlet-name>Publist</portlet-name>
<display-name>Publisher List Portlet</display-name>
<portlet-class>oracle.portlet.server.bridges.jsf.FacesPortlet
</portlet-class>
<init-param>
<name>DefaultPage.view</name>
<value>/PublisherList.jspx</value>
</init-param>
<init-param>
<name>BridgeLifecycleListeners</name>
<value>
oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener,
oracle.portlet.server.bridges.jsf.adf.BindingFacesBridgeLifecycleListener
</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>Publisher List Portlet</title>
<short-title>PubList</short-title>
</portlet-info>
</portlet>
</portlet-app>Error log:
INFO: Using the ProviderURI /mdssys/ViewController/public_html/untitled1.jspx that is returned from custom provider for processing requests.
07/03/29 13:31:14 java.net.SocketTimeoutException: Read timed out
07/03/29 13:31:14 at java.net.SocketInputStream.socketRead0(Native Method)
07/03/29 13:31:14 at java.net.SocketInputStream.read(SocketInputStream.java:129)
07/03/29 13:31:14 at HTTPClient.BufferedInputStream.fillBuff(BufferedInputStream.java:192)
07/03/29 13:31:14 at HTTPClient.BufferedInputStream.read(BufferedInputStream.java:112)
07/03/29 13:31:14 at HTTPClient.StreamDemultiplexor.read(StreamDemultiplexor.java:322)
07/03/29 13:31:14 at HTTPClient.RespInputStream.read(RespInputStream.java:170)
07/03/29 13:31:14 at HTTPClient.RespInputStream.read(RespInputStream.java:129)
Mar 29, 2007 1:31:14 PM oracle.portlet.client.utils.PortletLogger warning
WARNING: Timing out task: [email protected]
07/03/29 13:31:14 at HTTPClient.Response.readResponseHeaders(Response.java:1002)
07/03/29 13:31:14 at HTTPClient.Response.getHeaders(Response.java:718)
07/03/29 13:31:14 at HTTPClient.Response.getStatusCode(Response.java:268)
07/03/29 13:31:14 at HTTPClient.RetryModule.responsePhase1Handler(RetryModule.java:92)
07/03/29 13:31:14 at HTTPClient.HTTPResponse.handleResponse(HTTPResponse.java:771)
07/03/29 13:31:14 at HTTPClient.HTTPResponse.getStatusCode(HTTPResponse.java:204)
07/03/29 13:31:14 at oracle.portlet.client.connection.wsrp.HTTPClientTransport.invoke(HTTPClientTransport.java:178)
07/03/29 13:31:14 at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:175)
07/03/29 13:31:14 at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
07/03/29 13:31:14 at oracle.portlet.wsrp.v2.soap.runtime.WSRP_v2_Markup_Binding_SOAP_Stub.getMarkup(WSRP_v2_Markup_Binding_SOAP_Stub.java:238)
07/03/29 13:31:14 at oracle.portlet.wsrp.v2.WSRP_v2_Markup_PortTypeJaxbToSoap.getMarkup(WSRP_v2_Markup_PortTypeJaxbToSoap.java:80)
07/03/29 13:31:14 at oracle.portlet.wsrp.v2.ServerToWSRPv2.getMarkup(ServerToWSRPv2.java:13461)
07/03/29 13:31:14 at oracle.portlet.client.connection.wsrp.ActivityServerWrapper.getMarkup(ActivityServerWrapper.java:1330)
07/03/29 13:31:14 at oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.execute(WSRPGetMarkupPipe.java:116)
07/03/29 13:31:14 at oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.pre(WSRPGetMarkupPipe.java:52)
07/03/29 13:31:14 at oracle.portlet.client.service.pipeline.PipeContext.internalExecute2(PipeContext.java:516)
07/03/29 13:31:14 at oracle.portlet.client.service.pipeline.PipeContext.internalExecute(PipeContext.java:403)
07/03/29 13:31:14 at oracle.portlet.client.service.pipeline.PipeContextRunnable.run(PipeContextRunnable.java:24)
07/03/29 13:31:14 at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431)
07/03/29 13:31:14 at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
07/03/29 13:31:14 at oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.runTask(ModifiedThreadPoolExecutor.java:398)
07/03/29 13:31:14 at oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.run(ModifiedThreadPoolExecutor.java:423)
07/03/29 13:31:14 at java.lang.Thread.run(Thread.java:595)
Mar 29, 2007 1:31:14 PM oracle.adfinternal.view.faces.renderkit.html.portlet.PortletRenderer preRender
SEVERE: oracle.adf.model.portlet.binding.PortletBindingException: Unable to get portlet response (time-out) for portlet binding PublisherListPortlet1_1.
at oracle.adf.model.portlet.binding.PortletBinding.getPortletRendition(PortletBinding.java:471)
at oracle.adfinternal.view.faces.renderkit.html.portlet.PortletRenderer.preRender(PortletRenderer.java:417)
at oracle.adfinternal.view.faces.renderkit.html.customizable.ShowDetailFrameRenderer.encodeBegin(ShowDetailFrameRenderer.java:227)
at oracle.adf.view.faces.component.UIXComponentBase.encodeBegin(UIXComponentBase.java:593)
at oracle.adfinternal.view.faces.renderkit.RenderUtils.encodeRecursive(RenderUtils.java:39)
at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRenderer.java:242)
at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeAllChildren(CoreRenderer.java:265)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:65)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:117)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:147)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:60)
at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRenderer.java:169)
at oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)
at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:645)
at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:568)
at oracle.adf.view.faces.webapp.UIXComponentTag.doEndTag(UIXComponentTag.java:100)
at mdssys.viewcontroller._public__html._untitled1_jspx._jspService(_untitled1_jspx.java:102)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:724)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:414)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:598)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:522)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.mds.jsp.MDSJSPFilter.doFilter(Unknown Source)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:622)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:286)
at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:50)
at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:192)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:197)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:620)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
at java.lang.Thread.run(Thread.java:595)
Caused by: oracle.portlet.client.container.PortletTimeoutException
at oracle.portlet.client.service.pipeline.PipeContext.handleTimeout(PipeContext.java:1040)
at oracle.portlet.client.service.pipeline.PipeContextRunnable.doTimeout(PipeContextRunnable.java:42)
at oracle.portlet.client.service.pipeline.TimeoutMonitor$TaskTracker.stopTask(TimeoutMonitor.java:304)
at oracle.portlet.client.service.pipeline.TimeoutMonitor$1.run(TimeoutMonitor.java:240)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)Thanks for any help!
LucasHello
I am trying to portlize an hello world ADF application but am unable to do so because of the situation describe below. I have tried all the options given on this post but nothing seems to resolve the issue.
I have followed the instructions of portelizing at http://download-east.oracle.com/otndocs/tech/webcenter/files/owcs_10132_bridge_viewlet.html
A simple portlets without AFD works fine in oc4h or webcenter or jboss, but when I include ADF in the project then none of the application server or the container works
I am using jdeveloper 10.1.3.2.0 and the embedded webcenter oc4j for this test
I have two projects
1) ui where the ADF appplication is and
2) test1 where the producer is registered and is tested
In ui I have a simple jsp page untitled1.jsp with just one adf component (ADF Command Link)
Here is the source of untitled1.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/portlet" prefix="adfp"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/customizable" prefix="cust"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh"%>
<f:view>
<afh:html binding="#{backing_untitled1.html1}" id="html1">
<afh:head title="Pixel Home" binding="#{backing_untitled1.head1}"
id="head1">
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252"/>
<style type="text/css">
body {
background-color: #ffffff;
a:link { color: #2121ff; }
</style>
</afh:head>
<afh:body binding="#{backing_untitled1.body1}" id="body1">
<h:form binding="#{backing_untitled1.form1}" id="form1">
<af:commandLink text="commandLink 1"
binding="#{backing_untitled1.commandLink1}"
id="commandLink1"/>
</h:form>
</afh:body>
</afh:html>
</f:view>
After deploying this in webcenter I can see the WSDL page
http://localhost:6688/AdfFacesDemo1/portlets/wsrp1?WSDL
<?xml version = '1.0' encoding = 'UTF-8'?>
<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:bind="urn:oasis:names:tc:wsrp:v1:bind" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:oasis:names:tc:wsrp:v1:wsdl">
<import namespace="urn:oasis:names:tc:wsrp:v1:bind" location="wsrp_v1_bindings.wsdl"/>
<wsdl:service name="WSRP_v1_Service">
<wsdl:port binding="bind:WSRP_v1_Markup_Binding_SOAP" name="WSRPBaseService">
<soap:address location="http://localhost:6688/AdfFacesDemo1/portlets/WSRPBaseService"/>
</wsdl:port>
<wsdl:port binding="bind:WSRP_v1_ServiceDescription_Binding_SOAP" name="WSRPServiceDescriptionService">
<soap:address location="http://localhost:6688/AdfFacesDemo1/portlets/WSRPServiceDescriptionService"/>
</wsdl:port>
<wsdl:port binding="bind:WSRP_v1_Registration_Binding_SOAP" name="WSRPRegistrationService">
<soap:address location="http://localhost:6688/AdfFacesDemo1/portlets/WSRPRegistrationService"/>
</wsdl:port>
<wsdl:port binding="bind:WSRP_v1_PortletManagement_Binding_SOAP" name="WSRPPortletManagementService">
<soap:address location="http://localhost:6688/AdfFacesDemo1/portlets/WSRPPortletManagementService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
In test1 project I have a simple jsp page test1.jsp and here is the source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/portlet" prefix="adfp"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/customizable" prefix="cust"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh"%>
<f:view>
<afh:html binding="#{backing_test1.html1}" id="html1">
<afh:head title="Pixel Home" binding="#{backing_test1.head1}" id="head1">
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252"/>
<style type="text/css">
body {
background-color: #ffffff;
a:link { color: #2121ff; }
</style>
</afh:head>
<afh:body binding="#{backing_test1.body1}" id="body1">
<h:form binding="#{backing_test1.form1}" id="form1">
<adfp:portlet value="#{bindings.ADFFacesDemoPortlet11_1}"
portletType="/oracle/adf/portlet/AdfFacesDemoProducer_1186417722625/ap/E0default_3c036e4c_0114_1000_8003_83e15f750fa7"
id="portlet1" binding="#{backing_test1.portlet1}"/>
</h:form>
</afh:body>
</afh:html>
</f:view>
<%-- oracle-jdev-comment:auto-binding-backing-bean-name:backing_test1--%>
I have already registered a producer called[b] ADFFacesDemoProducer in test1 project with 300 sec as timeout. Now when I run the test1.jsp page in oc4j container I get the following error. I have tried all the options in this forum and nothing worked.
Target URL -- http://131.225.95.117:8988/PortletTest6-test1-context-root/faces/test1.jsp
07/08/06 11:31:04 Oracle Containers for J2EE 10g (10.1.3.1.1) initialized
Warning : Not able to reserve 2048M memory for the heap. Heap reduced to 890M
Aug 6, 2007 11:31:17 AM oracle.adf.share.config.ADFConfigFactory findOrCreateADFConfig
INFO: oracle.adf.share.config.ADFConfigFactory Reading META-INF/adf-config.xml
07/08/06 11:31:18 PortletContainer portletTechnologies set to '{oracle.portlet.client.containerimpl.web.WebPortletTechnologyConfig,oracle.portlet.client.containerimpl.wsrp.WSRPPortletTechnologyConfig}' from adf-config.xml
07/08/06 11:31:18 PortletContainer defaultTimeout set to '20' from adf-config.xml
07/08/06 11:31:18 PortletContainer minimumTimeout set to '1' from adf-config.xml
07/08/06 11:31:18 PortletContainer maximumTimeout set to '60' from adf-config.xml
07/08/06 11:31:18 PortletContainer resourceProxyPath set to '/resourceproxy' from adf-config.xml
Aug 6, 2007 11:31:20 AM oracle.adfinternal.view.faces.application.ViewHandlerImpl _checkTimestamp
INFO: ADF Faces is running with time-stamp checking enabled. This should not be used in a production environment. See the oracle.adf.view.faces.CHECK_FILE_MODIFICATION property in WEB-INF/web.xml
Aug 6, 2007 11:31:20 AM oracle.portlet.client.utils.PortletLogger info
INFO: Portlet Client MBeans registered
Aug 6, 2007 11:31:25 AM oracle.adfinternal.view.faces.renderkit.html.portlet.PortletRenderer preRender
SEVERE: oracle.adf.model.portlet.binding.PortletBindingException: Unable to get portlet response (Internal Error) for portlet binding ADFFacesDemoPortlet11_1
at oracle.adf.model.portlet.binding.PortletBinding.getPortletRendition(PortletBinding.java:514)
at oracle.adfinternal.view.faces.renderkit.html.portlet.PortletRenderer.preRender(PortletRenderer.java:417)
at oracle.adfinternal.view.faces.renderkit.html.customizable.ShowDetailFrameRenderer.encodeBegin(ShowDetailFrameRenderer.java:227)
at oracle.adf.view.faces.component.UIXComponentBase.encodeBegin(UIXComponentBase.java:593)
at oracle.adfinternal.view.faces.renderkit.RenderUtils.encodeRecursive(RenderUtils.java:39)
at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRenderer.java:242)
at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeAllChildren(CoreRenderer.java:265)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:65)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:117)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:147)
at oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:60)
at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRenderer.java:169)
at oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)
at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:645)
at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:568)
at oracle.adf.view.faces.webapp.UIXComponentTag.doEndTag(UIXComponentTag.java:100)
at test1.jspService(_test1.java:122)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:598)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:522)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:712)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:286)
at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:50)
at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:192)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:197)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:620)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
at java.lang.Thread.run(Thread.java:595)
Caused by: oracle.portlet.client.container.PortletRemoteException: oracle.portlet.server.container.OperationFailedException: oracle.portlet.wsrp.v1.OperationFailedException: oracle.portlet.wsrp.v1.soap.OperationFailed
at oracle.portlet.client.techimpl.wsrp.WSRPBaseTerminalPipe.processException(WSRPBaseTerminalPipe.java:37)
at oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.execute(WSRPGetMarkupPipe.java:185)
at oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.pre(WSRPGetMarkupPipe.java:52)
at oracle.portlet.client.service.pipeline.PipeContext.internalExecute2(PipeContext.java:516)
at oracle.portlet.client.service.pipeline.PipeContext.internalExecute(PipeContext.java:403)
at oracle.portlet.client.service.pipeline.PipeContextRunnable.run(PipeContextRunnable.java:24)
at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431)
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
at oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.runTask(ModifiedThreadPoolExecutor.java:398)
at oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.run(ModifiedThreadPoolExecutor.java:423)
... 1 more
Caused by: oracle.portlet.server.container.OperationFailedException: oracle.portlet.wsrp.v1.OperationFailedException: oracle.portlet.wsrp.v1.soap.OperationFailed
at oracle.portlet.wsrp.v1.ServerToWSRPv1.getMarkup(ServerToWSRPv1.java:1093)
at oracle.portlet.client.connection.wsrp.ActivityServerWrapper.getMarkup(ActivityServerWrapper.java:1330)
at oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.execute(WSRPGetMarkupPipe.java:116)
... 9 more
Caused by: oracle.portlet.wsrp.v1.OperationFailedException: oracle.portlet.wsrp.v1.soap.OperationFailed
at oracle.portlet.wsrp.v1.WSRP_v1_Markup_PortTypeJaxbToSoap.getMarkup(WSRP_v1_Markup_PortTypeJaxbToSoap.java:101)
at oracle.portlet.wsrp.v1.ServerToWSRPv1.getMarkup(ServerToWSRPv1.java:977)
... 11 more
Caused by: oracle.portlet.wsrp.v1.soap.OperationFailed
at oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_Markup_PortType_getMarkup_Fault_SOAPSerializer.deserializeDetail(WSRP_v1_Markup_PortType_getMarkup_Fault_SOAPSerializer.java:269)
at oracle.j2ee.ws.common.encoding.SOAPFaultInfoSerializer.doDeserializeSOAP11(SOAPFaultInfoSerializer.java:132)
at oracle.j2ee.ws.common.encoding.SOAPFaultInfoSerializer.doDeserialize(SOAPFaultInfoSerializer.java:94)
at oracle.j2ee.ws.common.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:180)
at oracle.j2ee.ws.common.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:147)
at oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_Markup_Binding_SOAP_Stub._readBodyFaultElement(WSRP_v1_Markup_Binding_SOAP_Stub.java:456)
at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:321)
at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
at oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_Markup_Binding_SOAP_Stub.getMarkup(WSRP_v1_Markup_Binding_SOAP_Stub.java:76)
at oracle.portlet.wsrp.v1.WSRP_v1_Markup_PortTypeJaxbToSoap.getMarkup(WSRP_v1_Markup_PortTypeJaxbToSoap.java:78)
... 12 more
Then I tried to deploy the test1.jsp as a WAR file in the webcenter OC4J and tried this URL
http://localhost:6688/AdfFacesDemoTest1/test1.jsp
but it gave me this error
500 Internal Server Error
Servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.
When I tried this URL I got a diffrent error. Googling this did not help at all
http://localhost:6688/AdfFacesDemoTest1/faces/test1.jsp
07/08/06 11:33:26 PortletContainer portletTechnologies set to '{oracle.portlet.client.containerimpl.web.WebPortletTechnologyConfig,oracle.portlet.client.containerimpl.wsrp.WSRPPortletTechnologyConfig}' from adf-config.xml
07/08/06 11:33:26 PortletContainer defaultTimeout set to '20' from adf-config.xml
07/08/06 11:33:26 PortletContainer minimumTimeout set to '1' from adf-config.xml
07/08/06 11:33:26 PortletContainer maximumTimeout set to '60' from adf-config.xml
07/08/06 11:33:26 PortletContainer resourceProxyPath set to '/resourceproxy' from adf-config.xml
2007-08-06 11:33:58.843 ERROR oracle.portlet.client.persistence.PersistenceNotFoundException: mdsId=/oracle/adf/portlet/AdfFacesDemoProducer_1186417722625/ap/E0default_3c036e4c_0114_1000_8003_83e15f750fa7.pxml not found
at oracle.portlet.client.persistenceimpl.mds.MDSPersistenceContext.get(MDSPersistenceContext.java:587)
at oracle.portlet.client.beanimpl.persistence.PersistenceBeanFactory.getExisting(PersistenceBeanFactory.java:226)
at oracle.portlet.client.beanimpl.persistence.PersistenceBeanContext.getExisting(PersistenceBeanContext.java:83)
at oracle.portlet.client.containerimpl.PublicFactoryImpl.get(PublicFactoryImpl.java:248)
at oracle.portlet.client.containerimpl.PublicFactoryImpl.get(PublicFactoryImpl.java:258)
at oracle.portlet.client.containerimpl.PortletContainerImpl.getPortlet(PortletContainerImpl.java:227)
at oracle.adf.model.portlet.binding.PortletBinding.prepareModel(PortletBinding.java:801)
at oracle.adf.model.portlet.binding.PortletBinding.refresh(PortletBinding.java:606)
at oracle.adf.model.binding.DCBindingContainerDef$1RegionBindingAdapter.refresh(DCBindingContainerDef.java:1011)
at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:2455)
at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2260)
at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:99)
at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareModel(FacesPageLifecycle.java:73)
at oracle.adf.controller.v2.lifecycle.Lifecycle$8.execute(Lifecycle.java:210)
at oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java:29)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener$4.after(ADFPhaseListener.java:327)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:90)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:254)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:620)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: oracle.mds.core.MetadataNotFoundException: No metadata found for metadata object "/oracle/adf/portlet/AdfFacesDemoProducer_1186417722625/ap/E0default_3c036e4c_0114_1000_8003_83e15f750fa7.pxml"
at oracle.mds.core.MetadataObject.getBaseMO(Unknown Source)
at oracle.mds.core.MDSSession.getBaseMO(Unknown Source)
at oracle.mds.core.MDSSession.getMutableMO(Unknown Source)
at oracle.portlet.client.persistenceimpl.mds.MDSPersistenceContext.getBaseMutableMO(MDSPersistenceContext.java:1143)
at oracle.portlet.client.persistenceimpl.mds.MDSPersistenceContext.get(MDSPersistenceContext.java:577)
... 40 more
Here is my portlet.xml in ui project
<?xml version="1.0" encoding="ISO-8859-1"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
<portlet>
<description>ADF Faces Demo Portlet 1</description>
<portlet-name>ADFFacesDemo1</portlet-name>
<display-name>ADF Faces Demo portlet 1</display-name>
<portlet-class>oracle.portlet.server.bridges.jsf.FacesPortlet
</portlet-class>
<init-param>
<name>DefaultPage.view</name>
<value>/untitled1.jsp</value>
</init-param>
<init-param>
<name>BridgeLifecycleListeners</name>
<value>
oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener,
oracle.portlet.server.bridges.jsf.adf.BindingFacesBridgeLifecycleListener
</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>ADF Faces Demo Portlet 1</title>
<short-title>ADFFacesDemo1</short-title>
</portlet-info>
</portlet>
</portlet-app>
web.xml in ui project (where the AFD application is)
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<description>Empty web.xml file for Web Application</description>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>35</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
</web-app>
web.xml in test1 project (where portlet producer is registered)
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<description>Empty web.xml file for Web Application</description>
<context-param>
<param-name>CpxFileName</param-name>
<param-value>test1.DataBindings</param-value>
</context-param>
<context-param>
<param-name>oracle.mds.web-app-root</param-name>
<param-value>/test1/public_html</param-value>
</context-param>
<context-param>
<param-name>oracle.adf.view.faces.CHANGE_PERSISTENCE</param-name>
<param-value>oracle.adfinternal.view.faces.change.HybridChangeManager</param-value>
</context-param>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter>
<filter-name>adfBindings</filter-name>
<filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
</filter>
<filter>
<filter-name>mdsFilter</filter-name>
<filter-class>oracle.mds.jsp.MDSJSPFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<servlet-name>resourceproxy</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<servlet-name>adfportlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>mdsFilter</filter-name>
<servlet-name>jsp2</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>adfportlet</servlet-name>
<servlet-class>oracle.adfinternal.view.faces.renderkit.html.portlet.ADFPortletServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resourceproxy</servlet-name>
<servlet-class>oracle.portlet.client.resourceproxy.adf.ADFPortletResourceServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>jsp2</servlet-name>
<servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class>
<init-param>
<param-name>tags_reuse_default</param-name>
<param-value>none</param-value>
</init-param>
<init-param>
<param-name>check_page_scope</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>debug_mode</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>page_provider</param-name>
<param-value>oracle.mds.jsp.MDSJSPProvider</param-value>
</init-param>
<init-param>
<param-name>page_repository</param-name>
<param-value>oracle.mds.jsp.MDSJSPProvider</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>adfportlet</servlet-name>
<url-pattern>/adfportlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>adfportlet</servlet-name>
<url-pattern>/adfportletfullpage</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resourceproxy</servlet-name>
<url-pattern>/resourceproxy</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp2</servlet-name>
<url-pattern>/*.jspx</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>35</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<service-ref xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<service-ref-name>service/WSRPServiceRefV1</service-ref-name>
<service-interface>javax.xml.rpc.Service</service-interface>
<wsdl-file>WEB-INF/wsdl/WSRP_v1_Service.wsdl</wsdl-file>
<jaxrpc-mapping-file>WEB-INF/WSRP_v1_Service-java-wsdl-mapping.xml</jaxrpc-mapping-file>
<service-qname xmlns:service-qname_ns__="urn:oasis:names:tc:wsrp:v1:wsdl">service-qname_ns__:WSRP_v1_Service</service-qname>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v1.soap.WSRP_v1_Markup_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v1.soap.WSRP_v1_ServiceDescription_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v1.soap.WSRP_v1_Registration_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v1.soap.WSRP_v1_PortletManagement_PortType</service-endpoint-interface>
</port-component-ref>
</service-ref>
<service-ref xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<service-ref-name>service/WSRPServiceRefV2</service-ref-name>
<service-interface>javax.xml.rpc.Service</service-interface>
<wsdl-file>WEB-INF/wsdl/WSRP_v2_Service.wsdl</wsdl-file>
<jaxrpc-mapping-file>WEB-INF/WSRP_v2_Service-java-wsdl-mapping.xml</jaxrpc-mapping-file>
<service-qname xmlns:service-qname_ns__="urn:oasis:names:tc:wsrp:v2:wsdl">service-qname_ns__:WSRP_v2_Service</service-qname>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v2.soap.WSRP_v2_Markup_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v2.soap.WSRP_v2_ServiceDescription_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v2.soap.WSRP_v2_Registration_PortType</service-endpoint-interface>
</port-component-ref>
<port-component-ref>
<service-endpoint-interface>oracle.portlet.wsrp.v2.soap.WSRP_v2_PortletManagement_PortType</service-endpoint-interface>
</port-component-ref>
</service-ref>
</web-app>
Can anyone help please
regards
Vijay -
Portlet event link to pass parameter between portlets
Ok list, I followed the documentation Adding Parameters and Events to Portlets
PDK Release 2 (9.0.2 and later) and tried to make a portlet that pass parameter to another portlet using event link. I created the supposed parameter in the page and made the correct association to the receiving parameter portlet. The case is: The parameter is not caught in the receiving parameter page.
This is my event link jsp code:
<%
String sImgPath = PropertiesReader.getProperty(PropertiesReader.KEY_IMAGES_PATH);
PortletRenderRequest portletRequest = (PortletRenderRequest)request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);
// The portlet definition in provider.xml includes the following:
// - Event "submit" with event parameters "funcionalidade"
String eventSubmit = EventUtils.eventName("submit");
String eventParamFuncionalidade = EventUtils.eventParameter("funcionalidade");
// Build up the list of parameters for the "submit" event
NameValuePair[] eventSubmitParams = new NameValuePair[2];
// Give the 'funcionalidade' event parameter the constant value 'chat'
eventSubmitParams[0] = new NameValuePair(eventParamFuncionalidade, "chat");
// The event name must be passed as a parameter on the URL
eventSubmitParams[1] = new NameValuePair(eventSubmit, "");
%>
<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0">
<TR><TD><a href="<%=PortletRendererUtil.constructLink(portletRequest, portletRequest.getRenderContext().getEventURL(), eventSubmitParams, true, true)%>"><IMG SRC="<%= sImgPath + "menuButChat.gif" %>" BORDER="0"></a></TD><TR>
</TRABLE>
And this is my receiving parameter jsp code:
<%
String sFuncionalidade = "";
PortletRenderRequest portletRequest = (PortletRenderRequest)request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);
// Get the portlet definition - needed to get the public portlet parameters
PortletDefinition portlet = portletRequest.getPortletDefinition();
// Get the public portlet parameters
ParameterDefinition[] parameters = portlet.getInputParameters();
// Display all values for each of the public portlet parameters
for (int currParameter = 0; currParameter < parameters.length; currParameter++)
String name = parameters[currParameter].getName();
out.println(" <p>name = " + name + "</p> ");
// Get the parameter values
String[] values = portletRequest.getParameterValues(name);
// Display the parameter's values.
if ( values == null )
// Null array indicates no values for this parameter.
out.println(" <p>values i null</p> ");
else
out.println(" values nco i null ");
// Loop through each of the values and display non-null values on a separate line.
for ( int j = 0; (values != null) && (j < values.length); j++ )
sFuncionalidade = values[j];
out.println(" <p>" + sFuncionalidade + "</p> ");
%>
And this is my portlet definition in provider.xml:
<portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
<id>3</id>
<name>MenuColaboracao</name>
<title>Menu de Colaboragco</title>
<shortTitle>Menu de Colaboragco</shortTitle>
<description>Portlet de menu para funcionalidade de Comuicagco e Colaboragco.</description>
<timeout>10000</timeout>
<timeoutMessage>Portlet timed out</timeoutMessage>
<showEdit>false</showEdit>
<showEditDefault>false</showEditDefault>
<showPreview>false</showPreview>
<showDetails>false</showDetails>
<hasHelp>false</hasHelp>
<hasAbout>false</hasAbout>
<acceptContentType>text/html</acceptContentType>
<renderer class="oracle.portal.provider.v2.render.RenderManager">
<renderContainer>false</renderContainer>
<contentType>text/html</contentType>
<showPage>/menuColaboracao.jsp</showPage>
<pageParameterName>next_page</pageParameterName>
</renderer>
<event class="oracle.portal.provider.v2.DefaultEventDefinition">
<name>submit</name>
<description>Use this event to submit the form data to a page</description>
<parameter class="oracle.portal.provider.v2.DefaultParameterDefinition">
<name>funcionalidade</name>
<displayName>funcionalidade</displayName>
<description>Parbmetro que indica a funcionalidade a ser apresentada.</description>
</parameter>
</event>
</portlet>
<portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
<id>4</id>
<name>HomeController</name>
<title>Home Controller</title>
<shortTitle>Home Controller</shortTitle>
<description>Portlet que controla a exibigco do jsp correspondente a opgco de menu selecionada.</description>
<timeout>10000</timeout>
<timeoutMessage>Portlet timed out</timeoutMessage>
<showEdit>false</showEdit>
<showEditDefault>false</showEditDefault>
<showPreview>false</showPreview>
<showDetails>false</showDetails>
<hasHelp>false</hasHelp>
<hasAbout>false</hasAbout>
<acceptContentType>text/html</acceptContentType>
<renderer class="oracle.portal.provider.v2.render.RenderManager">
<renderContainer>false</renderContainer>
<contentType>text/html</contentType>
<showPage>/homeController.jsp</showPage>
<pageParameterName>next_page</pageParameterName>
</renderer>
<inputParameter class="oracle.portal.provider.v2.DefaultParameterDefinition">
<name>funcionalidade</name>
<displayName>funcionalidade</displayName>
<description>Parbmetro que indica a funcionalidade a ser apresentada.</description>
</inputParameter>
</portlet>
Where do I miss ???
Any help will be appreciated.
Regards,
Leandro.Leandro,
Few things which you might want to cross check to see if we are
on the right track :
1. Page containing Parameter receiving portlet contains a
paga parameter mapped on to its public parameter.
As per your example, parameter receiving page should have a page
parameter with name - "funcionalidade" - and portlet's corresponding
parmeter should be mapped to this page parameter. This can be
done through "Parameters" tab in the Page Properties screen.
2. Page containing Parameter passing portlet contains proper event
mapping.
As per your example, we have an event called "submit". We should
be able to see "submit" event under "MenuColaboracao" portlet.
When this event is raised, select which page should receive the event
data. As soon as a page is selected, this page's public parameters
are displayed below. Beside that we must be able to see a choice box
which displays four choices one of which would be "Event Output".
Map this output to the event parameter.
Hope it helps.
-AMJAD.
Maybe you are looking for
-
I decided to start using iCloud etc but discovered that my Apple ID doesn't actually exist (I was literally told this over the phone my an Apple Support worker) which is weird, as my email address for this Apple ID still exists. This is the first tim
-
Two iOS devices and a Snow Leopard Mac: trying to sync photos
My wife's tech support group, that would be me , is failing in attempts to find an easy way to sync her photos between iPhoto on her Snow Leopard Mac and her two iOS 5 devices using iCloud. The bottom line is how best to manage photos during a time a
-
Code to read local notepad.txt from applet
Hi. Further to my (unanswered) queries about reading a notepad.txt file from the local directory i.e. the same directory from which the html and applet were launched, the following code is supposed to be able to read the local file. It failed to do s
-
ORA-02291 Error on delete with cascade
Hello guys! I have a mastertable called TBL_VEG_MAINDATA (PK cnt_veg_maindata) and a subtable TBL_VEG_SUBDATA, which references the parent pk column using a foreign key. The foreign key is set to cascade on delete. Hence when I delete a parent entry,
-
Non-rectangular or transparent images
Hi. Not using Swing, can I use non-rectangular images for animation purposes ? Alternatively, can I use rectangular images with a "transparent" color as a background ? If so - How ?! Thanks.