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:
So laden Sie Metadaten mit Svcutil.exe herunter
Suchen Sie das Tool Svcutil.exe am folgenden Speicherort:
C:\Programme\Microsoft SDKs\Windows\v1.0.\bin
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.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-AdressierungEndpointAddress
- 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