JAX-WS Five Minute Tutorial

This tutorial is for people who want to run a JAX-WS example (Endpoint + Client) in just five minutes.
What you need to run this example:
  1. JDK 1.6
  2. Eclipse .
  3. Be Excited ;) 
Note:- You can download the source code for this example from the resources section. 

Developing WebService End Point

1) Open Eclipse, and create a java project "WS-Server".
2) Create WS-Service Endpoint Interface:

package com.webservices;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public interface Greeting {
  @WebMethod String sayHello(String name);
}
3) Create WS-Service Endpoint Implementation class:

package com.webservices;;

import javax.jws.WebService;

@WebService(endpointInterface = "juma.mohammad.Greeting")
public class GreetingImpl implements Greeting {

 @Override
 public String sayHello(String name) {
  return "Hello, Welcom to jax-ws " + name;
 }

}
4) Create Endpoint Publisher class:

package com;

import javax.xml.ws.Endpoint;

import com.webservices;.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%\src 
wsimport –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 , no need for them :)
3) Now Lets create Client Class which will be dependent on the stubs:
package com;

import com.webservices;.Greeting;
import jcom.webservices;.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 looks like:
------->>  Call Started
Hello, Welcom to jax-ws Ali
------->>  Call Ended
Congratulations.... you managed to develop jax-ws Endpoint , Client..
The next tutorial will be how to deploy your Web Service on Tomcat.

Comments

Popular posts from this blog

How to draw an overlay on a SurfaceView used by Camera on Android?

Create EditText with dropdown in android

Android TCP Connection Chat application