0 Replies Latest reply on Sep 10, 2014 11:55 AM by matt.drees

    webservices in ROOT.war deployments don't work as expected

    matt.drees

      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.