Recherche de services Web

Mise à jour : novembre 2007

Il peut arriver, parfois, que vous soyez à la fois le fournisseur et l'utilisateur d'un service Web. Dans ce cas, vous connaissez probablement l'emplacement et la fonction du service Web. En d'autres occasions, il arrive que vous accédiez au service Web fourni par un tiers. Auquel cas, il se peut fort que vous ignoriez s'il existe un service Web adapté à vos besoins.

Références Web

Pour simplifier le modèle de codage, les applications écrites en code managé utilisent une référence Web pour représenter localement chaque service Web. Vous ajoutez une référence Web à votre projet à l'aide de la boîte de dialogue Ajouter une référence Web. Cette boîte de dialogue vous permet d'explorer votre serveur local, le répertoire Microsoft UDDI et Internet. Les fournisseurs de services Web rendent publics leurs services Web dans des annuaires de services Web, emplacements où les utilisateurs de services Web recherchent ces services. Pour plus d'informations, consultez Annuaires des services Web XML.

La boîte de dialogue Ajouter une référence Web utilise le processus de découverte du service Web pour rechercher les services Web autorisés sur les sites Web auxquels vous accédez dans la boîte de dialogue. Pour une adresse donnée, le processus interroge le site Web en utilisant un algorithme conçu pour rechercher les documents de description du service Web conformes à la syntaxe WSDL (Web Services Description Language). Pour plus d'informations, consultez Découverte de service Web XML et Description de service Web XML.

Une fois que vous avez trouvé un service Web auquel votre application peut accéder à l'aide de la boîte de dialogue Ajouter une référence Web, cliquez sur le bouton Ajouter une référence pour demander à Visual Studio de télécharger la description du service vers l'ordinateur local et de générer une classe proxy pour le service Web choisi. La classe proxy contiendra les méthodes permettant d'appeler chaque méthode de service Web exposée, aussi bien de façon synchrone que de façon asynchrone. Cette classe est contenue dans le fichier code-behind du fichier local .wsdl. Pour plus d'informations, consultez Références Web dans Visual Studio et Ajouter une référence Web, boîte de dialogue.

Vous pouvez utiliser la propriété de l'URL de la référence Web pour indiquer l'URL du service Web. L'option Ajouter une référence Web définit cette propriété par défaut à l'URL du service Web sélectionnée, qui est une URL statique. Une référence Web peut utiliser une URL statique ou dynamique.

Si vous gardez la valeur statique par défaut pour le comportement de l'URL, la classe proxy définit la propriété de l'URL à l'aide d'une URL codée en dur lorsque vous créez une instance de la classe.

Si vous affectez la valeur dynamic à la propriété Comportement de l'URL de la référence Web, l'application obtient l'URL au moment de l'exécution à partir de appSettings, élément (Schéma des paramètres généraux) du fichier de configuration de l'application. Lorsque vous indiquez une URL dynamique après l'ajout d'une référence Web, Visual Studio met à jour la classe proxy pour obtenir l'URL du fichier de configuration.

<appSettings>
   <add key="myApplication.myServer.Service1"
        value="http://myServer/myWebService/Service1.asmx"/>
</appSettings>

Lorsque vous créez une instance d'un objet proxy, vous pouvez également définir la propriété de l'URL de l'objet dans votre application.

Indépendamment de l'URL que le proxy utilise, il doit s'agir d'un service Web conforme au WSDL correspondant à celui qui est utilisé lors de l'ajout de la référence Web.

Une autre solution consiste à générer une classe proxy en utilisant un outil (WSDL, Web Services Description Language) similaire à celui qui est employé par Visual Studio pour créer une classe proxy lors de l'ajout d'une référence Web. Cette solution s'impose lorsque vous ne pouvez pas accéder au service Web à partir de l'ordinateur sur lequel Visual Studio est installé, ou lorsque le service Web se trouve sur un réseau auquel le client ne peut pas accéder avant l'exécution. Ensuite, vous ajoutez manuellement au projet de votre application le fichier que l'outil a généré. Pour plus d'informations, consultez Comment : générer un proxy de service Web.

Voir aussi

Concepts

Création de clients de service Web XML

Description de service Web XML

Autres ressources

Accès aux services Web en code managé