users@grizzly.java.net

JaxwsHandler serving content on non-registered URLs under same path

From: Gonfi den Tschal <gonfidentschal_at_gmail.com>
Date: Wed, 5 Nov 2014 17:46:59 +0200

QUESTION: How do I stop Grizzly from serving content on URLs for which
there is no handler, but are under the same path?


USERLAND CODE:

full class at http://nopaste.info/05ffefc3fb.html

    public static void main(String[] args) throws IOException {
        HttpServer httpServer = new HttpServer();
        httpServer.addListener(new NetworkListener("jaxws-listener",
"localhost", 8090));
        httpServer.getServerConfiguration().addHttpHandler(new
JaxwsHandler(new BarService()), "/jaxws/hello");
        httpServer.start();
        System.in.read();
    }

    @WebService
    private static class BarService {
        @WebMethod
        public String hello() {
            return "hello world";
        }
    }


Loading the URL http://localhost:8090/jaxws/hello?wsdl in the browser
brings the correct document, see http://nopaste.info/f8ec12f601.html

However, loading any other url under the /jaxws/ path brings a similar
document, for example http://localhost:8090/jaxws/helllloooooo?wsdl see
http://nopaste.info/d7e6013a1a.html

A difference is at the end:

   1. <soap:address location="http://localhost:8090/jaxws/hello"/>


   1. <soap:address location="http://localhost:8090/jaxws"/>


What are the arguments for this behavior?
And what can I do to get a 404 on all URLs that are not registered?

Software used:
 - grizzly-http-server
 - grizzly-http-server-jaxws
tried versions 2.3.17 (latest) and 2.3.7

Greetings,
Gonfi