Hi Friends........... !! |
Previously we saw Overview of SOAP based Webservices. Now lets move to the Example of SOAP based webservices.
In the development of a webservice, we have two parts.
One is developing a service and another is using the developed service (i.e., creating a client for that service).
I. SERVER SIDE:
Lets Create a service named 'SayHello.java'
- For making 'SayHello' class as a web service annotate the class with '@WebService'
- Create a 'hello()' method in that class. Annotate it with '@WebMethod' (attributes in it are optional)
- If needed, annotate the method params with '@WebParams'. Its is also optional.
- If you want to return the User-defined Objects as the response, you can create and return them as same as in normal procedure.
- For these User-defined Objects, the Complex Types are automatically generated in the 'xsd' file.
- This 'xsd' is used in WSDL file, which describes about the service.
The Sample code for the Service is :
com.navin.SayHello.java
package com.navin;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
/**
* @author navin.k
*/
@WebService()
public class SayHello {
/**
* Web service operation
*/
@WebMethod(operationName = "hello")
public HelloResponse hello(@WebParam(name = "User")
String user) {
HelloResponse response = new HelloResponse();
response.setMessage("Hello " + user);
return response;
}
}
com.navin.HelloResponse.java (user-defined response type for service)
package com.navin;
/**
* @author navin.k
*/
public class HelloResponse {
String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
After Deploying this service, test the application by running the below url:
url: http://hostname:port/context-name/webservice-name?wsdl
If WSDL is generated then the service is deployed successful and running fine.
II. CLIENT SIDE:
Lets check the above created service with a Client.
- Create a normal Java class
- Create a Service for the Web Service. (generally appends 'Service' for the web service name)
- Get the port on the service
- Call the method on the port by passing all the required parameters for the service
- Receive and process the response from the service
The Sample code for the client is:
package com.navin.client;
/**
* @author navin.k
*/
public class TestClient {
public static void main(String[] args) {
HelloResponse response = SayHelloService().getSayHelloPort().hello("JAVA");
String message = response.getMessage();
System.out.println("Service response : " + message);
}
}
The output for the above client is :
Service response : Hello JAVA
Now you are successfully able to run the Web Service........
For more clear steps on creation of Webservice please look into this blog....
No comments:
Post a Comment