i’m publishing a soap ws api from within my java app.
so far i’ve used the jdk built-in http server, like so:
Endpoint.publish(“http://www.example.com:80/soap/v1/foo”, myWebService);
and all worked fine.
now switching to grizzly. my code is based on the official example from http://grizzly.java.net/nonav/docs/docbkx2.0/html/jaxws-samples.html
thus something like
httpServer.getServerConfiguration().addHttpHandler(httpHandler, “/soap/v1/foo”);
the wsdl is available for both under the expected url http://www.example.com:80/soap/v1/foo?wsdl but with grizzly the generated wsdl looks different. the schmemaLocation is shortened in all places in that the “/v1/foo” part is removed, it only points to /soap. this is the case for all services that i publish (multiple). and the result is that the methods can’t be called.
(i’ll cross-post this on the grizzly mailing users list, although there isn’t much traffic.)
Has been fixed in Grizzly 2.2.5