# Overview

## How do I pick a tool?

The following lists the process to create a web service starting from Java sources, classes, and a WSDL file (server side):

1. Starting from Java sources:

   1. Use `annotationProcessing` Ant task to generate the artifacts required by the JAX-WS specification.

   2. Package the `web.xml`, `sun-jaxws.xml`, service endpoint interface and implementation class, value types, and generated classes, if any, into a WAR file,

   3. Deploy the WAR to a web container.

2. Starting from Java classes:

   1. Use `wsgen` to generate portable artifacts.

   2. Package the `web.xml`, `sun-jaxws.xml`, service endpoint interface and implementation class, value types, and generated classes, if any, into a WAR file,

   3. Deploy the WAR to a web container.

3. Starting from a WSDL file:

   1. Use `wsimport` to generate portable artifacts.

   2. Implement the service endpoint.

   3. Package the WSDL file, schema documents, `web.xml`, `sun-jaxws.xml`, service endpoint interface and implementation class, value types, and generated classes, if any, into a WAR file.

   4. Deploy the WAR to a web container.

The following lists the process to invoke a web service (client side):

1. Starting from deployed web service's WSDL

   1. Use `wsimport` to generate the client-side artifacts.

   2. Implement the client to invoke the web service.

## Running tools on JDK6

- Copy `&jax-ws.home;/lib/javax.annotation-api.jar` `&jax-ws.home;/lib/jsr181-api.jar` `&jax-ws.home;/lib/jaxws-api.jar` `&jax-ws.home;/lib/jaxb-api.jar` to `$JDK6_HOME/jre/lib/endorsed` directory

For details see Endorsed Directory Mechanism. Above, `&jax-ws.home;` points to the root directory of the extracted &jax-ws.product.name.short; bundle. `JDK6_HOME` points to JDK 6 installation directory.

## Maven plugins

You can use all jaxws tools within your maven build. Information about maven plugin and its usage is located at the plugin homepage.