Vorgehensweise: Verwenden von „Svcutil.exe“ zum Herunterladen von Metadatendokumenten

Svcutil.exe kann verwendet werden, um Metadaten aus ausgeführten Diensten herunterzuladen und die Metadaten in lokalen Dateien zu speichern. Bei HTTP- und HTTPS-URL-Schemas versucht Svcutil.exe, Metadaten mit WS-MetadataExchange und XML Web Service Discovery abzurufen. Bei allen anderen URL-Schemas verwendet Svcutil.exe nur WS-MetadataExchange.

Standardmäßig verwendet Svcutil.exe die in der MetadataExchangeBindings-Klasse definierten Bindungen. Wenn Sie die für WS-MetadataExchange verwendete Bindung konfigurieren möchten, müssen Sie einen Clientendpunkt in der Konfigurationsdatei für „Svcutil.exe“ (svcutil.exe.config) definieren, der den IMetadataExchange-Vertrag verwendet und über dasselbe URI-Schema der Metadaten-Endpunktadresse verfügt.

Achtung

Wenn Sie Svcutil.exe ausführen, um Metadaten für einen Dienst abzurufen, der zwei verschiedene Dienstverträge anbietet, die jeweils eine Operation mit demselben Namen enthalten, zeigt Svcutil.exe die Fehlermeldung "Cannot obtain Metadata from ...." an. Wenn Sie beispielsweise einen Dienst haben, der einen Dienstvertrag mit dem Namen ICarService anbietet, der eine Operation Get(Car c) enthält, und derselbe Dienst einen Dienstvertrag mit dem Namen IBookService anbietet, der eine Operation Get(Book b) enthält. Führen Sie einen der folgenden Schritte aus, um dieses Problem zu umgehen:

  • Benennen Sie eine der Operationen um.
  • Legen Sie die Name-Eigenschaft auf einen anderen Namen fest.
  • Legen Sie einen der Namespaces der Operation mit der Namespace-Eigenschaft auf einen anderen Namespace fest.

So laden Sie Metadaten mit Svcutil.exe herunter

  1. Suchen Sie das Tool Svcutil.exe am folgenden Speicherort:

    C:\Programme\Microsoft SDKs\Windows\v1.0.\bin

  2. Starten Sie das Tool an der Eingabeaufforderung mit dem folgenden Format.

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

    Um Metadaten herunterzuladen, müssen Sie die /t:metadata-Option angeben. Andernfalls werden Clientcode und -konfiguration generiert.

  3. Das <url>-Argument gibt die URL zu einem Dienstendpunkt an, der Metadaten bereitstellt, oder zu einem Metadatendokument, das online gehostet wird. Das <epr>-Argument gibt den Pfad zu einer XML-Datei an, die eine WS-Adressierung EndpointAddress- für einen Dienstendpunkt enthält, der WS-MetadataExchange unterstützt.

Weitere Optionen zur Verwendung dieses Tools zum Herunterladen von Metadaten finden Sie unter ServiceModel Metadata Utility Tool (Svcutil.exe).

Beispiel

Der folgende Befehl lädt Metadatendokumente aus einem ausführenden Dienst herunter.

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

Siehe auch