Vous êtes sur la page 1sur 6

Workshop e-Business

ISMIN 3A P2014

PARTIE 1. WEB SERVICES EN .NET 1

EXERCICE 1 : CRATION DUN WEB SERVICE


Nous allons raliser un Service Web qui effectue des oprations mathmatiques simples.

CRATION DUN NOUVEAU PROJET ASP.NET WEB SERVICE .


1.

Lancez Microsoft Visual Web Developer 2008 Express. Cliquer sur Fichier->Nouveau Site Web pour ouvrir
le dialogue Nouveau Site Web. Dans cette fentre, slectionnez Service Web ASP.NET. Dans la boite
Emplacement, slectionner Systme de fichiers, et choisissez Visual C# dans la boite Langage.

2.

Remplacez Website1 par MathServices la fin de la bote Emplacement puis cliquez sur OK.

3.

Dans la fentre ddition de code, cliquer sur le nom de classe Service puis cliquez droite et choisissez
Refactoriser. Changez le nom Service par MathService.

4.

Si lExplorateur de solutions nest pas visible, cliquez sur Affichage-> Explorateur de solutions sur le menu
principal. Cliquez droite sur le nom de fichier services.asmx et choisissez Renommer. Mme chose pour
le fichier App_Code\services.cs. Modifiez en consquence le fichier MathServices.asmx

5.

Cliquez droite sur le fichier MathServices.asmx dans lExplorateur de solutions. Dans le menu qui
apparat, choisissez llment, Dfinir comme page de dmarrage.

6.

Si ce nest pas dj le cas, ouvrez lditeur de code en cliquant droite sur MathService.asmx dans
lExplorateur de solutions et slectionner Afficher le Code dans le menu qui apparat.

Ce sujet est repris dun Lab fourni par Microsoft.

TP2 Web Services

Page 1

Philippe Laleve, 2014

Workshop e-Business

7.

ISMIN 3A P2014

Supprimez le code existant et tapez le code suivant immdiatement avant la parenthse fermante de la
classe MathServices.
[WebMethod]
public int Ajouter(int x, int y)
{ return (x + y); }
[WebMethod]
public int Multiplier(int x, int y) { return (x * y); }
[WebMethod]
public int Carre(int x) { return (x * x); }

8.

Lancer le Service Web en cliquant droite sur le nom du projet dans lExplorateur de solutions et en
choisissant le menu Gnrer le site Web dans le menu qui apparat. Appuyez sur la touche F5 pour
excuter la solution avec dbogage (CTRL-F5 pour sans). Testez les trois mthodes du Service Web dans le
navigateur. Pour tester les mthodes, cliquez sur les liens vers les noms des mthodes, tapez ensuite des
entiers dans les botes de texte et ensuite cliquez sur Appeler.

9.

Vous devriez voir apparatre une rponse XML dans le navigateur.

10. Fermez la solution en cliquant sur Fichier->Fermez le projet dans le menu principal.

EXERCICE 2 : UTILISATION DUN SERVICE WEB


Nous allons maintenant crer une application Web ASP.NET qui utilise le Service Web cre prcdemment.

CRATION DUN PROJET APPLICATION WEB ASP.NET QUI RFRENCE LE SERVICE


WEB MATHSERVICE.
1.

Cliquez sur Fichier->Nouveau Site Web puis choisir Site Web ASP.NET, slectionnez Visual C#, HTTP et
mettez http://localhost/WS_<votre_nom>/MathClient dans la bote Emplacement puis cliquez sur OK.

2.

Cliquez droite sur le nom du projet dans lExplorateur de solutions et cliquez sur Ajouter une rfrence
Web dans le menu qui apparat.

3.

Cliquez sur recherchez dans : Services Web sur lordinateur local et slectionnez le service MathService
cr prcdemment, ou bien tapez ladresse suivante :
http://localhost/WS_<votre_nom>/MathService/MathService.asmx.

TP2 Web Services

Page 2

Philippe Laleve, 2014

Workshop e-Business

ISMIN 3A P2014

4.

Tapez sur Entre puis changez localhost par MathService puis cliquez sur Ajouter la rfrence.

5.

Cliquez droite sur le fichier Default.aspx dans lExplorateur de solutions. Dans le menu qui apparat,
choisissez llment, Dfinir comme page de dmarrage.

6.

Passez lditeur pour le fichier Default en cliquant sur Default.aspx dans lExplorateur de solutions et
slectionnez Afficher le code.

7.

