Procédure pas à pas : accès à un service Web en utilisant Visual Basic ou Visual C#

Mise à jour : novembre 2007

La procédure pas à pas suivante décrit le processus permettant d'accéder à un service Web à partir d'une application créée avec Visual Basic ou Visual C#.

Au cours de cette procédure pas à pas, vous effectuerez les activités suivantes :

  • Création d'une application cliente à l'aide du modèle de projet d'application Web ASP.NET ;

  • ajout d'une référence Web à un service Web ;

  • écriture de code pour accéder au service Web ;

  • exécution de l'application Web en mode débogage ;

  • déploiement de l'application Web.

Pour effectuer cette procédure pas à pas, vous devez fournir les éléments suivants :

  • Étant donné que cette procédure pas à pas utilise une application Web pour accéder à un service Web, vous devez fournir un ordinateur qui réponde aux exigences de la création d'un projet Web. Vous devrez également disposer des autorisations suffisantes pour créer des projets de service Web sur l'ordinateur hébergeant votre serveur Web.

  • Un service Web créé à partir de la procédure pas à pas suivante :

Création d'un projet de client de service Web

Pour cette procédure pas à pas, vous allez créer une application Web simple qui accède au service Web TempConvert1, qui correspondait au nom attribué au service Web créé dans Procédure pas à pas : création d'un service Web en utilisant Visual Basic ou Visual C#.

xb5th1ba.alert_note(fr-fr,VS.90).gifRemarque :

Si vous avez modifié le nom du service Web de conversion de température à sa création, il vous suffit de remplacer les noms appropriés partout où le nom TempConvert1 apparaît dans cette procédure pas à pas.

Pour créer une application Web ASP.NET

  1. Dans le menu Fichier, cliquez sur Nouveau site Web.

  2. Dans la boîte de dialogue Nouveau site Web, sélectionnez l'icône Site Web ASP.NET.

  3. Entrez l'adresse du serveur Web sur lequel vous allez développer l'application Web et spécifiez TempConvertClient1 comme nom de répertoire (par exemple "http://MonServeur/TempConvertClient1"). Par défaut, le projet utilise votre ordinateur local, "https://localhost".

    xb5th1ba.alert_note(fr-fr,VS.90).gifRemarque :

    Pour certains types de projets, la zone de texte Nom n'est pas disponible, car le nom du projet est défini automatiquement lorsque vous spécifiez son emplacement. Par exemple, les applications Web et les services Web sont situés sur un serveur Web et leur nom est dérivé du répertoire virtuel spécifié sur ce serveur.

    xb5th1ba.alert_note(fr-fr,VS.90).gifRemarque :

    Les applications Web sont développées sur un serveur de développement. Par défaut, le serveur de développement est votre ordinateur local. En règle générale, vous développez et générez le projet sur un serveur de développement, puis vous le déployez sur un autre serveur (le serveur de déploiement) qui héberge l'application Web au moyen d'un projet de déploiement. Toutefois, si vous développez directement sur le serveur qui héberge l'application Web, le serveur de développement est identique au serveur de déploiement.

  4. Cliquez sur OK pour créer le projet.

  5. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Default.aspx et choisissez Concepteur de vues pour ouvrir le concepteur.

  6. Sous l'onglet Web Forms de la boîte à outils, faites glisser une Zone de texte, une Étiquette et un Bouton jusqu'à l'aire de conception de Default.aspx et arrangez ces éléments à votre convenance.

  7. Cliquez avec le bouton droit sur le bouton que vous avez ajouté, Button1, et cliquez sur Propriétés dans le menu contextuel. Dans la fenêtre Propriétés, attribuez à la propriété Text la valeur Convert.

  8. Cliquez avec le bouton droit sur l'étiquette que vous avez ajoutée, Label1, et cliquez sur Propriétés dans le menu contextuel. Dans la fenêtre Propriétés, effacez la propriété Text pour créer une étiquette vide.

Ajout d'une référence Web

La découverte de service Web est le processus utilisé par un client pour rechercher un service Web et obtenir sa description de service. Dans Visual Studio, le processus de découverte de service Web implique l'interrogation d'un site Web en fonction d'un algorithme prédéterminé. L'objectif de ce processus est de rechercher la description de service, qui est un document XML utilisant le langage de description de services Web (WSDL, Web Services Description Language). Pour plus d'informations, consultez Découverte de service Web XML.

La description de service décrit les services disponibles ainsi que les méthodes d'interaction avec ces services. Sans description de service, il est impossible d'interagir par programme avec un service Web. Pour plus d'informations, consultez Description de service Web XML.

Votre application doit avoir un moyen de communiquer avec le service Web et de le rechercher au moment de l'exécution. L'ajout d'une référence Web à votre projet pour le service Web permet d'effectuer ces opérations en générant une classe proxy qui se connecte au service Web et fournit une représentation locale de ce dernier. Pour plus d'informations, consultez Références Web dans Visual Studio et Comment : générer un proxy de service Web.

