C# día 19: Webservices
Vaya, pues esto de los webservices, con c# parece más fácil de lo esperado.
Primero se crea una clase hija de WebService, atención a la extensión
<%@WebService Language="C#" Class="Saludo"%> /** * Saluda.asmx * Ejemplo básico de webservice. * SE trata de una clase con un método accesible * como servicio web, un método que muestra el saludo standar * En el caso de IIS, cuelgaló en inetpub/wwwroot y verás que pasa: * se detecta el servicio y te permite ejecutarlo * * Para crear el proxy: * E:>wsdl http://localhost/Saluda.asmx?wsdl /out:c:inetpubwwwrootSaluda.cs * * Para crear la libreria a partir del proxy: * csc /t:library Saluda.cs */ using System; using System.Web.Services; // Nuestra clase hereda de WebService public class Saludo : WebService { [WebMethod] public string saludoStandar( string quien ) { return "Hola nena, un saludo de parte de " + quien; } }Podemos colgar ese fichero directamente de IIS y ver lo que ocurre. Magia! A continuación creamos un proxy de nuestro servicio web, cosa de la que se encarga el compilador. Y luego, podemos crear un cliente de prueba, adjuntando la librería del proxy en la compilación:
/** * ClienteSaluda.cs * Un programa cliente del servicio Web Saluda * Muy simple, hay que compilarlo usando la librería creada * con el proxy del webservice. * Compilacion: csc /r:Saluda.dll ClienteSaluda.cs */ using System; public class ClienteSaluda { // Método principal public static void Main () { string resultado = ""; System.Console.WriteLine("Vamos a invocar el servicio web"); // creamos la instancia del servicio Saludo miSaludo = new Saludo(); resultado = miSaludo.saludoStandar("Icaza"); System.Console.WriteLine("Resultado: {0}", resultado ); } }