It's very easy to publish web service, using Grizzly. Assume we have "add" web service declared following way:
import javax.jws.WebService; import javax.jws.WebMethod; import javax.jws.WebParam; @WebService public class AddService { @WebMethod public int add(@WebParam(name="value1") int value1, @WebParam(name="value2") int value2) { return value1 + value2; } }
In order to make this web service available on URL: http://localhost:8080/add, we do this:
HttpServer httpServer = new HttpServer(); NetworkListener networkListener = new NetworkListener("jaxws-listener", "0.0.0.0", PORT); HttpHandler httpHandler = new JaxwsHandler(new AddService()); httpServer.getServerConfiguration().addHttpHandler(httpHandler, "/add"); httpServer.addListener(networkListener); httpServer.start();
It's easy to test this, just type http://localhost:8080/add?WSDL in your browser to check the web service's WSDL.