ASP.NET: Crear un servicio web SOAP

Como crear un servicio web SOAP con Visual Studio y ejecutar la función HelloWorld() desde un navegador

El uso de servicios web está cada vez más extendido gracias a su compatibilidad con cualquier plataforma. Puedes utilizar servicios web para ofrecer servicios y información a diferentes aplicaciones entre sí.

Crear un proyecto web

Para empezar abrir Visual Studio (se utiliza la versión 2010) y desde Archivo > Nuevo sitio web.

El Framework debe ser superior a la versión 2.0 así que en este ejemplo se utiliza el Framework 3.5, el tipo de plantilla Servicio Web ASP.NET y el lenguaje de programación utilizaremos C#.

La estructura del proyecto es parecida a la siguiente imagen.

Configurar espacio de nombres

Por defecto, Visual Studio creará un Service.cs con un método web de prueba HelloWorld, para ejecutar el servicio web pulsar F5.

Como vemos aparece una recomendación para cambiar el espacio de nombres (para entornos productivos).

«Recomendación: cambiar el espacio de nombres predeterminado antes de hacer público el servicio Web XML».

Puede solucionar la recomendación cambiando el espacio de nombre predeterminado en el Service.cs dentro de la carpeta App_Code.

Lo ideal para que sea un nombre único sería el nombre de dominio de nuestra organización.

Si volvemos a ejecutar el sitio web (F5) vemos como hay bastante menos información que antes. Solo se muestran los métodos web públicos y disponibles del servicio web.

Ejecutar método del servicio web

Para ejecutar el método HelloWorld() después de ejecutar el proyecto hacemos clic sobre él y luego en el botón Invocar.

Puede realizar una prueba de invocación a través de POST / GET pulsando en el botón Invocar.

El servidor recibe la petición para generar y enviar el resultado en formato XML.

La información a tener en cuenta para conectarse con otras aplicaciones y consumir los métodos del servicio sería la siguiente:

URL del servicio web (.asmx)

Nombre del método

Acción SOAP

Namespace

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *