2012-04-10 23 views
6

¿Podría alguien tener la amabilidad de mostrarme la mejor manera de determinar si existe un servicio web (ASP.NET) en una URL determinada?Compruebe si existe un servicio web

Supongo que un enfoque será algo así como la emisión de una solicitud utilizando System.Net.Webclient, pero ¿cómo podría determinar si es un servicio web válido y qué tipo de solicitud debo emitir?

EDITAR: Para agregar un poco más de contexto estoy determinando si existe un servicio web porque estoy intentando construir una herramienta genérica que use servicios web arbitrarios.

+0

el fin de consumir servicios web, la herramienta también tendrá WSDL proporcionado por el usuario. Al usar WSDL puede determinar qué funciones tiene el servicio web y puede llamarlo automáticamente. – adt

+0

No hay una forma genérica de hacer esto para un servicio arbitrario. Además, ¿por qué quiere poder llamar a un servicio arbitrario, cuando soapUI hará eso por usted? –

Respuesta

4

La única manera en mi humilde opinión para asegurarse que el servicio es hasta es ser capaz de llamar a un método inocuo en el servicio y verificar la respuesta. Recuperar el WSDL no es suficiente.

Hay una similar, de modo de interrogación en esto aquí: - How do I test connectivity to an unknown web service in C#?

+0

Buen enlace, aplausos por eso –

0

Pediría un documento WSDL. Si lo recuperas significa que el servicio existe y puedes consultar WSDL para conocer los métodos implementados.

considerar leer sobre WS-Discovery

http://docs.oasis-open.org/ws-dd/discovery/1.1/wsdd-discovery-1.1-spec.html

+0

esto no es una respuesta, le dices, lee el manual y el msdn y lo encuentras. Sabes la respuesta ? – Aristos

+0

algunos servicios pueden deshabilitar la exposición de wsdl. por ejemplo: razones de seguridad. – adt