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é
Créez l'application à partir de laquelle vous voulez accéder à un service Web. Cette application peut être un autre service Web.
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.
Créez une instance de l'objet proxy dans votre code client, à l'endroit où vous voulez accéder au service Web.
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