JAX-WS Five-Minute Tutorial
This tutorial is for people who want to run a JAX-WS example (Endpoint + Client) in just five minutes.
Join the DZone community and get the full member experience.
Join For FreeWhat you need to run this example:
- JDK 1.6
- Eclipse
- Be Excited ;)
Note: You can download the source code for this example from the section.
Developing WebService End Point
1) Open Eclipse and create a Java project "WS-Server".
2) Create WS-Service Endpoint Interface:
package juma.mohammad;import javax.jws.WebMethod;import javax.jws.WebService;@WebServicepublic interface Greeting { @WebMethod String sayHello(String name);}
3) Create WS-Service Endpoint Implementation class:
package juma.mohammad;import javax.jws.WebService;@WebService(endpointInterface = "juma.mohammad.Greeting")public class GreetingImpl implements Greeting {@Overridepublic String sayHello(String name) {return "Hello, Welcom to jax-ws " + name;}}
4) Create Endpoint Publisher class:
package juma;import javax.xml.ws.Endpoint;import juma.mohammad.GreetingImpl;public class WSPublisher {public static void main(String[] args) {Endpoint.publish("http://localhost:8080/WS/Greeting",new GreetingImpl());}}
5) Run the WSPublisher. Guess what...your WebService is published.
Wow, check your service wsdl http://localhost:8080/WS/Greeting?wsdl
Developing WebService Client
1) Open eclipse and create a new Java project "WS-Client".
2) As you know, we need to generate the client stubs...but how?
Open your command line and enter the wsimport command:
CD %CLIENT_PROJECT_HOME%\srcwsimport –s . http://localhost:8080/WS/Greeting?wsdl
You will find 6 Java classes generated and compiled under src/juma/mohammad.
You can remove *.class files; there's no need for them :)
3) Now let's create Client Class, which will be dependent on the stubs:
package juma;import juma.mohammad.Greeting;import juma.mohammad.GreetingImplService;public class Client {public static void main(String[] args){GreetingImplService service = new GreetingImplService();Greeting greeting = service.getGreetingImplPort(); System.out.println("------->> Call Started");System.out.println(greeting.sayHello("Ali"));System.out.println("------->> Call Ended");}}
4) Run the Client Class....the output should look like:
------->> Call StartedHello, Welcom to jax-ws Ali------->> Call Ended
Congratulations! You managed to develop jax-ws Endpoint, Client.
The next tutorial will show how to deploy your Web Service on Tomcat.
Opinions expressed by DZone contributors are their own.
Comments