Cómo generar y utilizar servicios Web XML utilizando Visual Studio .NET o Visual Studio 2005

Resumen

En este artículo se muestra cómo crear y utilizar un servicio Web XML con Visual Studio .NET o Visual Studio 2005.

Requisitos

La lista siguiente describe el hardware, software, infraestructura de red y service packs recomendados que necesita:
  • Microsoft Visual Studio .NET o Microsoft Visual Studio 2005
  • Microsoft Internet Information Server 4.0 o en Microsoft Internet Information Services 5.0
En este artículo se supone que está familiarizado con los temas siguientes:
  • Visual Basic .NET o Visual Basic 2005
  • Visual Studio .NET o Visual Studio 2005

Servicios Web XML

Los servicios Web XML son unidades reutilizables de lógica de aplicaciones que puede exponer a los clientes a través de Internet. Los servicios Web son independientes de la plataforma. Además, los servicios Web se basan en los estándares de la industria conviene como lenguaje de marcado Extensible (XML, Extensible Markup Language), SOAP Simple Object Access Protocol () y el protocolo de transferencia de hipertexto (HTTP, Hypertext Transfer Protocol). Aplicaciones cliente pueden ser cualquiera de las siguientes acciones:
  • Aplicación Web de ASP.NET
  • Aplicación para Windows
  • Aplicación de Pocket PC
  • Aplicación de dispositivo móvil
  • Aplicación de consola
Servicios Web XML proporcionan una forma nueva de conectividad en toda la empresa. Visual Studio .NET o Visual Studio 2005 facilita a crear y utilizar servicios Web XML.

Crear un servicio Web

En esta sección, creará un servicio Web XML que implementa el teorema de Pitágoras.
  1. Crear un nuevo servicio Web ASP.NET en Visual Basic .NET o Visual Basic 2005 como sigue:
    1. Inicie Visual Studio .NET o Visual Studio 2005 y, a continuación, haga clic en Nuevo proyecto.
    2. En Tipos de proyecto, elija Proyectos de Visual Basic. En plantillas, haga clic en Servicio Web de ASP.NET.

      Nota: En Visual Studio 2005, haga clic en Visual Basic en Tipos de proyecto.
    3. En el cuadro de texto nombre , escriba
      PythagoreanTheoremWS.
  2. Cambie a la ventana de código para Service1.asmx. Para ello, haga clic derecho en Service1.asmx en el Explorador de soluciones y, a continuación, haga clic en Ver código.
  3. Agregue el código siguiente antes de la instrucción End Class para crear una nueva función:
    Public Function PythagoreanTheorem(ByVal a As Double, _             ByVal b As Double) As Double

    End Function

  4. El teorema de Pitágoras indica que el cuadrado de la hipotenusa de un triángulo rectángulo es igual a la suma de los cuadrados de los otros dos lados. Agregue el código siguiente dentro de la función PythagoreanTheorem para implementar esta fórmula matemática:
    Dim dblSum As Double        dblSum = a ^ 2 + b ^ 2
    Return Math.Sqrt(dblSum)

  5. Esta función implementará totalmente el teorema de Pitágoras. Sin embargo, la función no es aún un método de servicio Web. Para exponer una función como un método de servicio Web, agregue el atributo WebMethod a la declaración del método. La función completa debería aparecer como sigue:
    <WebMethod()> _    Public Function PythagoreanTheorem(ByVal a As Double, _
    ByVal b As Double) As Double
    Dim dblSum As Double
    dblSum = a ^ 2 + b ^ 2
    Return Math.Sqrt(dblSum)
    End Function

  6. En el menú Generar , haga clic en Generar solución para compilar este servicio Web.

Utilizar el servicio Web

