Error: ADF_FACES-30200: The UIViewRoot is null.

Have you ever encountered this one?

Error

It might be a number of things, invalid EL expression, invalid cpx files or calling a page which cannot be found. Now I have found another reason why this might happen and has got everything to do with being unable to find a page referenced in a task flow.

It came with a huge exception stack, including the following lines:

… java.lang.RuntimeException: java.lang.Exception: MDSLockedSessionManager already registered. Can’t register more than one.

 java.lang.NullPointerException
at oracle.adfinternal.controller.faces.context.JSFRequestMapAdapter.getRequestMap(JSFRequestMapAdapter.java:29)

Which is not very descriptive. However I have found this turned out to be another case of “Canot find the page which is referenced in the task flow”. Consider the following two screenshots:

Without slash

As you can see, all is well, at least as far as JDeveloper is concerned. The issue here was with the page attribute. It needed to have a preceding slash as you can see below.

With slash

Now the page was running fine. So beware, JDeveloper does not give you any warnings about this and it kept me busy for quite a while before I found out the solution.

I really hope it helps you as well.

Until next time!