I'm working on porting an app to Jboss EAP, and as part of that I'm switching from the jax-ws RI to JBoss's built-in CXF ws stack.
However, my app didn't specify a context-root in jboss-web.xml; it just was named ROOT.war. JBoss EAP handles this just fine, except that webservices fail when invoked. (The message is "JBWS024032: Cannot obtain endpoint jboss.ws:context=,endpoint=MyService". It looks like JBossWS is acting as if the context root is not '/' but literally '/ROOT'. See this boot-up log line:
21:50:22,901 INFO [org.jboss.ws.cxf.metadata] (MSC service thread 1-4) JBWS024061: Adding service endpoint metadata: id=MyService address=http://localhost:8080/ROOT/api/v1/soap/MyService implementor=...snip...
(Note especially the "...localhost:8080/ROOT/api/v1..." part)
I can solve this by adding <context-root>/</context-root> to my jboss-web.xml, but I feel like this shouldn't be necessary. It was a little inconvenient for me, because I usually use a non-root context when I'm developing locally, and I don't really want to have to put in a maven parameter in jboss-web.xml. So going forward I'll probably just use the root context while developing, but it irks me a little bit.
This seems like the sort of thing that could be fixed by adding two lines of code in the JbossWS project, so I just thought I'd voice my frustration.