WebCenter Portal Framework Application Redirects to "error404.jsp" with Latest WebCenter Portal Bundle Patches
(Doc ID 2428609.1)
Last updated on JUNE 07, 2024
Applies to:
Oracle WebCenter Portal - Version 11.1.1.9.161018 to 11.1.1.9.180717 [Release 11g]Information in this document applies to any platform.
Symptoms
Note: The following example represents a fictitious sample. Any similarity to an actual Portal Internal ID is purely coincidental and not intended in any manner.
WebCenter Portal Framework Application redirects to error404.jsp page after redeploy if applying any of the latest WebCenter Portal Bundle Patches starting with 11.1.1.9.161018 up to the 11.1.1.9.180717 bundle patch.
STEPS
The issue can be reproduced with the following steps:
- Create a test portal.
- Create a new WCP Framework application in JDeveloper.
e.g.: Name: Portal404Error - Create a Page.
e.g.: Page2.jspx - Open the pages.xml.
- Drag Page2.jspx to pages.xml.
- Select 'Home' in the Hierarchy, choose 'Delegate Security' option and remove the 'anonymous-role' to make the home.jspx protected.
- Select 'Page2' in the Hierarchy, choose 'Delegate Security' option and remove the 'anonymous-role' to make the Page2.jspx protected.
- Open default-navigation-model.xml. Remove 'Page Hierarchy'.
- Insert a Page Link to home.jspx.
Id: Home
Type: Page
URL: page://oracle/webcenter/portalapp/pages/home.jspx
Select: Redirect URL
Title: Home - Insert a Page Link to Page2.jspx.
Id: Home
Type: Page
URL: page://oracle/webcenter/portalapp/pages/Page2.jspx
Select: Redirect URL
Title: Page2 - Open the error404.jsp page and change this:
if (isAuthenticated == null || !isAuthenticated.booleanValue())
response.sendRedirect(request.getContextPath() + "/adfAuthentication?success_url=/faces" + request.getServletPath());
else
response.sendError(404);
%>
By this as suggested in Bug 23346620 :
if (isAuthenticated == null || !isAuthenticated.booleanValue())
response.sendRedirect(request.getContextPath() + "/adfAuthentication?success_url=/faces" + (request.getAttribute("javax.servlet.forward.path_info") != null ?
request.getAttribute("javax.servlet.forward.path_info") : request.getServletPath()));
else
response.sendError(404);
%> - Edit the Portal Project properties, select Java EE Application and change the Jave EE Web Context Root to shorter name.
e.g.: Portal404Error
- Create a new WCP Framework application in JDeveloper.
- Test Deployment with WCP BP 11.1.1.9.160719.
- Deploy the application to the WebCenter Domain to the WC_CustomPortal managed server.
- Access the application using the application context root.
http://<HOSTNAME>:<PORT>/Portal404Error
Here you will be prompted for user credentials.
After login you will get directed to the Home.jsp page. - Redeploy the application.
- Access the application using a direct page URL.
http://<HOSTNAME>:<PORT>/Portal404Error/faces/oracle/webcenter/portalapp/pages/Page2.jspx
Here you will be prompted for user credentials.
After login you will get directed to the Page2.jsp page.
- Deploy the application to the WebCenter Domain to the WC_CustomPortal managed server.
- Test Deployment with a bundle patch between 11.1.1.9.161018 up to 11.1.1.9.180717.
- Apply one of the affected bundle patches.
- Delete the following folder to be sure all changes from latest bundle patch are taken:
[DOMAIN_HOME]/servers/WC_CustomPortal/tmp
- Deploy the application to the WebCenter Domain to the WC_CustomPortal managed server.
- Access the application using the application context root.
http://<HOSTNAME>:<PORT>/Portal404Error
Here you will be prompted for user credentials.
After login you will get this error:Error 404--Not Found
- Access the application again using the application context root.
http://<HOSTNAME>:<PORT>/Portal404Error
This time you will not be prompted for login as user is already authenticated. But you will still be getting same error.
Error 404--Not Found
Once you get this error there is no way to recover.
- Access the application again using direct URL to a page:
http://<HOSTNAME>:<PORT>/Portal404Error/faces/oracle/webcenter/portalapp/pages/Page2.jspx
This works.
- Apply one of the affected bundle patches.
NOTE:
A variant of the test application is using the default Page Hierarchy (pages.xml) instead of removing it from the default-navigation-model.xml and adding page links.
In this case scenario access to direct pages doesn't work either.
e.g. this link will also return 404 error:
http://<HOSTNAME>:<PORT>/Portal404Error/faces/oracle/webcenter/portalapp/pages/Page2.jspx
Changes
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |