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:

  • Zmień nazwę jednej z operacji.
  • Name Ustaw wartość na inną nazwę.
  • Ustaw jedną z przestrzeni nazw operacji na inną przestrzeń nazw przy użyciu Namespace właściwości .

Aby pobrać metadane przy użyciu Svcutil.exe

  1. Znajdź narzędzie Svcutil.exe w następującej lokalizacji:

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

  2. 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.

  3. 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 adresowanie EndpointAddress 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  

Zobacz też