5.3 Publicación de un servicio WEB
- Class. Específica la clase implementada por el servicio Web XML, esta se compLos servicios Web XML desde el punto de vista de programación, son muy parecidos a un programa, mientras que en su consumo son más orientados al ambiente Web. Estos servicios están constituidos por un archivo de extensión .asmx, y este archivo debe contener lo siguiente:
1. La directiva @WebService. Esta directiva específica los atributos de servicio Web XML. Esta directiva es el equivalente a @Page de las páginas Web. Los atributos que utiliza esta directiva son:ila automáticamente la primera vez que se tiene acceso al servicio Web XML, o después de que se operan cambios en él. - CodeBehind. Específica el archivo de código fuente que contiene la clase utilizada por el servicio Web XML.
- Language. Específica el lenguaje .NET utilizado para codificar la clase que implementa el servicio Web XML.
La sintaxis de cómo utilizar la directiva @WebService y sus atributos es la siguiente:
<%@ WebService Language=»C#» CodeBehind=»NombreArchivo»
Class=»NombreClase» %>
La directive @WebService se deberá colocar al principio del código del servicio Web XML.
2. Importar el espacio de nombres System.Web.Services. El espacio de nombres System.Web.Services es el espacio de nombres que contiene las clases que permiten crear servicios Web XML, tales como WebService y WebMethodAttribute. La sintaxis para importar el espacio de nombres es la siguiente.
using System.Web.Services;
Después de importar el espacio de nombres, se puede escribir el código de la clase que constituirá el servicio Web; esta clase deberá heredar la funcionalidad de System.Web.Services.WebService.
3. Crear una clase, ya sea dentro de la página o en modo Code Behind. Después de establecer las directivas y haber importado los espacios de nombres, se deberá codificar una clase, que contendrá el bloque de código que constituye el servicio Web XML. Debe ser una clase porque al consumir un servicio Web XML programáticamente, es necesario manejar la funcionalidad en modo objeto y éstos no son otra cosa que instancias de una clase. La clase debe tener suficientes permisos, de preferencia ser pública, sobre todo si el servicio Web XML podrá ser consumido desde Internet. La sintaxis que se utiliza para declarar una clase es la siguiente:
public class NombreClase : System.Web.Services.WebService {
WebMetodos
}
4. Declarar como [WebMethod()] las funciones del servicio Web XML. Las funciones incluidas en la clase constituyen el comportamiento del servicio Web XML, en su definición, las funciones se asemejan mucho a las funciones que conocemos en programación. Su diferencia radica en que deben ser de acceso público, y que deben estar habilitadas para ser acreditadas por clientes remotos a través de la Web, agregándoles el atributo WebMethod(). La sintaxis para declarar un WebMethod es la
siguiente:
[WebMethod(Description=»Descripción del método»)]
public TipoFuncion NombreFuncion(Parametros){
return ValorRetorno
}