0% ont trouvé ce document utile (0 vote)
191 vues

TP2 Webservices SOAP BasicetAxis

Transféré par

Sara Chah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
191 vues

TP2 Webservices SOAP BasicetAxis

Transféré par

Sara Chah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 3

Ecole Supérieure de Technologie Salé 2020/2021

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 :

5. Double-cliquer sur Request1. La fenêtre suivante va s’ouvrir.

6. Le premier cadre représente la requête soap, et le second représentera la réponse.


Pour tester le service, taper votre nom à la place du « ? » dans la balise <arg0> ?</arg0>
7. Cliquer sur la flèche et observer le résultat.
Refaites le test pour le service Somme.
2.2.3. Consommer le service web avec une application cliente Java
Nous allons dans ce qui suit vous montrer comment consommer un service web avec une application en Java, en utilisant NetBeans.
1. Créer un nouveau projet de type : Enterprise Application Client (catégorie : JavaEE), que vous appellerez HelloWorldClient.
2. Pour définir un client au service web dans ce projet, faire un clic-droit sur le projet, et choisir : New -> Web Service Client… La fenêtre
suivante va apparaître :

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

Ajouter la clause using concernant la web référence générée.


using AppelWS_Calcul.ServiceReference1;
Dans le corps de la méthode, saisir le code de l'appel du service web.
Exemple de code:
private void button1_Click(object sender, EventArgs e)
{
ServiceReference1.SommerClient pp=new ServiceReference1.SommerClient();
int a = int.Parse(textBox1.Text);
int b = int.Parse(textBox2.Text);
int resultat = pp.getsomme(a,b);
textBox3.Text = "" + resultat;
}

Vous aimerez peut-être aussi