Procédure pas à pas : accès à un service Web XML en utilisant Visual Basic ou Visual C#
La procédure pas à pas suivante décrit le processus permettant d'accéder à un service Web XML à 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 XML ;
-
écriture de code pour accéder au service Web XML ;
-
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 :
-
Comme cette procédure pas à pas utilise une application Web pour accéder à un service Web XML, vous devez fournir un ordinateur qui répond aux besoins de la création d'un projet Web. Pour plus d'informations, consultez Visite guidée de la création de sites Web dans Visual Web Developer. Vous devrez également disposer des autorisations suffisantes pour créer des projets de service Web XML sur l'ordinateur abritant votre serveur Web. Pour plus d'informations, consultez Sécurité des sites Web ASP.NET (Visual Studio).
-
Un service Web XML créé à partir de la procédure pas à pas suivante :
Pour cette procédure pas à pas, vous allez créer une application Web simple qui accède au service Web XML TempConvert1, qui est le nom attribué au service Web XML créé dans la Procédure pas à pas : création d'un service Web XML en utilisant Visual Basic ou Visual C#.
Remarque |
|---|
| Si vous avez modifié le nom du service Web XML de conversion de température lorsque vous l'avez créé, il vous suffit de substituer les noms appropriés à TempConvert1 partout où il apparaît dans cette procédure pas à pas. |
Pour créer une application Web ASP.NET
-
Dans le menu Fichier, cliquez sur Nouveau site Web.
-
Dans la boîte de dialogue Nouveau site Web, sélectionnez l'icône Site Web ASP.NET.
-
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, "http://localhost".
Remarque 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 XML se trouvent sur un serveur Web et dérivent leur nom du répertoire virtuel spécifié sur ce serveur.
Remarque 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.
-
Cliquez sur OK pour créer le projet.
-
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Default.aspx et choisissez Concepteur de vues pour ouvrir le concepteur.
-
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.
-
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.
-
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.
La découverte de service Web XML est le processus utilisé par un client pour rechercher un service Web XML et obtenir sa description de service. Dans Visual Studio, le processus de découverte de service Web XML 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 d'un 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 XML. Pour plus d'informations, consultez Description de service Web XML.
Votre application doit posséder un moyen de communiquer avec le service Web XML et un moyen de le rechercher au moment de l'exécution. L'ajout d'une référence Web à votre projet pour le service Web XML permet d'effectuer ces opérations en générant une classe proxy qui se connecte au service Web XML et qui fournit une représentation locale de ce dernier. Pour plus d'informations, consultez Références Web et Génération d'un proxy de service Web XML.
Pour ajouter une référence Web
-
Dans le menu Site Web, cliquez sur Ajouter une référence Web.
-
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 XML auquel vous voulez accéder, par exemple http://localhost/TempConvert1/service1.asmx. Cliquez ensuite sur le bouton Aller à pour récupérer des informations sur le service Web XML.
- ou -
Si le service Web XML 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 XML TempConvert1 dans la liste fournie pour récupérer des informations sur ce service Web XML.
-
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.
-
Cliquez sur Ajouter une référence pour ajouter une référence Web au service Web XML cible. Pour plus d'informations, consultez Ajout et suppression de 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 XML.
Dès que vous ajoutez une référence pour le service Web XML à votre projet, vous devez créer une instance de la classe proxy du service Web XML. Vous pouvez alors accéder aux méthodes du service Web XML 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 XML.
Premièrement, vous allez créer une instance de la classe proxy du service Web XML. Ensuite, vous prendrez une valeur, fournie dans TextBox1, et vous effectuerez un appel à la méthode ConvertTemperature du service Web XML en utilisant la classe proxy. Vous afficherez ensuite la valeur retournée par le service Web XML dans Label1.
Pour accéder au service Web XML
-
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.
-
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."; } }
Remarque Le nom de la classe de service Web XML 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.
-
Sélectionnez Default.aspx dans l'Explorateur de solutions.
-
Dans le menu Site Web, cliquez sur Définir comme page de démarrage.
-
Enregistrez la solution.
Pour plus d'informations, consultez Accès à un service Web XML en code managé.
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 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 Débogage des services Web XML 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
-
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.
-
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.
-
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 Utilisation du débogueur et Outils de débogage pour l'examen de votre programme.
-
Dans le menu Déboguer, cliquez sur Continuer pour poursuivre le traitement.
-
Le service Web XML répond en retournant la valeur convertie, et l'application définit le 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.
-
Dans le menu Déboguer, cliquez sur Effacer tous les points d'arrêt.
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
-
Dans le menu Fichier, pointez sur Ajouter, puis cliquez sur New Projet.
-
Sélectionnez le nœud Autre, puis le nœud Projets d'installation et de déploiement, puis cliquez sur Projet d'installation Web.
-
Dans la zone Nom, tapez TempConvertClient1WebSetup, puis cliquez sur OK.
Remarque 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.
-
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.
-
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur TempConvertClient1WebSetup, pointez sur Ajouter, puis cliquez sur Sortie du projet.
-
Dans la boîte de dialogue Ajouter le groupe de sorties du projet, sélectionnez Content Files. Pour plus d'informations, consultez Ajout et suppression de 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.
-
-
Cliquez sur OK.
-
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
-
Dans l'Explorateur de solutions, sélectionnez le projet TempConvertClient1.
-
Dans le menu Projet, cliquez sur Copier le site Web.
-
Cliquez sur l'icône située en regard de la zone déroulante Connexion : pour ouvrir la boîte de dialogue Ouvrir le site Web. Accédez à l'emplacement auquel vous souhaitez copier le projet.
-
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.
-
Cliquez sur Copier le site Web pour copier le site Web.