En esta sección, cree una aplicación de Windows que utiliza este servicio Web.
  1. Cree un nuevo proyecto de aplicación de consola en Visual Basic .NET o Visual Basic 2005 para probar el servicio Web que creó en la sección anterior.
  2. Para tener acceso a un servicio Web desde una aplicación cliente, el cliente primero debe incluir una referencia al servicio Web. Para agregar una referencia Web, abra la ventana Explorador de soluciones, haga clic en el proyecto y, a continuación, haga clic en Agregar referencia Web.
  3. En el cuadro de diálogo Agregar referencia Web , haga clic en Referencias Web en el servidor Local. Visual Studio .NET o Visual Studio 2005 busca en el equipo local para los servicios Web disponibles. Esta operación puede tardar unos minutos.
  4. En la sección de Referencias disponibles , haga clic en http://localhost/PythagoreanTheorem/PythagoreanTheorem.vsdiscoy, a continuación, haga clic en Agregar referencia.
  5. Cambie a la ventana de código para Module1.vb y, a continuación, agregue el código siguiente al procedimiento Sub Main :
        Dim hypotenuse As Double    Dim ws As New localhost.Service1()

    'Pythagorean Triple: 3, 4, 5
    hypotenuse = ws.PythagoreanTheorem(3, 4)
    Console.WriteLine(hypotenuse)


    'Pythagorean Triple: 5, 12, 13
    hypotenuse = ws.PythagoreanTheorem(5, 12)
    Console.WriteLine(hypotenuse)

    'Pythagorean Triple: 7, 24, 25
    hypotenuse = ws.PythagoreanTheorem(7, 24)
    Console.WriteLine(hypotenuse)

    Console.Read()

  6. En el menú Depurar , haga clic en Iniciar para ejecutar la aplicación. La ventana de la consola muestra el siguiente resultado:
    5
    13
    25

Lista de código completa

Imports System.Web.Services
<WebService(Namespace := "http://tempuri.org/")> _
Public Class Service1
Inherits System.Web.Services.WebService

#Region " Web Services Designer Generated Code "

Public Sub New()
MyBase.New()

'The Web Services Designer requires this call.
InitializeComponent()

'Add your own initialization code after the InitializeComponent() call.

End Sub

'The Web Services Designer requires this code.
Private components As System.ComponentModel.IContainer

'NOTE: The Web Services Designer requires this procedure.
'You can use the Web Services Designer to modify the procedure.
'However, do not use the Code editor to modify it.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
'CODEGEN: The Web Services Designer requires this procedure.
'Do not use the Code editor to modify it.
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

#End Region

' WEB SERVICE EXAMPLE
' The HelloWorld() sample Web service returns the string Hello World.
' To build, uncomment the following lines, and then save and build the project.
' To test this Web service, ensure that the .asmx file is the start page,
' and then press F5.
'
'<WebMethod()> Public Function HelloWorld() As String
'HelloWorld = "Hello World"
' End Function
<WebMethod()> _
Public Function PythagoreanTheorem(ByVal a As Double, ByVal b As Double) As Double
Dim dblSum As Double
dblSum = a ^ 2 + b ^ 2
Return Math.Sqrt(dblSum)

End Function
End Class


Module Module1

Sub Main()
Dim hypotenuse As Double
Dim ws As New localhost.Service1()

'Pythagorean Triple: 3, 4, 5
hypotenuse = ws.PythagoreanTheorem(3, 4)
Console.WriteLine(hypotenuse)

'Pythagorean Triple: 5, 12, 13
hypotenuse = ws.PythagoreanTheorem(5, 12)
Console.WriteLine(hypotenuse)

'Pythagorean Triple: 7, 24, 25
hypotenuse = ws.PythagoreanTheorem(7, 24)
Console.WriteLine(hypotenuse)

Console.Read()

End Sub

End Module

Referencias

Para obtener más información, visite los siguientes sitios Web de Microsoft:
¿Cuáles son los servicios Web XML?
http://msdn.microsoft.com/en-us/library/aa286548.aspx

Fundamentos de los servicios Web XML
http://msdn.microsoft.com/en-us/library/ms996507.aspx

Creación y acceso a XML Web Services tutoriales
http://msdn.microsoft.com/en-us/library/cbsxhx87(VS.80).aspx
Propiedades

Id. de artículo: 315935 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios