4
  1 Le 03 Novembre 2011 Matière : Services Web ENSAT 2010-2011 : 3 ème  année cycle ingénieur Génie Informatique TP Série N°1: Procédure pas à pas : Appel de services Web XML à partir de Windows Forms Les services Web XML font partie des nouveautés de Visual Studio. Ceux-ci permettent d'échanger des messages dans un environnement faiblement couplé en utilisant des protocoles standard tels que HTTP, XML, XSD, SOAP et WSDL. Les messages peuvent être structurés et typés ou faiblement définis. Comme les services Web s'appuient sur des protocoles standards, vos applications de service Web peuvent communiquer avec une grande diversité d'implémentations, de plates-formes et de périphériques. Les services Web peuvent être utilisés pour améliorer la fonctionnalité des Windows Forms. La connexion des Windows Forms aux services Web se résume à de simples appels à des méthodes Web Service. Ces dernières sont traitées sur un serveur q ui retourne ensuite les résultats de l'appel de méthode. Il existe deux types de méthodes Web Service : synchrone et asynchrone. Lorsque des méthodes Web Service synchrones sont appelées, l'appelant attend que le service Web réponde avant de  poursuivre ses opérations. Lorsque des méthodes Web Service asynchrones sont appelées, vous  pouvez continuer d'utiliser le thread d'appel en attendant que le service Web réponde. Cela vous  permet d'utiliser efficacement l'ensemble des threads existants dans l'appli cation cliente. Méthodes Web Service synchrones Un appel à une méthode Web Service synchrone consiste à appeler la méthode et à attendre que le calcul ait lieu sur le serveur et qu'une valeur soit retournée avant d e continuer avec le reste du code dans le Windows Form. Pour créer un service Web XML 1. Créez une application de service Web. 2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le fichier .asmx et choisissez Afficher le code. 3. Créez une méthode Web Service qui effectue une addition. La méthode Web Service suivante prendra deux nombres entiers, les ajoutera et retournera la somme : ' Visual Basic <WebMethod()> Public Function WebAdd(ByVal x As Integer, ByVal y As Integer) As Integer

TP Service Web

  • Upload
    redd

  • View
    160

  • Download
    0

Embed Size (px)

Citation preview

5/13/2018 TP Service Web - slidepdf.com

http://slidepdf.com/reader/full/tp-service-web 1/4

 

  1

Le 03 Novembre 2011

Matière : Services Web 

ENSAT 2010-2011 : 3ème

année cycle ingénieur Génie Informatique

TP Série N°1:

Procédure pas à pas : Appel de services Web

XML à partir de Windows FormsLes services Web XML font partie des nouveautés de Visual Studio. Ceux-ci permettent

d'échanger des messages dans un environnement faiblement couplé en utilisant des protocoles

standard tels que HTTP, XML, XSD, SOAP et WSDL. Les messages peuvent être structurés ettypés ou faiblement définis. Comme les services Web s'appuient sur des protocoles standards,

vos applications de service Web peuvent communiquer avec une grande diversité

d'implémentations, de plates-formes et de périphériques.

Les services Web peuvent être utilisés pour améliorer la fonctionnalité des Windows Forms. La

connexion des Windows Forms aux services Web se résume à de simples appels à des méthodes

Web Service. Ces dernières sont traitées sur un serveur qui retourne ensuite les résultats de

l'appel de méthode.

Il existe deux types de méthodes Web Service : synchrone et asynchrone. Lorsque des méthodesWeb Service synchrones sont appelées, l'appelant attend que le service Web réponde avant de

 poursuivre ses opérations. Lorsque des méthodes Web Service asynchrones sont appelées, vous pouvez continuer d'utiliser le thread d'appel en attendant que le service Web réponde. Cela vous

 permet d'utiliser efficacement l'ensemble des threads existants dans l'application cliente.

Méthodes Web Service synchronesUn appel à une méthode Web Service synchrone consiste à appeler la méthode et à attendre que

le calcul ait lieu sur le serveur et qu'une valeur soit retournée avant de continuer avec le reste du

code dans le Windows Form.

Pour créer un service Web XML 

1.  Créez une application de service Web.

2.  Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le fichier .asmx etchoisissez Afficher le code.

3.  Créez une méthode Web Service qui effectue une addition. La méthode Web Service

suivante prendra deux nombres entiers, les ajoutera et retournera la somme :

' Visual Basic<WebMethod()> Public Function WebAdd(ByVal x As Integer, ByVal y AsInteger) As Integer

5/13/2018 TP Service Web - slidepdf.com

http://slidepdf.com/reader/full/tp-service-web 2/4

 

  2

Return x + yEnd Function

// C#[WebMethod]public int WebAdd(int x, int y){

return x + y;}

4.  Créez une autre méthode Web Service qui effectue une multiplication. La méthode Web

Service suivante prendra deux nombres entiers, les multipliera et retournera le produit :

