TP2 Webservices SOAP BasicetAxis
TP2 Webservices SOAP BasicetAxis
TP2
Les Services Web SOAP
Installation et Démarrage
Pour les besoins de ce TP (à installer dans l’ordre):
-Installation de JDK 7 ou ++.
- Outil axis
- Netbeans avec version récente: C’est l’environnement de développement pour JavaEE.
- Visual Studio avec version récente : C’est l’environnement de développement pour les applications Dot.Net.
- soapUI: outil de test léger pour les services web.
1- Création d'un Service Web en utilisant le fournisseur de services Web Axis
a. Création du web service
La première étape consiste à définir la classe du service web qui retournera au client la chaine de caractères Hello Word
Attention, vous devez sauvegardez votre classe sous le fichier portant le même nom de la classe et suffixé par « jws » ! Ici, le fichier de
sauvegarde sera donc : «ServiceHelloWord.jws ». dans le dossier C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\axis
Procédure à faire : Copy ServiceHelloWord.java ServiceHelloWord.jws
b- Déployer le service au sein d’un fournisseur de services web. L’environnement d’exécution et de déploiement des services web que nous
utilisons est l’outil « Axis ». Vous noterez qu’il n’est pas nécessaire de compiler le source java.
Vous êtes désormais en mesure d’accéder à votre service à l’URL suivante : http://localhost:8082/axis/ ServiceHelloWord.jws
Si vous cliquez sur ce dernier lien, vous verrez la définition « WSDL » (générée automatiquement par « Axis ») de votre service web.
http://localhost:8082/axis/Sommer.jws?wsdl
c- Test du web service : Pour exécuter une méthode de votre service et obtenir la réponse « SOAP » correspondante, vous tapez l’expression
suivante dans votre navigateur : http://localhost:8082/axis/ServiceHelloWord.jws? method=message
d- Même démarche comme ci-dessus, pour un service web qui retournera au client la somme de 2 entiers.
public class Sommer {
public int getsomme(int a, int b) {return a+b;} }
Indication : Pour exécuter votre service, vous tapez l’expression suivante dans votre navigateur :
http://localhost:8082/axis/Sommer.jws?method=getsomme&a=4&b=6
2. Création d'un Web Service en utilisant Outils NetBeans
2.1. Création du service web
Nous allons dans ce qui suit vous montrer comment réaliser WS en utilisant NetBeans et le serveur Glassfish.
1. Ouvrir NetBeans, et créer un nouveau projet de type Web, en tapant :
File -> New Project -> Java Web -> Web Application
2. Cliquer sur Next. Appeler votre projet HelloWorldService, cliquer sur Next.
3. Garder la configuration du serveur par défaut, soit GlassFish Server 4+.
4. Ne cochez aucun des frameworks proposés, et cliquer sur Finish.Un nouveau projet de type WebApplication sera créé.
5. Sous le répertoire Source Packages, faire un clic-droit, et choisir New -> Java Class.
Appeler votre nouvelle classe Hello et taper comme nom de package ests.soa.tp.service
6. Taper le code suivant dans votre classe.
1
7. Pour déployer votre service sur le serveur Glassfish, faire un clic-droit sur le projet, et choisir Deploy. Votre service web a bien été déployé
si la console Netbeans affiche un message comme celui-ci : BUIL SUCCESSFUL (total time…)
8. Il est possible de visualiser le fichier WSDL correspondant à la description de votre service en tapant l’URL suivant dans votre navigateur :
http://localhost:8080/HelloWorldService/HelloService?wsdl
9- Selon la démarche ci-dessus, visualiser le fichier WSDL pour un service web qui retournera au client la somme de 2 entiers.
2.2. Consommation du service web
Pour tester ou utiliser votre service web, plusieurs méthodes sont disponibles. Nous allons en montrer 3.
2.2.1. Tester le service web avec le Tester de Glassfish
Le serveur Glassfish vous fournit un outil pour tester votre service web directement sur le serveur. Pour cela, suivre les instructions suivantes :
1. Ouvrir un navigateur web et taper l’URL suivante :
http://localhost:8080/HelloWorldService/HelloService?Tester
2. La page suivante sera affichée :
3. Taper votre nom dans la case qui vous est fournie, et cliquer sur SayHello. Observer le résultat, ainsi que les requêtes et réponses SOAP
générées.
4. Faites le test également pour le service HelloWorldService2. Quelle est la différence entre les deux services ?
2.2.2. Tester le service web avec soapUI
Le serveur d’application qui héberge le service peut parfois être inaccessible à l’utilisateur. On dispose donc d’autres outils pour
4
tester notre service web. On cite par exemple l’outil soapUI qui est une solution de test open source et multi-plateforme, permettant
de créer rapidement et facilement des tests fonctionnels, grâce à une interface graphique intuitive.
1. Installer l’outil soapUI.
2. Pour tester votre service, créer un nouveau projet en tapant : File -> New soapUI Project
3. Taper comme nom de projet HelloWorldTest et donner l’URL du fichier WSDL du service HelloWorldService. Cliquer ensuite sur OK.
4. L’arborescence de votre projet devient comme suit :
2
3. Entrer dans le champs WSDL URL, l’URL du fichier wsdl du service HelloWorldService
4. Définir comme package : ests.soa.tp.client, et cliquer sur Finish
5. L’arborescence du projet devient alors comme suit :
6. Pour faire appel au service web, faites glisser la méthode sayHello (ci-dessus encadrée en rouge) qui se trouve dans Web Service
References -> HelloService -> HelloService -> HelloPort dans le code de la classe Main.java
7. Dans la méthode main de cette classe, ajouter l’appel à cette méthode en tapant :
System.out.println(sayHello(<votre nom>)) ;
8. Exécuter votre client, et observer le résultat.
9-Refaites la même opération, dans le même projet client, pour le service calcul de la somme de deux nombre
2.2.4. Consommer le service web avec un client JSP (indication : la même démarche comme 2.2.3)
3: Interopérabilité : Appel le service web à partir de DOT.NET
- Sous Visual Studio.Net, créer un nouveau projet de type « Visual C# / Windows / Windows Application » nommé AppelWSCalcul :
- Sélectionner l'option « Add new DataSource » du menu principal « Data »
- Sélectionner « Web Service » et cliquez sur bouton « Next ».
Faire référence au WebService déjà disponible sur la machine (exemple : http://localhost:8080/axis/Sommer.jws?wsdl)
Ajouter la référence au WebService en cliquant sur le bouton droit sur référence et en sélectionnant « Add Web Référence »
- Dans la fenêtre du projet, ajouter 2 contrôles de type TextBox et 3 de type Button