Procedimiento para usar Svcutil.exe para descargar documentos de metadatos

Puede utilizar Svcutil.exe para descargar metadatos de los servicios en ejecución y para guardar los metadatos en archivos locales. Para obtener esquemas de direcciones URL HTTP y HTTPS, Svcutil.exe intenta recuperar metadatos mediante WS-MetadataExchange y la detección de servicios web XML. Para todos los otros esquemas de URL, Svcutil.exe utiliza sólo WS-MetadataExchange.

De forma predeterminada, Svcutil.exe utiliza los enlaces definidos en la clase MetadataExchangeBindings. Para configurar el enlace utilizado para WS-MetadataExchange, debe definir un extremo de cliente en el archivo de configuración para Svcutil.exe (svcutil.exe.config) que utiliza el contrato IMetadataExchange y que tiene el mismo nombre que el esquema del Identificador uniforme de recursos (URI) de la dirección del extremo de metadatos.

Precaución

Cuando se ejecuta Svcutil.exe para obtener metadatos para un servicio que expone dos contratos de servicio distintos, cada uno de los cuales contiene una operación con el mismo nombre, Svcutil.exe muestra el error "No se pueden obtener metadatos de..." Por ejemplo, si dispone de un servicio que expone un contrato de servicio denominado ICarService que tiene una operación Get(Car c) y el mismo servicio expone un contrato de servicio denominado IBookService, que tiene una operación Get(Book b). Para solucionar este problema, siga uno de estos procedimientos:

  • Cambie el nombre de una de las operaciones.
  • Establezca el Name en un nombre distinto.
  • Establezca el espacio de nombres de una de las operaciones en un espacio de nombres distinto mediante la propiedad Namespace.

Para descargar metadatos mediante Svcutil.exe

  1. Busque la herramienta Svcutil.exe en la ubicación siguiente:

    C:\Archivos de programa\Microsoft SDKs\Windows\v1.0.\bin

  2. En el símbolo del sistema, inicie la herramienta mediante el formato siguiente.

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

    Debe especificar la opción /t:metadata para descargar los metadatos. De lo contrario, se generan el código de cliente y la configuración.

  3. El argumento <url> especifica la dirección URL a un punto de conexión de servicio que proporciona metadatos o a un documento de metadatos que se hospeda en línea. El argumento <epr> especifica la ruta de acceso a un archivo XML que contiene un EndpointAddress de WS-Addressing para un punto de conexión de servicio que admite WS-MetadataExchange.

Para obtener más opciones sobre el uso de esta herramienta para la descarga de metadatos, consulte Herramienta de utilidad de metadatos de ServiceModel (Svcutil.exe).

Ejemplo

El comando siguiente descarga los documentos de metadatos de un servicio en ejecución.

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

Consulte también