Pour ajouter une référence Web

  1. Dans le menu Site Web, cliquez sur Ajouter une référence Web.

  2. Dans la zone URL de la boîte de dialogue Ajouter une référence Web, tapez l'URL permettant d'obtenir la description du service Web auquel vous voulez accéder, par exemple https://localhost/TempConvert1/Service1.asmx. Cliquez ensuite sur le bouton Aller à pour récupérer des informations sur le service Web.

    - ou -

    Si le service Web existe sur l'ordinateur local, cliquez sur le lien Services Web sur l'ordinateur local dans le volet de navigation. Cliquez ensuite sur le lien du service Web TempConvert1 dans la liste fournie pour récupérer des informations sur ce service Web.

  3. Dans la zone Nom de la référence Web, renommez la référence Web en ConvertSvc, qui est l'espace de noms que vous utiliserez pour accéder à cette référence Web.

  4. Cliquez sur Ajouter une référence pour ajouter une référence Web au service Web cible. Pour plus d'informations, consultez Comment : ajouter et supprimer des références Web.

    Visual Studio télécharge la description de service et génère une classe proxy pour se connecter à votre application et au service Web.

Accès au service Web

Après avoir ajouté une référence pour le service Web à votre projet, vous devez créer une instance de la classe proxy du service Web. Vous pouvez alors accéder aux méthodes du service Web de la même manière qu'aux méthodes de tous les autres objets, en appelant les méthodes de la classe proxy. Lorsque votre application appelle ces méthodes, le code de classe proxy généré par Visual Studio gère les communications entre votre application et le service Web.

Dans un premier temps, vous allez créer une instance de la classe proxy du service Web. Vous allez ensuite prendre une valeur, fournie dans TextBox1, et effectuer un appel à la méthode ConvertTemperature du service Web en utilisant la classe proxy. Vous afficherez ensuite la valeur retournée par le service Web dans Label1.

Pour accéder au service Web

  1. Double-cliquez sur le bouton Convertir dans WebForm1.aspx pour créer une méthode de gestion d'événements pour ce bouton et pour afficher le fichier code-behind.

  2. Entrez le code suivant :

    ' Visual Basic
    Protected Sub Button1_Click(ByVal sender As Object, _
      ByVal e as EventArgs) Handles Button1.Click
        Dim ws As New ConvertSvc.Service
        Dim dFahrenheit As Double
        Dim dCelsius As Double
        Try
            dFahrenheit = Convert.ToDouble(TextBox1.Text)
            dCelsius = ws.ConvertTemperature(dFahrenheit)
            Label1.Text = dCelsius.ToString()
        Catch
            Label1.Text = "Conversion failed."
        End Try
    End Sub
    
    // C#
    protected void Button1_Click (System.Object sender, System.EventArgs e)
    {
       try
       {
          ConvertSvc.Service1 ws = new ConvertSvc.Service1();
          double dFahrenheit = Convert.ToDouble(TextBox1.Text);
          double dCelsius = ws.ConvertTemperature(dFahrenheit);
          Label1.Text = dCelsius.ToString();
       }
       catch
       {
          Label1.Text = "Conversion failed.";
       }
    }
    
    xb5th1ba.alert_note(fr-fr,VS.90).gifRemarque :

    Le nom de la classe de service Web générée lors de l'ajout d'une référence Web peut être différent de celui qui est affiché ci-dessus en tant que Service1.

  3. Sélectionnez Default.aspx dans l'Explorateur de solutions.

  4. Dans le menu Site Web, cliquez sur Définir comme page de démarrage.

  5. Enregistrez la solution.

Pour plus d'informations, consultez Comment : accéder à un service Web en code managé.

Débogage du client de service Web

Visual Studio offre plusieurs méthodes pour générer et exécuter une application Web à partir de l'environnement de développement intégré (IDE, Integrated Development Environment), notamment :

  • Exécuter (avec débogage)

  • Exécuter sans débogage

  • Afficher dans le navigateur

En tant que projet Visual Studio, cette application Web possède des configurations distinctes pour les versions de diffusion et de débogage. Dans la mesure où vous avez créé ce projet en utilisant le modèle de projet d'application Web ASP.NET, Visual Studio a automatiquement créé ces configurations et défini les options par défaut et les autres paramètres appropriés. Pour plus d'informations, consultez Comment : définir des configurations Debug et Release.

Dans cette procédure pas à pas, vous allez placer un point d'arrêt dans l'événement Button1_Click et utiliser la méthode Exécuter (avec débogage). Pour plus d'informations, consultez Comment : déboguer des services Web en code managé.

Avant d'entamer tout débogage, vérifiez vos paramètres de débogage. Pour plus d'informations, consultez Préparation du débogage : applications Web ASP.NET.

