I suspect this is because the eager initialization metro web service in deployment : the metro web service will be initialized and started before servlet.init(). The jbossws-cxf stack before 3.3.0.GA version supports lazy load. If the jbossws-cxf stack can be your option , you can switch to jbossws-cxf-3.2.2.GA to see if it works for your case.