Création d`un web service sous Eclipse/Tomcat

Transcription

Création d`un web service sous Eclipse/Tomcat
Création d’un web service sous Eclipse/Tomcat
tutorial version 2 pour Windows
2
2
3
Téléchargement et mise en place des outils Dossiers d’installation
Configuration d’Eclipse avec Tomcat/Axis 4
4
5
Développement Web Service
Création du code métier
Création du Web Service
6
7
8
Configuration du Web Service
Lancement du Web Service
Test du Web Service avec le Web Service Explorer
9
10
11
Partie Cliente
Création de la classe principale
Appel du service
12
12
13
14
15
Deploiement du Web Service
Export WAR
Configuration du serveur Apache Tomcat autonome.
Vérification de la présence du service
Export du client et test final
David Durand - D314 : Web Services 1
Téléchargement et mise en place des outils
La réalisation de ce projet de Web-Service repose sur l’utilisation de trois outils :
• L’IDE Eclipse Galileo J2EE : http://eclipse.org/downloads/
La version standard peut également être utilisée, mais elle nécessite l’installation de plugins supplémentaires (Eclipse WTP http://www.eclipse.org/webtools/releases/3.1.1/ )
• Le serveur d’applications Apache Tomcat 6.
La version actuelle est disponible à l’adresse http://tomcat.apache.org/download-60.cgi (prendre la version zip)
• Le moteur de Web-services Apache Axis2, version 1.5.1 Release
http://ws.apache.org/axis2/download/1_5_1/download.cgi (prendre la version «WAR»)
Dossiers d’installation
Après décompression des archives téléchargées, on considère
les dossiers de travail suivants :
• c:\david : répertoire de travail principal
• c:\david\workspace_WS : dossier des projets Eclipse;
• c:\david\apache-tomcat-6.0.20 : dossier d’installation de
Tomcat
• c:\david\axis2-1.5.1 : dossier d’installation d’Axis
Ces noms de dossiers sont à adapter selon le système utilisé.
David Durand - D314 : Web Services 2
Configuration d’Eclipse avec Tomcat/Axis
Dans la fenêtre de préférence d’Eclipse, configurer la partie Serveur et Web Services comme sur la figure suivante :
David Durand - D314 : Web Services 3
Développement Web Service
Création du code métier
L’approche Bottom-up consiste à partir d’un code existant pour l’exposer en tant que Web-Service. On crée ici un simple projet Java nommé LibrairieMath, dans lequel on ajoute une
classe math.Math :
David Durand - D314 : Web Services 4
Création du Web Service
A partir de la classe math.Math, utiliser le menu contextuel pour générer le Web Service associé. Un nouveau projet «WS_exemple1_start» sera créé :
David Durand - D314 : Web Services 5
Configuration du Web Service
L’assistant vous propose ensuite de sélectionner les méthodes exposées par le Web-Service. Dans notre exemple, nous n’avons qu’une seule méthode :
David Durand - D314 : Web Services 6
Lancement du Web Service
A l’étape suivante, l’assistant vous propose de démarrer le serveur Tomcat configuré dans Eclipse. il est possible que votre système ou votre pare-feu vous demande l’autorisation de
démarrer un logiciel qui écoute sur un port. Après confirmation et fermeture de l’assistant, le serveur Tomcat est démarré dans Eclipse :
David Durand - D314 : Web Services 7
Test du Web Service avec le Web Service Explorer
Dans le projet généré, utiliser le menu contextuel sur le fichier Math.wsdl tester le service. Un formulaire vous est proposé pour appeler la méthode add, en lui passant des paramètres.
Après soumission du formulaire, le résultat s’affiche dans la fenêtre de statut.
David Durand - D314 : Web Services 8
Partie Cliente
Nous créons maintenant dans un projet séparé le code client utilisé pour l’appel au service. Toujours à l’aide du menu contextuel utilisé sur Math.wsdl, générer le client comme sur la figure
suivante, sans oublier de préciser le nom du projet :
David Durand - D314 : Web Services 9
Création de la classe principale
Dans le projet nouvellement créé, ajouter une classe Java. Dans le code suivant, MathServiceLocator est un objet vous mettant en relation avec le service math.Math . Il contient entre autre
l’adresse utilisée pour localiser le service. Sa méthode getMath() renvoie un proxy vers le service, qui va se charger de lui transmettre les appels.
David Durand - D314 : Web Services 10
Appel du service
Lancer la classe MainClient nouvellement créée. Le résultat de l’opération s’affiche dans la console. (Ne pas tenir compte des messages d’avertissement signalant l’absence de certaines
librairies, nous n’en avons pas besoin)
David Durand - D314 : Web Services 11
Deploiement du Web Service
Pour le moment, tout a été testé dans Eclipse, il s’agit maintenant de tester notre service dans un serveur autonome.
Export WAR
Sélectionner le dossier racine du projet Web Service, et utiliser le menu contextuel pour Exporter... sous la forme d’une Web Archive. Choisissez le dossier webapps de tomcat pour
enregistrer l’archive.
David Durand - D314 : Web Services 12
Configuration du serveur Apache Tomcat autonome.
Pensez à arrêter le serveur Tomcat d’Eclipse avant les prochaines étapes. Configurez - si ce n’est pas déjà fait - la variable d’environnement système JRE_HOME pour qu’elle pointe sur le
dossier d’installation de votre JRE. Tomcat a besoin de cette variable pour démarrer :
David Durand - D314 : Web Services 13
Vérification de la présence du service
Au démarrage de Tomcat, celui-ci a automatiquement chargé le fichier WAR présent dans son dossier webapps. On doit donc pouvoir tester le service directement dans le navigateur, en
utilisant une adresse de la forme http://www.localhost:8080/NOM_DU_PROJET/services/Math
Il est également possible de tester directement l’appel d’une méthode de notre service à partir de la barre d’adresse. On obtient alors la réponse SOAP contenant le résultat.
David Durand - D314 : Web Services 14
Export du client et test final
Dans Eclipse, exporter le projet client de manière à obtenir un JAR exécutable. Exécutez enfin le fichier JAR obtenu pour tester le service
David Durand - D314 : Web Services 15

Documents pareils

Applications Réparties TD 4 Web Services en Java - Jean

Applications Réparties TD 4 Web Services en Java - Jean notamment de générer automatiquement le fichier WSDL à partir d'une classe java et le code nécessaire à l'appel du service web. Pour son utilisation, Axis nécessite un J.D.K. 1.7 minimum et un cont...

Plus en détail