Procédure : utiliser Svcutil.exe pour télécharger des documents de métadonnées

Svcutil.exe vous permet de télécharger des métadonnées à partir de systèmes en cours d'exécution et de les enregistrer dans des fichiers locaux. Pour les schémas d'URL HTTP et HTTPS, Svcutil.exe tente de récupérer les métadonnées à l'aide de WS-MetadataExchange et du processus Découverte de service Web XML. Pour tous les autres schémas d'URL, Svcutil.exe utilise uniquement WS-MetadataExchange.

Par défaut, Svcutil.exe utilise les liaisons définies dans la classe MetadataExchangeBindings. Pour configurer la liaison utilisée pour WS-MetadataExchange, vous devez définir un point de terminaison client dans le fichier de configuration de Svcutil.exe (svcutil.exe.config) qui utilise le contrat IMetadataExchange et qui porte le même nom que le schéma d’URI (Uniform Resource Identifier) de l’adresse du point de terminaison des métadonnées.

Attention

Lors de l'exécution de Svcutil.exe pour obtenir des métadonnées pour un service qui expose deux contrats de service différents contenant chacun une opération du même nom, Svcutil.exe affiche une erreur indiquant « Impossible d'obtenir les métadonnées à partir de .... ». Par exemple, vous avez un service qui expose un contrat de service appelé ICarService avec une opération Get(Car c) et le même service expose un contrat de service appelé IBookService avec une opération Get(Book b). Pour contourner ce problème, procédez comme suit :

  • Renommez l'une des opérations.
  • Affectez au Name un nom différent.
  • Affectez à l'un des espaces de noms des opérations un espace de noms différent à l'aide de la propriété Namespace.

Pour télécharger les métadonnées à l'aide de Svcutil.exe

  1. Localisez l'outil Svcutil.exe à l'emplacement suivant :

    C:\Program Files\Microsoft SDKs\Windows\v1.0.\bin

  2. À l'invite de commandes, lancez l'outil en utilisant le format suivant.

    svcutil.exe /t:metadata  <url>* | <epr>  
    

    Vous devez spécifier l'option /t:metadata pour télécharger les métadonnées. Sinon, la configuration et le code client seront générés.

  3. L'argument <url> spécifie l'URL vers un point de terminaison de service qui fournit les métadonnées ou vers un document de métadonnées hébergé en ligne. L'argument <epr> spécifie le chemin d’un fichier XML contenant un EndpointAddress WS-Addressing pour un point de terminaison de service qui prend en charge WS-MetadataExchange.

Pour plus d’options sur l’utilisation de cet outil de téléchargement des métadonnées, consultez ServiceModel Metadata Utility Tool (Svcutil.exe).

Exemple

La commande suivante télécharge des documents de métadonnées à partir d'un service en cours d'exécution.

svcutil /t:metadata http://service/metadataEndpoint  

Voir aussi