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:
Para descargar metadatos mediante Svcutil.exe
Busque la herramienta Svcutil.exe en la ubicación siguiente:
C:\Archivos de programa\Microsoft SDKs\Windows\v1.0.\bin
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.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 unEndpointAddress
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