Tapez la ligne suivante dans le fichier Default.aspx.cs.


using MathService;

CRATION DE LINTERFACE UTILISATEUR POUR LE FORMULAIRE WEB.


1.

Si le concepteur pour Default.aspx nest pas visible, double-cliquez sur Default.aspx dans lExplorateur de
solutions.

2.

Vous disposez de deux modes de saisie, le mode Design et le mode HTML, choisis en cliquant sur les
onglets dans la partie basse gauche du concepteur.

3.

En mode HTML, vous avez saisir les lignes HTML comme dans nimporte quel diteur.

4.

En mode Design, vous disposez dune Bote outils situe gauche de lcran ; en passant le curseur de la
souris sur licne, vous devriez la voir apparatre. Choisissez les outils Standard et slectionnez des Labels,
des TextBox et des Button par glisser/dposer sur le canevas, pour obtenir un quivalent de la figure de la
page suivante.

5.

Passer en mode HTML pour changer le nom des boutons et changer le titre de la page.

6.

Toujours dans ce mode, reprer les id des Button et des TextBox (ce seront les identificateurs des
variables dans les extraits de source ci-dessous).

7.

Faites toute autre modification souhaite pour le style de la page.

TP2 Web Services

Page 3

Philippe Laleve, 2014

Workshop e-Business

ISMIN 3A P2014

8.

Passez la vue Design et double-cliquez sur le bouton Ajouter.

9.

Tapez le code suivant dans lvnement Button1_Click du bouton Ajouter (le nom Button1 est lid de ce
bouton).
int iOp1;
int iOp2;
int iResult;
iOp1 = Int32.Parse(TextBox1.Text);
iOp2 = Int32.Parse(TextBox2.Text);
iResult = new MathService.MathService().Ajouter(iOp1, iOp2);
TextBox3.Text = iResult.ToString();

Les variables TextBox1 TextBox3 sont les id des TextBox (cf. vue HTML du fichier Default.aspx).
10. Revenez la vue Design et double-cliquez sur le bouton Multiplier. Tapez le code suivant dans
lvnement Button2_click.
int iOp1;
int iOp2;
int iResult;
iOp1 = Int32.Parse(TextBox1.Text);
iOp2 = Int32.Parse(TextBox2.Text);
iResult = new MathService.MathService().Multiplier(iOp1, iOp2);
TextBox3.Text = iResult.ToString();

11. Revenez la vue Design et double-cliquez sur le bouton Carr. Tapez le code suivant dans lvnement
Button3_click.
int iOp1;
int iResult;
iOp1 = Int32.Parse(TextBox1.Text);
iResult = new MathService.MathService().Carre(iOp1);
TextBox3.Text = iResult.ToString();

12. Pour excuter le projet, cliquer sur Dboguer puis Dmarrer ou en appuyant la touche F5. Testez le client
du Service Web. Pour quitter le dbogage, quittez le navigateur.

TP2 Web Services

Page 4

Philippe Laleve, 2014

Workshop e-Business

ISMIN 3A P2014

EXERCICE 3 : QUESTIONS
Nous allons maintenant reprendre les sources des parties cliente et prestataire pour rpondre quelques
questions.

PARTIE PRESTATAIRE.
1.

Retrouvez le fichier WSDL du Web Service que vous avez crit dans le premier exercice.

2.

Retrouvez les diffrentes parties de ce fichier et retrouvez les services proposs.

3.

Rechercher sur un site annuaire UDDI les services proposs par Microsoft concernant TerraServer. Affichez
le fichier WSDL correspondant. Retrouvez les services et les descriptifs des paramtres : est-ce suffisant
pour utiliser ?

4.

Comment indique-t-on Visual Studio quune mthode est un service Web ?

5.

Retrouvez dans le rpertoire racine du serveur les fichiers de lapplication Web, ainsi que le fichier WSDL.

PARTIE CLIENTE.
1.

Que fait exactement laction Ajouter une rfrence Web ?

2.

quoi sert la ligne using MathService ; ?

3.

iResult = new MathService.MathService().Ajouter(iOp1, iOp2) est lappel de quel Web Service ?.


Quelles sont les actions effectues ? Retrouvez les fichiers dans lesquels ces actions sont indiques.

EXERCICE 4 : UN PEU DE DVELOPPEMENT


Vous allez maintenant travailler seul pour dvelopper des applications clientes de Web Services existants.

UTILISATION CROISE.
Par binme, utilisez le Web Service de votre voisin dans votre application ASP.NET.
1.

Compltez les services offerts par toute fonction supplmentaire que vous jugez utile.

APPLICATION BASE DE DONNES ASP.NET PRCDENTE.


Dans le TP prcdent, vous avez dvelopp une application ASP.NET permettant daccder une base de
donnes Access.
1.

tudiez comment fournir les donnes sous forme de Web Services.

2.

Dveloppez le ou les Web Services ncessaires. Faites le test comme prcdemment, avec votre voisin.

SERVICE AMAZON.
La socit Amazon propose des Services Web pour accder sa base de rfrences. Allez sur le site
http://aws.amazon.com pour y chercher le fichier WSDL vous permettant daccder ces informations.
1.

crivez une application qui effectue une recherche de prix de livres partir dinformations saisies dans des
botes de dialogue.

SERVICES MASTERMIND.
Par binme, crivez une application de jeu du MasterMind, base sur des services Web.
1.

crivez un service de tirage au sort dune squence de couleurs (ou de chiffres de 0 7), dont le jeu
consistera en deviner lagencement.

2.

crivez un service de calcul du nombre de fiches blanches pour le nombre de couleurs mal places et le
nombre de fiches noires pour le nombre de couleurs bien places.

3.

crivez une application Web permettant de jouer au MasterMind.

TP2 Web Services

Page 5

Philippe Laleve, 2014

Workshop e-Business

ISMIN 3A P2014

SERVICE TERRASERVER.
La socit Microsoft propose un accs WSDL vers son service TERRASERVER, cette URL :
http://terraservice.net/webservices.aspx.
1.

En consultant ce site correspondant, crivez une application qui effectue la recherche des
longitude/latitude de villes amricaines fournies dans une bote de dialogue.

SERVICES GOOGLE.
Avec la clef suivante Z6IGNvFQFHJjtoTnnm2AaNzkkVapeKG5, essayer daccder aux Services Web Google.

VOUS DE JOUER.
Allez sur les sites UDDI ou dans des moteurs de recherche, et cherchez des Web Services intressants et
utilisez-les

PARTIE 2. VARIABLES DE SESSION AVEC LES WEB SERVICES EN .NET

EXERCICE 1 : CONSTATATION DU PROBLME

Nous allons vrifier que les variables de session ne sont pas transportes du Web Service vers les
applications ASP, plus exactement, ce sont les cookies qui ne sont pas propags.

AJOUT DUNE VARIABLE DE SESSION VOTRE WEB SERVICE.


1.

Dans le Web Service MathService que vous avez ralis prcdemment, ajoutez les services permettant le
cumul de valeurs.
[WebMethod]
public int InitCumul(int x)
[WebMethod]
public int Cumuler(int x)

2.

{ /* ? */}
{ /* ? */ }

Testez vos nouveaux Services Web en y accdant directement pour vrifier que les variables de session
sont bien prises en compte.

ACCS CES WEB SERVICES DANS UNE APPLICATION ASP.NET.


3.

Dans lapplication MathClient que vous avez ralise prcdemment, ajoutez ce quil faut dans votre
formulaire pour accder aux Web Services prcdents.

4.

Testez les Services Web en y accdant avec cette application. Que constatez-vous si vous excutez
InitCumul avec des valeurs diffrentes ?

EXERCICE 2 : SOLUTION.
Nous allons modifier lapplication ASP de telle sorte que les cookies soient propags.

MODIFICATION DE LAP PLICATION.


5.

Pour propager les cookies, il faut utiliser un CookieContainer qui transportera les cookies de session. Pour
cela, ajoutez using System.Net. Pour initialiser le CookieContainer qui transportera le cookie, ajoutez
les lignes suivantes o elles sont ncessaires :
CookieContainer container;
if (Session["CONTAINER "] == null) container = new CookieContainer();
else container = (CookieContainer) Session["CONTAINER "];

6.

Associez ensuite la proprit CookieContainer de linstance du Web Service que vous avez initialis avec le
CookieContainer obtenu dans le point prcdent avant dappeler le Web Service.
instance Web Service .CookieContainer = container;

7.

Appelez le Web Service normalement et replacez le CookieContainer dans les variables de session.
Session["CONTAINER"] = cookieJar;

8.

Testez les Services Web en y accdant avec cette application. Que constatez-vous maintenant si vous
excutez InitCumul avec des valeurs diffrentes ?

TP2 Web Services

Page 6

Philippe Laleve, 2014