Simple SOAP Web Service in Java
In this tutorial, I am writing about, How to Publish and Test Simple SOAP Web Service in Java. The code has been tested and shared in the post.
WelcomeMessage.java
package com.dineshkrish.soap; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; @WebService @SOAPBinding(style=Style.RPC) public interface WelcomeMessage { public String greet(String name); }
WelcomeMessageImpl.java
package com.dineshkrish.soap; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; @WebService(endpointInterface = "com.dineshkrish.soap.WelcomeMessage") @SOAPBinding(style = Style.RPC) public class WelcomeMessageImpl implements WelcomeMessage { @Override public String greet(String name) { if (name != null && !name.isEmpty()) { return "Hello, " + name; } return ""; } }
Server.java
package com.dineshkrish.soap; import javax.xml.ws.Endpoint; public class Server { public static void main(String[] args) { final String SERVER_ADDRESS = "http://localhost:9393/welcome"; WelcomeMessage message = new WelcomeMessageImpl(); Endpoint endpoint = Endpoint.publish(SERVER_ADDRESS, message); if (endpoint.isPublished()) { System.out.println("Service is running at " + SERVER_ADDRESS); } else { System.out.println("Service not published..."); } } }
Output for Server.java
——————————-
Service is running at http://localhost:9393/welcome
Client.java
package com.dineshkrish.soap; import java.net.MalformedURLException; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; public class Client { public static void main(String[] args) { final String SERVICE_ADDRESS = "http://localhost:9393/welcome?WSDL"; final String NAMESPACE = "http://soap.dineshkrish.com/"; final String SERVICE_NAME = "WelcomeMessageImplService"; try { URL url = new URL(SERVICE_ADDRESS); QName qName = new QName(NAMESPACE, SERVICE_NAME); Service service = Service.create(url, qName); WelcomeMessage welcomeMessage = service.getPort(WelcomeMessage.class); String greetingMessage = welcomeMessage.greet("Dinesh Krishnan"); System.out.println("The received message from services : "+greetingMessage); } catch (MalformedURLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } } }
Output for Client.java
——————————-
The received message from services : Hello, Dinesh Krishnan
More from my site

Hello, folks, I am a founder of idineshkrishnan.com. I love open source technologies, If you find my tutorials are useful, please consider making donations to these charities.
No responses yet