DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Spring Beans With Auto-Generated Implementations: How-To
  • User-Friendly API Publishing and Testing With Retrofit
  • Multi-Threaded Geo Web Crawler In Java
  • How to Secure Apache Ignite From Scratch

Trending

  • Ingesting Fixed-Width Mainframe Files Into Delta Lake: The Details Nobody Writes Down
  • Building Enterprise-Grade Real-Time IoT Dashboards with Vue 3, MQTT, and Kafka
  • Ujorm3: A New Lightweight ORM for JavaBeans and Records
  • OpenAPI From Code With Spring and Java: A Recipe for Your CI
  1. DZone
  2. Coding
  3. Java
  4. JAX-WS Five-Minute Tutorial

JAX-WS Five-Minute Tutorial

This tutorial is for people who want to run a JAX-WS example (Endpoint + Client) in just five minutes.

By 
Mohammad Juma user avatar
Mohammad Juma
·
Aug. 08, 19 · Tutorial
Likes (7)
Comment
Save
Tweet
Share
315.6K Views

Join the DZone community and get the full member experience.

Join For Free

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 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.

Web Service Java (programming language) Eclipse Command (computing) Java Development Kit Apache Tomcat Interface (computing) Implementation

Opinions expressed by DZone contributors are their own.

Related

  • Spring Beans With Auto-Generated Implementations: How-To
  • User-Friendly API Publishing and Testing With Retrofit
  • Multi-Threaded Geo Web Crawler In Java
  • How to Secure Apache Ignite From Scratch

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook