Apuntes sobre Servicios Web con .NET

Apuntes del curso sobre servicios web XML con .NET.

Ejemplo básico “Hola mundo” de servicio web con .NET:

<%@ WebService Language="C#" Class="HolaMundo" %>
using System;
using System.Web.Services;

//tiene que coincidir el nombre de la clase con la declaración (HolaMundo)
public class HolaMundo:System.Web.Services.WebService
{
  [WebMethod]
  public string saludo()
  {
    return "Hola mundo!";
  }

}

Para realizar una llamada mediante GET haríamos una llamada al navegador de esta forma:

http://localhost/pruebas/HolaMundo.asmx/saludo

Obsérvese el nombre de la clase (HolaMundo) y el nombre del método (saludo) dónde van en la URL.

Si quisiéramos realizar una llamada POST al método saludo mediante un formulario HTML sería algo como esto:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <title>Cliente POST</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  </head>
  <body>
    <form method="post" action="http://localhost/pruebas/HolaMundo.asmx/saludo">
      <input type="submit" value="Llamada método" />
    </form>
  </body>
</html> 

Si quisieramos utilizar un método al que se le pasa un parámetro, por ejemplo una cadena de texto, la implementación del método sería algo así:

  [WebMethod]
  public string saludo2(string mensaje)
  {
    return mensaje;
  }

Y para realizar la llamada mediante POST, en el formulario HTML anterior añadiríamos un campo de texto que recogiera este parámetro. Su nombre habrá de ser el mismo que el del parámetro que necesita el método (mensaje):

      ...
      <input type="text" name="mensaje" />
      ...

Y para obtener la interfaz pública del servicios Web (WDSL) podemos invocarla desde un navegador introduciendo la siguiente URL:

http://localhost/pruebas/HolaMundo.asmx?WSDL

O ejecutando el programa WSDL que tiene Visual Studio .NET. Para Visual Studio 2005 podemos utilizar la ventana de comandos que tiene en Visual Studio Tools: Símbolo del sistema de Visual Studio 2005 con un comando parecido a este:

WSDL.exe <la_url> /language:CS

Esta instrucción generará una clase Proxy WSDL (archivo HolaMundo.cs) que después se puede utilizar para invocar al método saluda.

Otros artículos de esta serie:

[seriesposts show_date=0 order=asc]

Publicar un Comentario

Si es la primera vez que escribes, tu comentario será moderado por un administrador.

Con el fin de garantizar un ambiente de debate respetuoso, no se permitirán comentarios:

  • insultantes, difamatorios, racistas, sexistas, y/o discriminatorios
  • excesivamente críticos con otros participanes
  • que no aporten nada, sin sentido o repetidos
  • con enlaces considerados publicidad o spam
  • con material protegido por derechos de autor
*
*