Procedura: usare Svcutil.exe per scaricare documenti di metadati

È possibile utilizzare Svcutil.exe per scaricare i metadati dai servizi in esecuzione e salvarli in file locali. Per gli schemi URL HTTP e HTTPS, Svcutil.exe tenta di recuperare i metadati usando WS-MetadataExchange e Individuazione dei servizi Web XML. Per tutti gli altri schemi URL, Svcutil.exe utilizza solo WS-MetadataExchange.

Per impostazione predefinita, Svcutil.exe utilizza le associazioni definite nella classe MetadataExchangeBindings. Per configurare l'associazione utilizzata per WS-MetadataExchange, nel file di configurazione di Svcutil.exe (svcutil.exe.config) è necessario definire un endpoint client che utilizza il contratto IMetadataExchange e che ha lo stesso nome dello schema URI (Uniform Resource Identifier) dell'indirizzo dell'endpoint dei metadati.

Attenzione

Quando si esegue Svcutil.exe per ottenere i metadati per un servizio che espone due contratti di servizio diversi che contengono un'operazione con lo stesso nome, Svcutil.exe viene visualizzato un errore che indica che "Impossibile ottenere metadati da..." Ad esempio, se si dispone di un servizio che espone un contratto di servizio denominato ICarService con un'operazione Get(Car c) e lo stesso servizio espone un contratto di servizio denominato IBookService che dispone di un'operazione Get(Book b). Per ovviare al problema, effettuare una delle seguenti operazioni:

  • Rinominare una delle operazioni.
  • Impostare Name su un nome diverso.
  • Impostare uno degli spazi dei nomi delle operazioni su uno spazio dei nomi diverso, utilizzando la proprietà Namespace.

Per scaricare metadati utilizzando Svcutil.exe

  1. Individuare lo strumento Svcutil.exe nel percorso seguente:

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

  2. Al prompt dei comandi, avviare lo strumento utilizzando il formato seguente.

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

    Per scaricare i metadati, è necessario specificare l'opzione /t:metadata. In caso contrario, verranno generati il codice client e la configurazione.

  3. L'argomento <url> specifica l'URL di un endpoint di servizio che fornisce metadati o a un documento di metadati ospitato online. L'argomento <epr> specifica il percorso di un file XML contenente un elemento EndpointAddress WS-Addressing per un endpoint servizio che supporta WS-MetadataExchange.

Per altre opzioni sull'uso di questo strumento per il download dei metadati, vedere lo strumento ServiceModel Metadata Utility (Svcutil.exe).

Esempio

Con il comando seguente vengono scaricati i documenti di metadati da un servizio in esecuzione.

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

Vedi anche