I too experienced this problem.
My workaround was to copy jbossweb-tomcat55.sar/context.xml to the WEB-INF directory for all webapps that need crossContext=true.
All war specific context info needs to be set via the WEB-INF/context.xml descriptor. We do not support context info from the server.xml since war deployments are dynamic entities. Tomcat itself has deprecated the user of the Context settings from the server.xml.
Thanks for the workaround, that worked for me as well. It seems as though you only need the context.xml in the WEB-INF of the webapp you're getting the ServletContext from, not the one to which you're going to. For example, if I am in webapp context1 trying to forward to context2 with getServletContext().getContext("/context2").getRequestDispatcher("/myServletPath"), you only need the context.xml in the war file for context1. I found that a little surprising...
I'm facing this problem also.
What are the requirements to get this work. It's clearly stated in the javadoc of javax.servlet.ServletContext that calling ServletContext.getContext(String uri) must return the context of the wanted uri; (not the root context) or nul if some security policy was defined.
I've tried puting context.xml in my calling war WEB-INF/. But still wont work.
Any suggestion would be appreciated.