CÓMO: Escribir un servicio Web simple mediante Visual Basic .NET

Seleccione idioma Seleccione idioma
Id. de artículo: 301273 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E301273


Para ver una versión de Microsoft Visual C# .NET de este artículo, consulte 308359.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se describe cómo escribir un servicio Web simple, denominado MathService, que expone métodos para sumar, restar, dividir y multiplicar dos números.

Requisitos

Los elementos siguientes describen el hardware, el software, la infraestructura de red, las capacidades y el conocimiento, y los Service Pack que se necesitan:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server o Windows NT 4.0 Server
  • Microsoft Internet Information Server 4.0 o Internet Information Server 5.0
  • Microsoft Visual Studio .NET
En el presente artículo se da por supuesto que está familiarizado con los temas siguientes:
  • cómo utilizar el entorno integrado de desarrollo de Visual Studio .NET

Escribir un servicio Web .asmx simple

  1. Abra Visual Studio .NET.
  2. Cree un nuevo proyecto de servicio Web de páginas Active Server (ASP) .NET. Asigne al servicio Web el nombre MathService y seleccione la ubicación en un servidor Web apropiado que ejecute ASP.NET si es necesario.
  3. Cambie el nombre del archivo de la solución a MathService por coherencia.
  4. Cambie el nombre del servicio Web predeterminado creado desde Service1.asmx a MathService.asmx .
  5. Haga clic en Haga clic aquí para cambiar a la vista de códigos en el entorno del diseñador para cambiar a la vista de códigos.
  6. Defina métodos que encapsulen la funcionalidad del servicio. Todos los métodos que se van a exponer desde el servicio deben llevar delante un atributo WebMethod. Sin este atributo, el método no se expondrá desde el servicio.

    NOTA: no es necesario que todos los métodos tengan el atributo WebMethod. Es útil ocultar algunos detalles de implementación llamados por métodos públicos del servicio Web o en el caso de que la clase WebService se utilice también en aplicaciones locales. Una aplicación local puede utilizar cualquier clase pública, pero solo se podrá tener acceso de forma remota a los métodos WebMethod como servicios Web.

    Agregue el método siguiente a la clase MathServices recién creada:
    <WebMethod()> Public Function Add(a As Integer, b As Integer) As Integer
       Return(a + b)
    End Function
    
    <WebMethod()> Public Function Subtract(A As System.Single, B As System.Single) As System.Single
           Return A - B
    End Function
    
    <WebMethod()> Public Function Multiply(A As System.Single, B As System.Single) As System.Single
           Return A * B
    End Function
    
    <WebMethod()> Public Function Divide(A As System.Single, B As System.Single) As System.Single
    If B = 0
    Return -1
    End If
    Return Convert.ToSingle(A / B)
    End Function
  7. Haga clic en Generar en el menú Generar para generar el servicio Web.
  8. Vaya hasta la página del servicio Web MathService.asmx para probar el servicio Web. Si configura el equipo local para que aloje la página, la dirección URL será http://localhost/MathService/MathService.asmx.

    El motor de tiempo de ejecución de ASP.NET devuelve una página de Ayuda en la que se describe el servicio Web. Esta página también le permite probar distintos métodos del servicio Web.

Consumir un servicio Web

  1. Abra Visual Studio .NET.
  2. Cree un nuevo proyecto de aplicación de consola.
  3. Agregue una referencia al servicio Web MathService a la nueva aplicación de consola.

    Este paso crea una clase proxy en el equipo cliente. Cuando ya exista la clase proxy, podrá crear objetos basados en ella. Cada llamada a métodos efectuada con el objeto pasará a continuación al identificador de recursos universal (URI) del servicio Web (generalmente como una solicitud SOAP).
    1. En el menú Proyecto, haga clic en Agregar referencia Web.
    2. En el cuadro de diálogo Agregar referencia Web, escriba la dirección URL del servicio Web en el cuadro de texto Dirección y presione ENTRAR. Si configura el equipo local para que aloje el servicio Web, la dirección URL será http://localhost/MathService/MathService.asmx.
    3. Haga clic en Agregar referencia.
    4. Expanda la sección Referencias Web del Explorador de soluciones y anote el espacio de nombres utilizado.
  4. Cree una instancia del objeto proxy creado. Ponga este código en el procedimiento Main del módulo Module1:
    Dim myMathService As localhost.MathService = New localhost.MathService()
  5. Invoque un método en el objeto proxy creado en el paso anterior:
    Console.Write("2 + 4 = {0}", myMathService.Add(2,4))
  6. Cierre y guarde el proyecto.

REFERENCIAS

Programar el Web con servicios Web (Ayuda de Visual Studio .NET)

Servicios Web y clientes de servicios Web de ASP.NET (Manual del programador de Microsoft .NET Framework)

Web Services Essentials, MSDN Online Library:
http://msdn.microsoft.com/library/default.asp?URL=/library/techart/Webservicesessentials.htm
Extreme XML: XML Web Service-Enabled Office Documents (columna de MSDN Voices):
http://msdn.microsoft.com/library/welcome/dsmsdn/xml03192001.htm
Extreme XML: UDDI: An XML Web Service (columna de MSDN Voices):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml12182000.asp
Herramienta de lenguaje de descripción de servicios Web (Wsdl.exe) (herramientas de Microsoft .NET Framework)

DHTML Dude: Accessing Web Services From DHTML (columna de MSDN Voices):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndude/html/dude01222001.asp

Propiedades

Id. de artículo: 301273 - Última revisión: martes, 26 de septiembre de 2006 - Versión: 6.0
La información de este artículo se refiere a:
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbhowto kbhowtomaster KB301273

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com