webtier@glassfish.java.net

Re: Help with PWC1232: Exceeded maximum depth for nested request dispatches

From: <webtier_at_javadesktop.org>
Date: Sun, 09 May 2010 04:02:23 PDT

Hi, unlucky i have the same problems. Yesterday i posted a question on glassfish forum:

http://forums.java.net/jive/thread.jspa?threadID=148233&tstart=0

I can't find out the problem. I think is like a problem beetween default settings of JSF 2 (that they has on Faces Servlet URL patterns: *.jsf , /faces/* and overlapping settings setted).

I tried to see the source code of mojarra ViewHandler. I found that the substitution of file extensions with the ones speficied in javax.faces.DEFAULT_SUFFIX is executed in the JSF phase of restoreView in the following order:

In MultiViewHandler.java:

- Method "public UIViewRoot restoreView(FacesContext context, String viewId) " of (row 139) call :
- derivePhysicalViewId(context, viewId, false) and it call on row 486 method:
    - convertViewId(FacesContext context, String viewId) (row 436)
    - or normalizeRequestURI(String uri, String mapping);

I think the problem could be beetween convertViewId and derivePhysicalViewId, couse

derivePhysicalViewId calls Util.getFacesMapping(ctx) that retrive URL Pattern from Faces Servlet:

 /**
     * <p>Returns the URL pattern of the
     * {_at_link javax.faces.webapp.FacesServlet} that
     * is executing the current request. If there are multiple
     * URL patterns, the value returned by
     * <code>HttpServletRequest.getServletPath()</code> and
     * <code>HttpServletRequest.getPathInfo()</code> is
     * used to determine which mapping to return.</p>
     * If no mapping can be determined, it most likely means
     * that this particular request wasn't dispatched through
     * the {_at_link javax.faces.webapp.FacesServlet}.
     *
     * @param context the {_at_link FacesContext} of the current request
     *
     * @return the URL pattern of the {_at_link javax.faces.webapp.FacesServlet}
     * or <code>null</code> if no mapping can be determined
     *
     * @throws NullPointerException if <code>context</code> is null
     */
    public static String getFacesMapping(FacesContext context);

I think there is some kind of problems in this methods, that do the renaming. But i still have to find out what's wrong.

Can anybody help more to find out what's wrong?
[Message sent by forum member 'tapdani']

http://forums.java.net/jive/thread.jspa?messageID=469084