Pour utiliser un point d'arrêt et démarrer l'application Web avec débogage

  1. Dans le menu Déboguer, cliquez sur Nouveau point d'arrêt, puis sélectionnez Interrompre à la fonction.

    Tapez Button1_Click dans la zone Function, puis cliquez sur OK pour placer un point d'arrêt sur le gestionnaire d'événements Button1_Click. Pour plus d'informations, consultez Vue d'ensemble des points d'arrêt.

  2. Dans le menu Déboguer, cliquez sur Démarrer, puis sur OK dans la fenêtre Débogage non activé pour démarrer le débogage.

    Cette commande ordonne à Visual Studio d'exécuter l'application Web dans le débogueur. Visual Studio génère le projet et le déploie sur le serveur de développement spécifié. Au terme de l'exécution, le navigateur par défaut est lancé et navigue jusqu'au fichier .aspx sur le serveur de déploiement.

  3. Dès que la page s'affiche dans le navigateur, tapez le nombre 212 dans la zone de texte, puis cliquez sur le bouton Convertir.

    Lorsque le traitement atteint le gestionnaire d'événements Button1_Click, il s'arrête. Le débogueur Visual Studio met en surbrillance la ligne contenant le point d'arrêt et, lors de l'arrêt, vous permet d'effectuer plusieurs tâches. Pour plus d'informations, consultez Présentation du débogueur et Affichage des données dans le débogueur.

  4. Dans le menu Déboguer, cliquez sur Continuer pour poursuivre le traitement.

  5. Le service Web répond en retournant la valeur convertie, et l'application attribut au texte de Label1 la valeur 100.

    Pour mettre fin à l'exécution de l'application Web et retourner dans l'éditeur de code, dans le menu Déboguer, cliquez sur Arrêter le débogage.

  6. Dans le menu Déboguer, cliquez sur Effacer tous les points d'arrêt.

Déploiement du client

Pour mettre votre application Web à la disposition d'autres utilisateurs, vous devez la déployer sur un serveur Web accessible aux clients que vous souhaitez prendre en charge. Pour déployer l'application Web sur un autre serveur que le serveur de développement, vous pouvez ajouter un projet d'installation Web ou copier les fichiers requis sur le serveur de destination. Dans cette procédure pas à pas, vous pouvez choisir la méthode de déploiement de cette application Web. Pour plus d'informations, consultez Déploiement d'applications et de composants.

Pour déployer l'application Web en utilisant un projet d'installation Web

  1. Dans le menu Fichier, pointez sur Ajouter, puis cliquez sur NewProjet.

  2. Sélectionnez le nœud Autre, puis le nœud Projets d'installation et de déploiement, puis cliquez sur Projet d'installation Web.

  3. Dans la zone Nom, tapez TempConvertClient1WebSetup, puis cliquez sur OK.

    xb5th1ba.alert_note(fr-fr,VS.90).gifRemarque :

    Par défaut, le programme d'installation utilise le nom du projet de déploiement lors de la création du répertoire virtuel sur votre serveur de déploiement.

  4. Dans le volet de gauche de l'Éditeur du système de fichiers, sélectionnez Dossier d'application Web. Pour plus d'informations, consultez Éditeur du système de fichiers.

  5. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur TempConvertClient1WebSetup, pointez sur Ajouter, puis cliquez sur Sortie du projet.

  6. Dans la boîte de dialogue Ajouter le groupe de sorties du projet, sélectionnez ContentFiles. Pour plus d'informations, consultez Comment : ajouter et supprimer des sorties de projet dans l'Éditeur du système de fichiers.

    • Le groupe Fichiers de contenu se compose des fichiers restants pour l'application Web, notamment WebForm1.aspx et Web.config.
  7. Cliquez sur OK.

  8. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet TempConvertClient1WebSetup, puis, dans le menu contextuel, cliquez sur Générer.

    Vous créez ainsi un fichier Windows Installer dans le répertoire du projet local. L'exécution de ce fichier installe l'application Web.

Pour déployer l'application Web en copiant le projet

  1. Dans l'Explorateur de solutions, sélectionnez le projet TempConvertClient1.

  2. Dans le menu Projet, cliquez sur Copier le site Web.

  3. Cliquez sur l'icône située en regard de la zone déroulante Se connecter à pour ouvrir la boîte de dialogue Ouvrir le site Web. Accédez à l'emplacement auquel vous souhaitez copier le projet.

  4. Dans le volet Site Web source, sélectionnez les fichiers à copier et déplacez-les vers le volet Site Web distant en cliquant sur l'icône de flèche pointant vers la droite.

  5. Cliquez sur Copier le site Web pour copier le site Web.

Voir aussi

Autres ressources

Procédures pas à pas de création et d'utilisation de services Web

Procédures pas à pas Visual Studio

Programmation du Web avec les services Web