users@grizzly.java.net

Automatically publishing all JAX-WS annotated web services found on classpath when using standalone grizzly

From: Leo Romanoff <romixlev_at_yahoo.com>
Date: Wed, 22 Dec 2010 03:40:45 -0800 (PST)

Hi,

I'm wondering if it is somehow possible to tell jax-ws to publish all the
annotated JAX-WS services found on the (specified) classpath. So far, I've seen
this implemented only for J2EE apps, where during JAR/WAR deployments, the
application server would scan the archives, find all annotated services and
publish them.

But I'm very interested in doing that when using JAX-WS together with
grizzly-servlet-webserver and grizzly SPI for JAX-WS.

Jersey's JAX-RS implementation when used with grizzly-servlet-webserver and
jersey-server can easily find and provision all annotated JAX-RS services, e.g.

                GrizzlyWebServer server;
                server = new GrizzlyWebServer(port);

                ServletAdapter jersey = new ServletAdapter();
                jersey.setServletInstance(new ServletContainer());

                // Tell jersey where to find REST resources
                // It would scan all classes on this classpath and find all
annotated services
                
jersey.addInitParameter(ClasspathResourceConfig.PROPERTY_CLASSPATH,
                                "my.jar");

                jersey.setServletPath("/path");

                // Tell grizzly to serve our REST service
                server.addGrizzlyAdapter(jersey, new String[] { "/path" });
                try {
                        server.start();
                } catch (IOException e) {
                        e.printStackTrace();
                }

So, would it be possible to do something similar using JAX-WS (with Grizzly
support) as well?

Thanks,
 Leo