Xml web services

Solo disponible en BuenasTareas
  • Páginas : 8 (1876 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de septiembre de 2010
Leer documento completo
Vista previa del texto
XML Web Service

En ASP.NET los archivos de los Servicios Web XML están identificados por la extensión .asmx. Estos archivos son diferentes de los Web Forms; no definen ningún interfaz de usuario, solo definen las clases y métodos del Servicio Web XML. Es importante tener en mente que el “consumidor” de un Servicio Web XML es otra aplicación, no una persona, por eso el interfaz de usuario noes importante, lo que es importante es el interfaz de la clase.

Un fichero .asmx básico, sería como sigue:

using System;
using System.Web.Services;

[WebService()]
public class MyService : WebService
{
  [WebMethod()]
  public String SayHello( String YourName )
  {
    return "Hello, " + YourName;
  }
}

En este Servicio Web XML, vamos a crear una clase, MiServicio, como unServicio Web XML, y exponer un método, Saludar( ). El método recibe un valor String , y devuelve una cadena de texto, con la palabra “Hola” delante. Es un Servicio Web XML muy sencillo de hacer, pero que muestra lo realmente necesario para conocer como implementar uno desde cero. Este Servicio Web XML puede ser invocado usando cualquiera de los protocolos HTTP GET, HTTP POST o SOAP. Elargumento de entrada, es un tipo simple, un String , así que cualquiera de los tres protocolos funcionará. Cuando sea invocado, este Servicio Web XML devolverá un documento XML conteniendo un valor String, como se muestra a continuación:

Hello, Doug Seven

A continuación vamos a mostrar como construer un Servicio Web XML básico, identificar las partes, como la directiva @WebService, y losatributos WebMethod y WebService

¿Qué es la directiva @WebService?
La primera parte de un fichero .asmx es la directiva @WebService. Esta directiva, como la directiva @Page de un Web Form, se usa para identificar atributos específicos de un archivo de un Servicio Web XML.

• Language – Especifica el lenguaje .NET que se usa para crear el Servicio Web XML.
• Class – Nos dice el nombre dela clase que está siendo expuesto como un Servicio Web XML. Esta clase puede ser definida en el fichero .asmx, o en un ensamblado (assembly), que resida en el directorio /bin de la aplicación Web.

La directiva @WebService es el único código requerido por el fichero .asmx. Podemos crear un Servicio Web XML de dos formas:

• Definiendo la clase en el fichero .asmx, la cual luego serácompilada con un compilador JIT.
• Definir la clase en un ensamblado (assembly), que sea compilado y que resida en el directorio /bin de la aplicación.

Si la clase especificada en el atributo Class reside en el ensamblado en el directorio /bin, entonces no se necesita ningún otro código más que la directiva @WebService – todo el código del Servicio Web XML estará en el archivo de la clase.En el ejemplo anterior del Servicio Web XML, tenemos la directiva @WebService, seguida por dos sentencias using , y una definición de una clase para nuestro Servicio Web XML. Las sentencias using proveen acceso a las clases especificadas en los espacios de nombres, sin tener que usar el nombre completo (String frente a System.String).

El atributo WebService

El atributo WebService, elcual es actualmente la clase System.Web.Service.WebServiceAttribute, es un atributo opcional que puede ser aplicado a una clase pública que esté siendo expuesta como un Servicio Web XML. Podemos usar el atributo WebService para aplicar unos cuantos valores descriptivos a nuestro Servicio Web XML:

• Name – Especifica el nombre a que se refiere el Servicio Web XML
• Description –Descripción breve del Servicio Web XML.
• Namespace – Nos dice el espacio de nombres por defecto del Servicio Web XML.

La sintaxis para aplicar el atributo WebService a una definición de una clase es un poquito diferente en Visual Basic .NET y C#

[VB]
_
Public Class MyWebServiceClass
  '...
End Class

[C#]
[WebService(Name="MyService", Description="This is a description.",...
tracking img