You are on page 1of 4

Web Service Paso a Paso

Ejemplo 1 de Desarrollo de servicios Web


En este ejemplo, veremos cmo crear y publicar un servicio Web. En este ejemplo usaremos un editor de textos, (como el bloc de notas), ya que todo el cdigo necesario para la creacin del servicio Web lo vamos a incluir en un mismo archivo. El lenguaje a utilizar para escribir el cdigo, ser C#. Nota: Este es el mismo ejemplo que se us en la charla sobre Desarrollo y consumo de Web Services. Los pasos a dar sern los siguientes: 1- Abre el bloc de notas o cualquier otro editor de textos para crear el archivo HolaMundoWebS.asmx 2- Para que .NET Framework sepa que este archivo es un servicio Web, tenemos que indicrselo mediante la directiva de ASP.NET @ WebService, en esa directiva se indicar el lenguaje en el que estar el cdigo, as como el nombre de la clase: <%@ WebService Language="C#" Class="HolaMundoWebS" %> Para ms informacin sobre la directiva @ WebService accede a este artculo de la documentacin de Visual Studio .NET: ms-help://MS.VSCC/MS.MSDNVS.3082/cpguide/html/cpcondeclaringwebservice.htm 3- A continuacin escribiremos el cdigo que "normalmente" escribiramos para usar con .NET Framework, en este caso ser para definir la clase que contendr el servicio Web. 4- Empezaremos con la directiva using System.Web.Services;, la cual contiene las clases que nos permite crear servicios Web y clientes de servicios Web. Nota: Si necesitamos utilizar otras clases o tipos, tendremos que usar tantas directivas using (seguida del espacio de nombres) como necesitemos. Por ejemplo para poder utilizar las clases de acceso a bases de datos, escribiremos: using System.Data; 5- Una vez que hayamos importado todos los espacios de nombres que necesitemos, tendremos que declarar la clase propiamente dicha. Como recomendacin, es conveniente usar el atributo WebService, (no confundirlo con la directiva de ASP.NET de igual nombre), para indicar el espacio de nombres al que pertenece esta clase, as como para indicar una descripcin de la clase.

[WebService(Namespace="http://www.elguille.info/NET/WebServices/", Description="Hola, Mundo al estilo Web Service")] public class HolaMundoWebS { Nota: La recomendacin es usar como espacio de nombres, el sitio en el que estar alojado el servicio Web. 6- A continuacin se incluir el cdigo que contendr esta clase, en especial la declaracin de las funciones (o mtodos) que nuestra clase expondr desde el servicio Web, para ello debemos aplicar a cada uno de los mtodos que queramos que el servicio Web exponga, el atributo WebMethod. Si no indicamos este atributo, el mtodo no ser visible (o accesible) desde el servicio Web. Con este atributo, tambin podemos indicar una descripcin, la cual ser expuesta por el servicio Web, de esta forma los usuarios tendrn una mejor idea de cual es la funcin de dicho mtodo. [WebMethod(Description="Devuelve la cadena Hola, Mundo")] public string Saludar() { return "Hola, Mundo"; } 7- Podemos seguir aadiendo ms mtodos al servicio Web, pero hay que tener presente que para que ese mtodo sea expuesto por el servicio Web, debe tener el atributo WebMethod. 8- Una vez que hemos escrito todo el cdigo de la clase, para poder hacerlo pblico, tendremos que publicarlo en este servicio Web est totalmente incluido en un archivo slo tendremos que copiarlo y ya estar listo para poder guardaremos el archivo y un sitio Web. Debido a que y no tiene ms dependencias, usarlo.

Nota: Si no tenemos un sitio en Internet, podemos publicarlo en el sitio local de nuestro equipo: localhost. 9- Para poder usar este servicio Web desde el explorador simplemente tendremos que indicar la direccin Web en la que tengamos alojado el servicio Web, por ejemplo, si lo hemos copiado en el servidor local (localhost), tendremos que escribir: http://localhost/HolaMundoWebS.asmx En la figura 1, tenemos el servicio Web en el explorador:

Figura 1: El servicio Web en el explorador

Este sera el cdigo completo del cdigo que hemos usado en esta prctica: <%@ WebService Language="C#" Class="HolaMundoWebS" %> using System.Web.Services; [WebService( Namespace="http://www.elguille.info/NET/WebServices/", Description="Hola, Mundo al estilo Web Service")] public class HolaMundoWebS { [WebMethod(Description="Devuelve la cadena Hola, Mundo")] public string Saludar() { return "Hola, Mundo"; }

Este es el mismo cdigo pero para Visual Basic .NET: <%@ WebService Language="VB" Class="HolaMundoWebSVB" %> Imports System.Web.Services

<WebService( _ Namespace:="http://www.elguille.info/NET/WebServices/", _ Description:="Hola, Mundo al estilo Web Service")> _ Public Class HolaMundoWebSVB <WebMethod(Description:="Devuelve la cadena Hola, Mundo")> _ Public Function Saludar() As String Return "Hola, Mundo" End Function End Class

You might also like