2009-09-18 10 views
9

Voy a usar C# para leer datos de unos pocos servicios web. Lo he hecho muchas veces antes, pero esas veces he tenido acceso directo a los servicios web desde mi máquina de desarrollo.Programación contra WSDL sin acceso al servicio web real

En este proyecto me acaban de enviar un archivo .wsdl y un par de archivos .xsd para el servicio web que tienen en su intranet local.

He visto que puedo usar "Agregar referencia web", y apuntar directamente al archivo .wsdl, de modo que se crea una clase C#.

Pero, ¿cómo puedo realmente probarlo? Me gustaría devolver algunos datos ficticios que puedo visualizar mientras desarrollo. ¿Algún consejo para esta situación?

Respuesta

15

Mock Webservice

Desde la fuente anterior, un archivo .cs se pueden generar mediante la apertura de un comando en Visual Studio y en funcionamiento algo como lo siguiente:

WSDL/idioma: CS/espacio de nombres: Su .Namespace.Here de entrada/salida: Directorio \ To \ Guardar \ a \/protocolo: SOAP/serverinterface finalmente-su-WSDL-file-here.wsdl

+1

Agradable. Gracias por ese enlace. – Brian

+2

Está perfectamente bien para preguntar aquí sin googlear. Este hilo debería ser el primer golpe cuando alguien google! –

+0

Sin objeciones a eso. Esto no fue una crítica, solo una información de donde vino el enlace. – Henrik

0

Es fácil de crear su propio trozo del lado del servidor. Suponiendo que quiere hacerlo con WCF, entonces go here. A continuación, puede agregar un poco de lógica básica para que su cliente funcione.

También puede usar la funcionalidad del servicio web heredado a través del WSDL tool's /Server option, aunque le recomiendo que use WCF.

1

La herramienta svcutil.exe incluida con el SDK de Windows (que se encuentra en C: \ Archivos de programa \ Microsoft SDKs \ Windows \ v6.0 \ Bin) es una herramienta de línea de comando que genera proxies de cliente WCF. He encontrado que esta es una buena forma de interrogar a un WSDL. Creará una interfaz para el servicio y luego una clase proxy que implementa esa interfaz. A continuación, puede simular otra cosa que implemente esa interfaz para facilitar las pruebas.

0

También es posible que desee probar un producto como "El violinista" (http://www.fiddler2.com)

Se le permite capturar paquetes HTTP (o HTTPS) y enviar un archivo de respuesta falsa automatizado atrás como si el servidor había enviado la respuesta . Lo uso para mi proyecto y funciona de maravilla cuando el servidor de prueba se desconecta (lo cual es a menudo). Tomo un paquete de respuesta anterior, lo guardo como un archivo de texto, luego lo envío de vuelta y la aplicación que estoy construyendo no tiene idea de que no vino del host real.

Cuestiones relacionadas