2008-11-13 17 views
17

¿Cuál es la mejor manera de descargar todos los archivos WSDL expuestos por un servicio WCF?¿Cuál es la mejor manera de descargar todos los archivos WSDL expuestos por un servicio WCF?

Por ejemplo, el archivo WSDL raíz hace referencia a los siguientes archivos WSDL:

<xsd:import schemaLocation="http://localhost:80/?xsd=xsd0" namespace="http://tempuri.com"/> 
<xsd:import schemaLocation="http://localhost:80/?xsd=xsd1" namespace="http://tempuri.com"/> 

Lo ideal sería posible automatizar la descarga de manera que cada vez que el WSDL cambia sería fácil de distribuir los archivos a un cliente o incorporarlo a un documento/SDK.

Respuesta

2

Parece que Microsoft proporciona Disco.exe para hacer esto.

+0

Lo siento siendo tan tonto, pero ¿cómo descargarlo? –

6

Si posee el servicio, otra opción interesante que podría explorar es utilizar FlatWSDL behavior de Christian Weyer, que forzará a WCF a generar todo en un único documento WSDL, lo que facilitará la distribución.

+0

El excelente proyecto WCFExtras en codeplex también se puede usar para generar un solo archivo wsdl. Muerto fácil de usar, encuéntralo aquí - http://wcfextras.codeplex.com/ – Shuft

30

Mientras tanto, disco.exe se considera tecnología obsoleta por Microsoft.

Puede usar svcutil.exe /t:metadata para lograr lo mismo en la edad de WCF. Los beneficios adicionales son compatibles con características adicionales, por ejemplo, WS-Policy.

Guardar esquema de URL:

svcutil /t:metadata http://host/pathtomy.svc?wsdl

Guardar esquema de montaje, por ejemplo, en construcción automatizado:

svcutil /t:metadata c:\wcfweb\pathToWcfServiceAssembly.dll

+0

Gracias Bernard. No he estado haciendo ningún WCF por un tiempo. ¿Tiene alguna referencia? Marcaré su respuesta como aceptada si puede proporcionar una. –

+0

@ThomasBratt ¿Puedes aclarar a qué te refieres con referencia? –

+0

@Bernard se refiere a un enlace a la página de MS que dice que esto es así. –

2

No es un simple fragmento de código que permite la descarga de un WSDL y todos los archivos XSD pertenecientes para uso fuera de línea (por ejemplo, para generación de código).

actualización

El blog donde el fragmento de código se muestra ya no está disponible. Afortunadamente, Pablo Diez creó un pequeño proyecto basado en mi publicación de blog y lo subió a github. Está disponible ahora aquí: https://github.com/pablod/xsd-downloader

+0

+1 para la solución de Java. –

+0

El enlace está desactualizado –

+2

El enlace no está desactualizado; la solución es buena si está trabajando en Java. – Jason

Cuestiones relacionadas