4 Replies Latest reply on Nov 29, 2006 10:30 AM by Richard Brooks

    Debug page intercepts handled exceptions in 1.1

    Richard Brooks Newbie

      I've just upgraded from 1.0.1.GA to 1.1.0.CR1

      In my app I have a JSF page calling a stateful seam bean which then calls another stateless seam bean. The second bean can throw an exception which is caught and handled by the first, which then shows a faces message. However, in 1.1 the seam debug page is shown instead.

      If I turn off debug in components.xml it works again but I then can't look at the debug page at all.

      From looking at the code the debug page is triggered by the ExceptionInterceptor which has the code:

       boolean outermost = invocation.getContextData().get("org.jboss.seam.outermostExceptionInterceptor")==null;
       invocation.getContextData().put("org.jboss.seam.outermostExceptionInterceptor", true);
       return invocation.proceed();
       catch (Exception e)
       if ( outermost && FacesContext.getCurrentInstance()!=null )
       return Exceptions.instance().handle(e);
       throw e;

      when I debugged it I found that the contextData on the invocationContext was different on the call to the second bean than on the initial JSF call to the first bean so the outermost flag was true in both cases.

      Does anybody else have it working doing a similar thing ? given all the other messages here I wouldn't be surprised if its a config issue

      (I haven't used exceptions.xml at all yet)

      I'm using Seam 1.1.0.CR1, JBoss 4.0.5.GA, Facelets 1.1.11, myFaces 1.1.4, ajax4jsf 1.0.3