Partager via


Comment : accéder à un service Web en code managé

Mise à jour : novembre 2007

L'accès à un service Web à partir d'un code managé est un processus simple. Tout d'abord, vous ajoutez une référence Web à votre projet pour le service Web auquel vous voulez accéder. La référence Web crée une classe proxy avec les méthodes servant de proxys pour chaque méthode exposée du service Web. Ensuite, vous ajoutez l'espace de noms correspondant à la référence Web. Enfin, vous créez une instance de la classe proxy et accédez aux méthodes de cette classe comme vous le feriez pour les méthodes d'une autre classe. Pour plus d'informations, consultez Modèle de code pour l'accès aux services Web en code managé.

Par défaut, l'ajout d'une référence Web entraîne également l'ajout des méthodes à la classe proxy pour pouvoir accéder au service Web de façon asynchrone. Pour plus d'informations, consultez Comment : accéder de manière asynchrone à un service Web en code managé.

Pour accéder à un service Web en code managé

  1. Créez l'application à partir de laquelle vous voulez accéder à un service Web. Cette application peut être un autre service Web.

  2. Ajoutez une référence Web pour le service Web avec lequel votre application communiquera. Pour plus d'informations, consultez Ajout et suppression de références Web.

  3. Créez une instance de l'objet proxy dans votre code client, à l'endroit où vous voulez accéder au service Web.

  4. Accédez aux méthodes du service Web comme vous le feriez pour tout autre composant.

    Dans l'exemple de code ci-dessous, l'application cliente (Application1) accède à un service Web pour lequel elle a une référence Web (Converter) contenant une classe proxy (Service1), laquelle dispose d'une méthode (ConvertTemperature) pour appeler le service Web. Les deux lignes de code en gras représentent le code nécessaire pour pouvoir accéder au service Web.

    Imports System
    Module Module1
        Sub Main()
            Dim cService As New Converter.Service1()
            Dim dFahrenheit As Double
            Dim dCelsius As Double
            Console.Write("Temperature in degrees Fahrenheit: ")
            dFahrenheit = Convert.ToDouble(Console.ReadLine())
            dCelsius = cService.ConvertTemperature(dFahrenheit)
            Console.Write("Temperature in degrees Celsius: ")
            Console.WriteLine(dCelsius.ToString())
        End Sub
    End Module
    
    using System;
    namespace Application1
    {
       class Class1
       {
          static void Main()
          {
             Converter.Service1 cService = new Converter.Service1();
             Console.WriteLine("Temperature in degrees Fahrenheit: ");
             double dFahrenheit = Convert.ToDouble(Console.ReadLine());
             double dCelsius = cService.ConvertTemperature(dFahrenheit);
             Console.Write("Temperature in degrees Celsius: ");
             Console.WriteLine(dCelsius.ToString());
          }
       }
    }
    

Voir aussi

Concepts

Création de clients de service Web XML

Autres ressources

Accès aux services Web en code managé