Outil Web Services Description Language Tool (Wsdl.exe)
Cette rubrique est spécifique à une technologie existante. Les services Web XML et les clients du service Web XML doivent à présent être créés à l'aide de Windows Communication Foundation.
L'outil WSDL (Web Services Description Language) génère le code pour les services Web XML et les clients des services Web XML à partir de fichiers de contrat WSDL, de fichiers de schéma XSD et de documents de découverte .discomap.
Remarque : |
---|
WSDL.exe peut générer des classes avec des noms tels que « @chaîne ». Il s'agit de noms de type valides. Le préfixe '@' autorise les noms de type composés d'un mot-clé C#. |
wsdl [options] {URL | path}
Notes
Argument | Description |
---|---|
URL |
URL vers un fichier de contrat WSDL (.wsdl), un fichier de schéma XSD (.xsd) ou un document de découverte (.disco). Notez qu'il est impossible de spécifier une URL vers un document de découverte .discomap. |
Chemin d'accès |
Chemin d'accès à un fichier de contrat WSDL local (.wsdl), un fichier de schéma XSD (.xsd) ou un document de découverte (.disco ou .discomap).
Remarque :
Wsdl.exe ne récupère pas les inclusions et les importations à partir du réseau dans le cas d'un fichier local. Pour permettre à Wsdl.exe de récupérer des ressources réseau pendant le traitement d'un fichier local, passez une URL au fichier local. Par exemple, le fichier suivant utilise le réseau pour récupérer les ressources nécessaires :
wsdl File:///E:/Customers/WSDLS/Accounts.wsdl /out:proxy.cs
|
Option | Description |
---|---|
/appsettingurlkey:clé ou /urlkey:clé |
Spécifie la clé de configuration à utiliser pour lire la valeur par défaut de la propriété URL lors de la génération du code. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <appSettingUrlKey> et contient une chaîne. |
/appsettingbaseurl:URLbase ou /baseurl:URLbase |
Spécifie l'URL de base à utiliser lors du calcul du fragment d'URL. L'outil calcule le fragment d'URL en convertissant l'URL relative de l'argument URLbase en URL dans le document WSDL. Vous devez associer cette option à l'option /appsettingurlkey. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <appSettingBaseUrl> et contient une chaîne. |
/d[omain]:domaine |
Spécifie le nom de domaine à utiliser lors de la connexion à un serveur nécessitant une authentification. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <domain> et contient une chaîne. |
/l[anguage]:langage |
Spécifie le langage à utiliser pour la classe proxy générée. Vous pouvez spécifier le CS (C#; ayez comme valeur par défaut), VB (Visual Basic), J (JScript) ou VJS (Visual J#) comme argument de langage. Vous pouvez également spécifier le nom complet d'une classe qui implémente la classe System.CodeDom.Compiler.CodeDomProvider. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <language> et contient une chaîne. |
/n[amespace]:espace de noms |
Spécifie l'espace de noms pour le proxy ou le modèle généré. La valeur par défaut correspond à l'espace de noms global. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <namespace> et contient une chaîne. Cet élément doit figurer dans le fichier des paramètres. |
/nologo |
Supprime l'affichage de la bannière de démarrage Microsoft. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <nologo> et contient true ou false. |
/order |
Génère des identificateurs d'ordre explicites sur les membres de particule. |
/o[ut]:nomfichier ou nomrépertoire |
Spécifie le chemin (ou le répertoire) dans lequel le code proxy généré sera enregistré. Vous pouvez également spécifier un répertoire dans lequel créer ce fichier. L'outil dérive le nom de fichier par défaut du nom de service Web XML. Il enregistre les datasets générés dans différents fichiers. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <out> et contient une chaîne. |
/parameters |
Lit les options de ligne de commande du fichier XML spécifié. Utilisez cette option pour appliquer l'outil Wsdl.exe à un grand nombre d'options à la fois. La forme abrégée est /par:. Les éléments d'option sont contenus à l'intérieur d'un élément <wsdlParameters xmlns="https://microsoft.com/webReference/">. Pour plus d'informations, consultez la section Notes. |
/parsableerrors |
Affiche des erreurs dans un format similaire au format de rapport d'erreurs utilisé par les compilateurs de langage. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <parsableerrors> et a pour valeur true ou false. |
/p[assword]:mot de passe |
Spécifie le mot de passe à utiliser lors d'une connexion à un serveur qui requiert une authentification. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <password> et contient une chaîne. |
/protocol:protocole |
Spécifie le protocole à implémenter. Vous pouvez spécifier SOAP (valeur par défaut), HttpGet, HttpPost ou un protocole personnalisé spécifié dans le fichier de configuration. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <protocol> et contient une chaîne. |
/proxy:URL |
Spécifie l'URL du serveur proxy à utiliser pour les requêtes HTTP. La valeur par défaut correspond au paramètre du proxy système. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <proxy> et contient une chaîne. |
/proxydomain:domaine ou /pd:domaine |
Spécifie le domaine à utiliser lors d'une connexion à un serveur proxy qui requiert une authentification. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <proxydomain> et contient une chaîne. |
/proxypassword:motdepasse ou /pp:motdepasse |
Spécifie le mot de passe à utiliser lors d'une connexion à un serveur proxy qui requiert une authentification. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <proxypassword> et contient une chaîne. |
/proxyusername:nomutilisateur ou /pu:nomutilisateur |
Spécifie le nom d'utilisateur à utiliser lors d'une connexion à un serveur proxy qui requiert une authentification. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <proxyusername> et contient une chaîne. |
/server |
Génère une classe abstraite pour un service Web XML en fonction des contrats. Le comportement par défaut consiste à générer des classes du proxy client. En cas d'utilisation de l'option /parameters, cette valeur correspond à un élément <style> contenant « server ». |
/serverInterface |
Génère des interfaces pour l'implémentation serveur d'un service Web ASP.NET. Une interface est générée pour chaque liaison dans le ou les documents WSDL. L'outil WSDL implémente par lui-même le contrat WSDL (les classes qui implémentent l'interface ne doivent inclure aucun des attributs suivants dans les méthodes de classe : attributs de service Web ou attributs de sérialisation qui modifient le contrat WSDL). La forme abrégée est /si. En cas d'utilisation de l'option /parameters, cette valeur correspond à un élément <style> contenant « serverInterface ». |
/sharetypes |
Active la fonctionnalité de partage du type. Cette fonctionnalité crée un fichier de code avec une définition de type unique pour des types identiques partagés entre différents services (l'espace de noms, le nom et la signature électronique doivent être identiques). Référencez les services avec les URL « http:// » comme paramètres de ligne de commande ou créez un document discomap pour les fichiers locaux. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <sharetypes> et a pour valeur true ou false. |
/u[sername]:nomutilisateur |
Spécifie le nom d'utilisateur à utiliser lors d'une connexion à un serveur qui requiert une authentification. En cas d'utilisation de l'option /parameters, cette valeur correspond à l'élément <username> et contient une chaîne. |
/? |
Affiche la syntaxe et les options de commande de l'outil. |
Un fichier .wsdl est un document XML écrit dans une grammaire XML appelé Web Services Description Language (WSDL). Ce fichier définit le comportement d'un service Web XML et explique aux clients comment interagir avec le service.
Vous pouvez obtenir des documents de découverte pour un service Web XML à l'aide de l'Outil Web Services Discovery (Disco.exe). Les fichiers .discomap, .disco, .wsdl et .xsd créés par cet outil peut servir d'entrées pour Wsdl.exe.
Lorsque vous utilisez Wsdl.exe pour créer une classe proxy, un fichier source unique est créé dans le langage de programmation que vous spécifiez. Pendant la génération du code source pour la classe proxy, l'outil détermine le type qui convient le mieux pour les objets spécifiés dans la description du service. Dans certains cas, l'outil utilise l'approche du plus petit dénominateur commun pour la conversion d'objets en un type. Par conséquent, le type généré dans la classe proxy peut ne pas être ce que le développeur souhaite ou attend. Par exemple, lorsque Wsdl.exe rencontre un type ArrayList dans une description de service, il crée un tableau Object Array dans la classe proxy générée. Pour garantir des conversions de type d'objet correctes, ouvrez le fichier contenant la classe proxy générée et remplacez les types d'objets incorrects par le type d'objet attendu.
- L'option /parameters désigne un fichier contenant des éléments qui correspondent à la plupart des options de ligne de commande. Certaines options d'invite de commandes sont uniquement disponibles dans les formats de fichier /.
Le format de fichier XML accepté par l'option /parameters est une série d'éléments à l'intérieur d'un élément <wsdlParameters xmlns="https://microsoft.com/webReference/"> extérieur. Si vous fournissez des valeurs d'invite de commandes mais qu'un fichier /parameters contient des options ou des valeurs différentes, ce sont les valeurs spécifiées à l'invite de commandes qui sont utilisées. L'élément <wsdlParameters xmlns="https://microsoft.com/webReference/"> doit contenir un élément <nologo>, un élément <parsableerrors> et un élément <sharetypes>.
Plusieurs options sont passées comme éléments enfants de l'élément <webReferenceOptions>, qui doit contenir un élément <verbose>. Les autres éléments enfants de <webReferenceOptions> sont :
<style>. Contient « client », « server » ou « serverInterface ».
<schemaImporterExtension>. Contient un nombre quelconque d'éléments <type>.
<codeGenerationOptions>. Accepte l'ensemble des chaînes suivantes délimitées par des espaces.
"properties"
"newAsync"
"oldAsync"
"order"
"enableDataBinding"
Consultez la section Exemples ci-après pour obtenir des démonstrations de l'option /parameters.
Exemples
La commande suivante crée une classe de proxy client en langage C# pour le service Web XML.
wsdl http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
La commande suivante crée une classe de proxy client en langage C# pour un service Web XML situé à l'URL spécifiée. L'outil enregistre la classe du proxy client dans le fichier myProxyClass.cs
.
wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
La commande suivante crée une classe du proxy client en langage Microsoft Visual Basic pour un service Web XML situé à l'URL spécifiée. L'outil enregistre la classe du proxy client dans le fichier myProxyClass.vb
.
wsdl /language:VB /out:myProxyClass.vb http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
Le code d'exemple suivant présente un fichier WSDL /parameters de base (avec uniquement les éléments obligatoires susceptibles d'être employés) combiné avec un argument URL, à l'invite de commandes.
<wsdlParameters xmlns="https://microsoft.com/webReference/">
<nologo>true</nologo>
<parsableerrors>true</parsableerrors>
<sharetypes>true</sharetypes>
</wsdlParameters>
Les documents WSDL sont ajoutés dans le fichier WSDL /parameters au moyen de l'élément <documents>, comme le montre l'exemple de code suivant. Un nombre quelconque d'éléments <document> peut être utilisé à l'intérieur de l'élément <documents>.
<wsdlParameters xmlns="https://microsoft.com/webReference/">
<nologo>true</nologo>
<parsableerrors>true</parsableerrors>
<sharetypes>true</sharetypes>
<documents>
<document>https://www.contoso.com/service.asmx?WSDL</document>
</documents>
</wsdlParameters>
Le fichier WSDL /parameters suivant montre comment utiliser les éléments <codeGenerationOptions> et <style> à l'intérieur de l'élément <webReferenceOptions>. Dans ce cas, le fichier autorise le nouveau style de liaison de données dans le code proxy, spécifie une extension d'importateur de schéma qui ne permet pas une sortie en clair et demande à Wsdl.exe de créer un proxy client.
<wsdlParameters xmlns="https://microsoft.com/webReference/">
<nologo>true</nologo>
<parsableerrors>true</parsableerrors>
<sharetypes>true</sharetypes>
<documents>
<document>https://www.contoso.com/service.asmx?WSDL</document>
</documents>
<webReferenceOptions>
<verbose>false</verbose>
<codeGenerationOptions>properties newAsync enableDataBinding</codeGenerationOptions>
<schemaImporterExtension>
<type>MyNamespace.MyCustomImporterExtension,ExtensionLibrary</type>
</schemaImporterExtensions>
<style>client</style>
</webReferenceOptions>
</wsdlParameters>
Voir aussi
Référence
Outil Web Services Discovery Tool (Disco.exe)
Concepts
Création d'un proxy de service Web XML
Description de service Web XML
Vue d'ensemble des services Web XML