Partilhar via


Como: Usar Svcutil.exe para baixar documentos de metadados

Você pode usar Svcutil.exe para baixar metadados de serviços em execução e para salvar os metadados em arquivos locais. Para esquemas de URL HTTP e HTTPS, Svcutil.exe tenta recuperar metadados usando WS-MetadataExchange e XML Web Service Discovery. Para todos os outros esquemas de URL, Svcutil.exe usa apenas WS-MetadataExchange.

Por padrão, Svcutil.exe usa as associações definidas na MetadataExchangeBindings classe. Para configurar a associação usada para WS-MetadataExchange, você deve definir um ponto de extremidade do cliente no arquivo de configuração para Svcutil.exe (svcutil.exe.config) que usa o IMetadataExchange contrato e que tem o mesmo nome que o esquema URI (Uniform Resource Identifier) do endereço do ponto de extremidade de metadados.

Atenção

Ao executar Svcutil.exe para obter metadados para um serviço que expõe dois contratos de serviço diferentes que contêm cada um uma operação com o mesmo nome, Svcutil.exe exibe um erro dizendo: "Não é possível obter metadados de ...." Por exemplo, se você tiver um serviço que expõe um contrato de serviço chamado ICarService que tem uma operação Get(Car c) e o mesmo serviço expõe um contrato de serviço chamado IBookService que tem uma operação Get(Book b). Para contornar esse problema, siga um destes procedimentos:

  • Renomeie uma das operações.
  • Defina o Name para um nome diferente.
  • Defina um dos namespaces das operações para um namespace diferente usando a Namespace propriedade.

Para baixar metadados usando Svcutil.exe

  1. Localize a ferramenta Svcutil.exe no seguinte local:

    C:\Arquivos de Programas\Microsoft SDKs\Windows\v1.0.\bin

  2. No prompt de comando, inicie a ferramenta usando o seguinte formato.

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

    Você deve especificar a /t:metadata opção para baixar metadados. Caso contrário, o código do cliente e a configuração são gerados.

  3. O <url>argumento especifica a URL para um ponto de extremidade de serviço que fornece metadados ou para um documento de metadados hospedado online. O <epr> argumento especifica o caminho para um arquivo XML que contém um WS-Addressing EndpointAddress para um ponto de extremidade de serviço que oferece suporte a WS-MetadataExchange.

Para obter mais opções sobre como usar essa ferramenta para download de metadados, consulte ServiceModel Metadata Utility Tool (Svcutil.exe).

Exemplo

O comando a seguir baixa documentos de metadados de um serviço em execução.

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

Consulte também