Definir métodos de servicio Web XML
Los métodos de una clase que implementa un servicio Web XML no ofrecen automáticamente la capacidad de comunicar con ellos a través del Web, pero dicha capacidad se puede agregar de forma sencilla con servicios Web XML creados mediante ASP.NET. Para agregar esta capacidad, aplique un atributo WebMethod a los métodos públicos. Los métodos de un servicio Web XML con los que se puede establecer comunicación a través del Web se denominan métodos de servicio Web XML.
Los métodos de servicio Web XML constituyen una parte fundamental de la infraestructura de mensajería empleada por los servicios. Es decir, un cliente y un servicio Web XML se comunican de forma predeterminada con mensajes, en concreto, mensajes SOAP. Los clientes envían una solicitud SOAP a un servicio Web XML y un método de servicio Web XML devuelve una respuesta SOAP. En los servicios Web XML se define el tipo de mensajes que se aceptan mediante operaciones, como las definidas en Lenguaje de descripción de servicios Web (WSDL). Estas operaciones se correlacionan con cada uno de los métodos de servicio Web XML de un servicio Web XML. Aunque cada método de servicio se define en ASP.NET con un método de una clase, es importante darse cuenta de que los datos que finalmente se transmiten a través de la red se deben serializar en XML. Por tanto, es fundamental recordar que los servicios Web XML no son una forma de reemplazar DCOM, sino una infraestructura de mensajería para llevar a cabo la comunicación entre plataformas mediante estándares.
Para declarar un método de servicio Web XML
- Declare un servicio Web XML en el que se agregue la directiva @ WebService. Para obtener más información, vea Declarar un servicio Web XML.
- Agregue métodos públicos a la clase que implementa el servicio Web XML.
- Aplique el atributo WebMethod a los métodos públicos a los que desee que se asignen operaciones.
En el ejemplo de código siguiente hay dos métodos públicos, uno de los cuales es un método de servicio Web XML. El método Multiply
es un método de servicio Web XML, puesto que se le ha aplicado un atributo WebMethod.
<%@ WebService Language="C#" Class="Util" %>
using System;
using System.Web.Services;
public class Util: WebService
{
public int Add(int a, int b)
{
return a + b;
}
[ WebMethod] public long Multiply(int a, int b)
{
return a * b;
}
}
[Visual Basic]
<%@ WebService Language="VB" Class="Util" %>
Imports System
Imports System.Web.Services
Public Class Util
Inherits WebService
Public Function Add(a As Integer, b As Integer) As Integer
Return a + b
End Function
< WebMethod()> _ Public Function Multiply(a As Integer, b As Integer) As Long
Return a * b
End Function
End Class
Vea también
WebMethodAttribute (Clase) | Generar servicios Web XML mediante ASP.NET | Declarar un servicio Web XML