Introduction
Le nombre de frameworks Web Services en Java EE est assez important avec, pour chacun, un historique plus ou moins lourd. On va retrouver des noms comme Axis (1 et 2), XFire, Apache CXF (pour Celtix XFire, considérée comme la V2 de XFire), JBossWS, ... Depuis quelques temps émerge un standard qui simplifie et uniformise le développement des Web Services en Java : JAX-WS.
Dans la suite de ce billet, on va créer un Web Service (Serveur et Client) avec JAX-WS sous Eclipse 3.3 / Tomcat 6.0 avec le JDK 6.0. Je profite de la sortie de la version 1.0 finale de Metro (Framework Sun Open Source incluant JAX-WS RI/ JAXB et Tango) pour ce mini-tutoriel. L'approche utilisée sera celle du "contract-first" (développement à partir du WSDL).
Avant de commencer, il vous faut installer tous les outils :
- Le dernier JDK 6.0 (si vous avez le 5.0, cela fera l'affaire également).
- Eclipse 3.3 avec WTP et touti quanti.
- Tomcat 6.0 (la version 5 ou 5.5 devrait également fonctionnée)
- Metro (qui inclut JAX-WS et JAXB)
- Tomcat 6 a bien été configuré dans les runtimes de serveurs
- le JDK 6.0 est également le JDK par défaut.
Création et configuration d'un projet Eclipse
La première étape va être de créer un projet Web dynamique dans Eclipse.

Lors du "wizard" de création de projet, on veillera à choisir le Tomcat 6.0 avec les valeurs par défaut.

Configuration de notre WebApp avec Metro
Maintenant que nous avons notre WebApp, il va falloir qu'on ajoute les librairies de Metro. Pour cela, il suffit de copier les librairies de Metro (fichiers jar présent dans le répertoire lib de la distribution Metro) dans le répertoire du projet Eclipse WebContent/WEB-INF/lib.
Voici ce qu'indique la documentation Metro sur ces librairies :