vendredi 28 septembre 2007

Tutoriel JAX-WS - Partie I (Projet Eclipse)

Voici le premier article d'une série pour présenter l'utilisation de JAX-WS avec Metro, Tomcat 6, Eclipse 3.3 et le JDK 6.0.

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

Pré-Requis

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)
On suppose que tout ces outils sont installés correctement et notamment que, dans Eclipse :
  • 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.

Eclipse créé alors le projet Web dans votre Workspace ainsi qu'une instance de configuration de serveur Tomcat 6 qui nous servira pour tester notre Web Service.

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 :

Aucun commentaire: