Compartir a través de


Conceptos básicos de servicio web XML de ASP.NET

Puesto que ASP.NET proporciona la infraestructura para los mecanismos internos de un servicio web, los programadores pueden centrarse en implementar la funcionalidad de su servicio web concreto. Habilitar un servicio web mediante ASP.NET supone crear un archivo con una extensión de nombre de archivo .asmx, declarar un servicio web en ese archivo y, posiblemente, otro archivo, y definir los métodos de los servicios web. Los procedimientos se muestran en Tutorial: Generar un servicio web XML básico con ASP.NET y se crean desde aquí.

Declaración de servicios web

Al crear un servicio web en ASP.NET, se coloca la directiva @ WebService necesaria al principio de un archivo de texto con una extensión de nombre de archivo .asmx. La presencia del archivo .asmx y la directiva @ WebService pone en correlación la dirección URL del servicio web con su implementación. También implementa la clase de servicio web que define los métodos y tipos de datos visibles por los clientes de servicios web.

La clase de servicio web que defina puede incluirse directamente en el archivo .asmx o en un archivo independiente. Si usa un archivo independiente, debe estar compilado en un ensamblado. Opcionalmente, puede aplicar un atributo WebService a la clase que implementa el servicio web. La clase que implementa el servicio web puede derivar de la clase WebService.

Puede establecer el espacio de nombres XML predeterminado para el servicio web junto con una cadena para describir el servicio web aplicando el atributo WebService opcional a una clase que implementa un servicio web. Se recomienda cambiar este espacio de nombres predeterminado, que originalmente es http://tempuri.org, antes de que el servicio web se use públicamente. Esto es importante porque el servicio web debe diferenciarse de otros servicios web que podrían usar inadvertidamente el espacio de nombres como valor predeterminado (<http://tempuri.org/>).

Las clases que implementan un servicio web creadas utilizando ASP.NET pueden derivar opcionalmente de la clase WebService para obtener acceso a los objetos de ASP.NET comunes, como Application, Session, Usery Context. Las propiedades Application y Session proporcionan acceso para almacenar y recibir estados durante la vigencia de la aplicación web o una sesión determinada. Para obtener más información sobre la administración de estados, vea Cómo: Administrar el estado en servicios web creados con ASP.NET. La propiedad User contiene la identidad del llamador, si la autenticación está habilitada, para el servicio web. Con la identidad, un servicio web puede determinar si la solicitud está autorizada. Para obtener más información sobre autenticación, consulte Proteger servicios web XML. La propiedad Context proporciona acceso a toda la información específica de HTTP acerca de la solicitud del cliente del servicio web. Para obtener más información sobre la propiedad Context, consulte WebService.Context (Propiedad).

Definición de métodos de servicios web

Los métodos de una clase que implementan un servicio web no tienen automáticamente la posibilidad de recibir las solicitudes del servicio web y devolver las respuestas, pero con los servicios web creados utilizando ASP.NET es muy simple agregar esa capacidad. Aplique un atributo WebMethod a los métodos públicos. Los métodos de una clase de servicio web que se pueden comunicar a través de Web se denominan métodos de servicios web.

Los métodos de servicios web forman una parte clave de la infraestructura de mensajería empleada por los servicios web. Es decir, un cliente y un servicio web se comunican de forma predeterminada utilizando mensajes, concretamente mensajes SOAP. Los clientes envían una solicitud SOAP a un servicio web y un método de servicios web devuelve normalmente una respuesta SOAP. Los servicios web definen el tipo de mensajes que aceptan utilizando operaciones, como define el Lenguaje de descripción de servicios web (WSDL). Estas operaciones ponen en correlación cada uno de los métodos de servicios web dentro de un servicio web. Aunque cada uno de estos métodos de servicios web se define en ASP.NET utilizando un método de una clase, es importante comprender que los datos que se comunican eventualmente a través de la red se deban serializar en XML. Por tanto, es importante recordar que los servicios web no son una sustitución de DCOM, sino una infraestructura de mensajería para comunicarse entre plataformas utilizando los estándares de la industria.

Consulte también

Tareas

Tutorial: Generar un servicio web XML básico con ASP.NET.

Referencia

WebService Class
WebServiceAttribute Class
WebMethodAttribute Class

Otros recursos

Servicios web XML con ASP.NET

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.