' Visual Basic<WebMethod()> Public Function WebMultiply(ByVal x As Integer, ByVal yAs Integer) As Integer

Return x * yEnd Function

// C#[WebMethod]

public int WebMultiply(int x, int y){

return x * y;}

5.  Dans le menu Générer, cliquez sur Générer la solution. Vous pouvez également

localiser le fichier .asmx que vous avez créé dans ce projet pour en savoir plus sur lesservices Web. Votre service Web peut désormais être appelé à partir d'un Windows

Form.

Pour appeler un service Web XML de manière synchrone 

1.  Créez une nouvelle application Windows.

2.  Ajoutez une référence au service Web créé ci-dessus.

3.  Dans la boîte à outils, ajoutez trois contrôles TextBox et deux contrôles Button. Les

zones de texte seront réservées pour les nombres et les boutons seront utilisés pour 

effectuer les calculs et appeler les méthodes Web Service.

4.  Définissez les propriétés des contrôles comme suit :

Nom du Contrôle Propriété Texte

X Text 0

Y Text 0

R Text 0

CmdAjout Text Ajouter 

CmdSous Text Soustraire

CmdMult Text Multiplier 

CmdDiv Text Diviser 

CmdEff Text Effacer 

5.  Cliquez avec le bouton droit sur le formulaire et choisissez Afficher le code.

5/13/2018 TP Service Web - slidepdf.com

http://slidepdf.com/reader/full/tp-service-web 3/4

 

  3

6.  Créez une instance du service Web en tant que membre de la classe. Vous devez

connaître le nom du serveur où vous avez créé le service Web ci-dessus.

' Visual Basic' Replace localhost below with the name of the server where' you created the Web service.Dim MathServiceClass As New localhost.Service1()

// C#localhost.Service1 MathServiceClass = new localhost.Service1();

7.  Créez un gestionnaire d'événements pour l'événement Click de Button1.

' Visual BasicPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button1.Click' Create instances of the operands and result.

Dim x, y, z As Integer' Parse the contents of the text boxes into integers.

x = Integer.Parse(TextBox1.Text)y = Integer.Parse(TextBox2.Text)

' Call the WebAdd Web service method from the instance of the Webservice.

z = MathServiceClass.WebAdd(x, y)TextBox3.Text = z.ToString

End Sub

// C#private void button1_Click(object sender, System.EventArgs e){// Create instances of the operands and result.

int x, y, z;// Parse the contents of the text boxes into integers.

x = int.Parse(textBox1.Text);y = int.Parse(textBox2.Text);

// Call the WebAdd Web service method from the instance of the Webservice.

z = MathServiceClass.WebAdd(x, y);textBox3.Text = z.ToString();

}

Remarque Visual C# Assurez-vous que le code nécessaire à l'activation du

gestionnaire d'événements est présent. Dans ce cas, il doit ressembler au

code suivant :

this.button1.Click += new System.EventHandler(this.button1_Click);

8.  Créez de la même manière un gestionnaire d'événements pour l'événement Click de

Button2, puis ajoutez le code suivant.' Visual BasicPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button2.Click' Create instances of the operands and result.

Dim x, y, z As Integer' Parse the contents of the text boxes into integers.

x = Integer.Parse(TextBox1.Text)

5/13/2018 TP Service Web - slidepdf.com

http://slidepdf.com/reader/full/tp-service-web 4/4

 

  4

y = Integer.Parse(TextBox2.Text)' Call the WebMultiply Web service method from the instance of the Webservice.

z = MathServiceClass.WebMultiply(x, y)TextBox3.Text = z.ToString

End Sub

// C#private void button2_Click(object sender, System.EventArgs e){// Create instances of the operands and result.

int x, y, z;// Parse the contents of the text boxes into integers.

x = int.Parse(textBox1.Text);y = int.Parse(textBox2.Text);

// Call the WebAdd Web service method from the instance of the Webservice.

z = MathServiceClass.WebMultiply(x, y);textBox3.Text = z.ToString();

}

Remarque Visual C# Assurez-vous que le code nécessaire à l'activation dugestionnaire d'événements est présent. Dans ce cas, il doit ressembler au

code suivant :

this.button2.Click += new System.EventHandler(this.button2_Click);

9.  Appuyez sur F5 pour exécuter l'application. Entrez des valeurs dans les deux premièreszones de texte. Lorsque vous appuyez sur le bouton Ajouter, la troisième zone de texte

doit afficher la somme de ces deux valeurs. Lorsque vous appuyez sur le bouton

Multiplier, la troisième zone de texte doit afficher le produit de ces deux valeurs.

Remarque Le traitement, par le serveur, du premier appel à un service

Web prend un certain temps, car le service Web est instancié sur le

serveur.

Aperçu de l'interface client :

Fig 1 : Utilisation d’un service web de mathématique simple

 Référence :http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/vbcon/html/vbconwindowsformswebservices.asp