Instrukcje: Używanie programu Svcutil.exe do pobierania dokumentów metadanych
Za pomocą Svcutil.exe można pobrać metadane z uruchomionych usług i zapisać metadane w plikach lokalnych. W przypadku schematów adresów URL HTTP i HTTPS Svcutil.exe próbuje pobrać metadane przy użyciu funkcji WS-MetadataExchange i odnajdywania usługi sieci Web XML. W przypadku wszystkich innych schematów adresów URL Svcutil.exe używa tylko programu WS-MetadataExchange.
Domyślnie Svcutil.exe używa powiązań zdefiniowanych w MetadataExchangeBindings klasie . Aby skonfigurować powiązanie używane dla programu WS-MetadataExchange, należy zdefiniować punkt końcowy klienta w pliku konfiguracji dla Svcutil.exe (svcutil.exe.config), który używa IMetadataExchange
kontraktu i ma taką samą nazwę jak schemat identyfikatora URI (Uniform Resource Identifier) adresu punktu końcowego metadanych.
Uwaga
Podczas uruchamiania Svcutil.exe w celu pobrania metadanych dla usługi, która uwidacznia dwa różne kontrakty usług, z których każda zawiera operację o tej samej nazwie, Svcutil.exe wyświetla błąd z komunikatem "Nie można uzyskać metadanych z ...." Jeśli na przykład masz usługę, która uwidacznia kontrakt usługi o nazwie ICarService
, który ma operację Get(Car c)
, a ta sama usługa uwidacznia kontrakt usługi o nazwie IBookService
, który ma operację Get(Book b)
. Aby obejść ten problem, wykonaj jedną z następujących czynności:
Aby pobrać metadane przy użyciu Svcutil.exe
Znajdź narzędzie Svcutil.exe w następującej lokalizacji:
C:\Program Files\Microsoft SDKs\Windows\v1.0.\bin
W wierszu polecenia uruchom narzędzie w następującym formacie.
svcutil.exe /t:metadata <url>* | <epr>
Musisz określić opcję pobierania
/t:metadata
metadanych. W przeciwnym razie generowany jest kod klienta i konfiguracja.Argument
<url>
określa adres URL punktu końcowego usługi, który udostępnia metadane lub dokument metadanych hostowany w trybie online. Argument<epr>
określa ścieżkę do pliku XML, który zawiera adresowanieEndpointAddress
WS dla punktu końcowego usługi obsługującego program WS-MetadataExchange.
Aby uzyskać więcej opcji użycia tego narzędzia do pobierania metadanych, zobacz ServiceModel Metadata Utility Tool (Svcutil.exe).
Przykład
Następujące polecenie pobiera dokumenty metadanych z uruchomionej usługi.
svcutil /t:metadata http://service/metadataEndpoint