Share via


Tutorial: Crear un servicio web utilizando Visual Basic o Visual C#

Actualización: noviembre 2007

Este tutorial describe el proceso de creación de un servicio web que convierte temperaturas medidas en grados Fahrenheit a grados Celsius, usando Visual Basic o Visual C#.

Durante este tutorial, realizará las siguientes actividades:

  • Crear un servicio web utilizando la plantilla de proyecto Servicio web ASP.NET.

  • Implementar el servicio Web.

  • Ejecutar el servicio web en modo de depuración.

  • Implementar el servicio web.

Para completar el tutorial, necesitará un equipo que cubra los requisitos para crear un proyecto Web. Para obtener más información, vea Tutorial: Crear y usar un servicio Web ASP.NET en Visual Web Developer.

Crear el proyecto de servicio web

Visual Studio proporciona una plantilla de proyecto Servicio web ASP.NET, para facilitar la creación de servicios web en Visual Basic y Visual C#.

Para crear un proyecto Servicio Web ASP.NET.

  1. En el menú Archivo, elija Nuevo sitio Web.

  2. En el cuadro de diálogo Nuevo sitio Web, seleccione el icono Servicio Web ASP.NET.

  3. Introduzca la dirección del servidor web en el que desea desarrollar el servicio web y especifique TempConvert1 como nombre de directorio, por ejemplo: "http://MyServer/TempConvert1". De manera predeterminada, el proyecto utiliza su equipo local, "https://localhost".

    Nota

    Para algunos tipos de proyecto, el cuadro de texto Name no está disponible porque especificando la ubicación se establece el nombre del proyecto. Por ejemplo, las aplicaciones Web y los servicios Web residen en un servidor Web y sus nombres derivan del directorio virtual especificado en dicho servidor.

    Nota

    Los servicios web se llevan a cabo en un servidor de desarrollo. El servidor de desarrollo predeterminado es su equipo local. Normalmente, el proyecto se diseña y se crea en un servidor de desarrollo y luego se implementa en otro servidor (el servidor de implementación) que hospedará el servicio web utilizando un proyecto de implementación. Sin embargo, si está desarrollando directamente en el servidor que hospedará el servicio web, el servidor de desarrollo y el de implementación son el mismo.

  4. Haga clic en Aceptar para crear el proyecto.

Visual Studio crea automáticamente los archivos necesarios e incluye las referencias requeridas para admitir un servicio web. Cuando crea un servicio web en Visual Studio, verá el Diseñador de componentes para Service1.asmx.

Implementar el servicio web

El siguiente paso es escribir el código para implementar la funcionalidad del servicio web al que tendrán acceso los clientes. Para los servicios web creados en Visual Studio, este código se incluye en un archivo de código subyacente oculto, asociado al archivo .asmx de servicio web, que Visual Studio creó. Para obtener más información, vea Cómo: Crear un método de servicio web.

Para agregar un método de servicio web

  1. En el archivo de código Service.vb, busque el código para la declaración de clase Service. Reemplace el código del atributo System.Web.Services.WebService por el siguiente código (en negrita) antes de la declaración de clase:

    <System.Web.Services.WebService( _
       Namespace:="http://Walkthrough/XmlWebServices/", _
       Description:="A temperature conversion service.")> _
    Public Class Service
    
    [System.Web.Services.WebService(
       Namespace="http://Walkthrough/XmlWebServices/",
       Description="A temperature conversion service.")]
    public class Service : System.Web.Services.WebService
    

    Asociando el atributo WebService a una clase Public podrá incluir información adicional acerca del servicio web, como un espacio de nombres y una descripción para el servicio web. La propiedad de la descripción de este atributo se incluye en la página de ayuda del servicio. Para obtener más información, vea Cómo: Utilizar el atributo WebService.

  2. En la clase Service, agregue el código siguiente para declarar la función ConvertTemperature:

    <WebMethod(Description:="This method converts a temperature in " & _
           "degrees Fahrenheit to a temperature in degrees Celsius.")> _
    Public Function ConvertTemperature(ByVal dFahrenheit As Double) _
                                       As Double
        Return ((dFahrenheit - 32) * 5) / 9
    End Function
    
    [WebMethod(Description="This method converts a temperature in " +
           "degrees Fahrenheit to a temperature in degrees Celsius.")]
    public double ConvertTemperature(double dFahrenheit)
    {
       return ((dFahrenheit - 32) * 5) / 9;
    } 
    

    El hecho de asociar el atributo WebMethod a un método Public expone este método como parte del servicio web. La propiedad de la descripción de este atributo se incluye en la página de ayuda del servicio y en la página de ayuda del método del servicio. Para obtener más información, vea Cómo: Utilizar el atributo WebMethod.

  3. Haga clic con el botón secundario en Service.asmx en el Explorador de soluciones y seleccione Establecer como página de inicio en el menú de acceso directo.

  4. Guarde la solución.

Depurar el servicio Web

Visual Studio ofrece varios métodos para generar y ejecutar un servicio web en el entorno IDE, como por ejemplo:

  • Iniciar (con depuración)

  • Iniciar sin depuración

  • Ver en el explorador

Como cualquier proyecto de Visual Studio, este servicio web tiene configuraciones separadas para las versiones de lanzamiento y de depuración. Dado que creó este proyecto mediante la plantilla de proyecto Servicio Web ASP.NET, Visual Studio genera automáticamente estas configuraciones y establece las opciones predeterminadas apropiadas y otros valores. Para obtener más información, vea Cómo: Establecer configuraciones Debug y Release.

En este tutorial pondrá un punto de interrupción en el servicio web y usará el método Iniciar (con depuración). Para obtener más información, vea Cómo: Depurar servicios web en código administrado.

Antes de depurar, compruebe la configuración de depuración. Para obtener más información, vea Preparación de la depuración: proyectos de servicio Web XML.

Para usar un punto de interrupción e iniciar el servicio web con depuración

  1. En el menú Depurar, elija Nuevo punto de interrupción y, a continuación, haga clic en Dividir en función.

    En la ficha Función, escriba ConvertTemperature en el cuadro Función y haga clic en Aceptar para agregar un punto de interrupción en la declaración de método ConvertTemperature.

  2. En el menú Depurar, haga clic en Iniciar, a continuación, haga clic en Aceptar en la ventana Depuración no habilitada para iniciar la depuración.

    Este comando notifica a Visual Studio que ejecute el servicio web en el depurador. Visual Studio genera el proyecto y lo implementa en el servidor de desarrollo designado. Al finalizar, el explorador predeterminado mostrará el archivo .asmx del servidor de implementación.

    Cuando se abre un archivo .asmx en un explorador, el servicio web devuelve una página auxiliar del servicio, que proporciona información acerca del servicio web. El vínculo Descripción del servicio le lleva a un documento XML, que contiene la descripción formal del servicio web. Para obtener más información, vea Descripción del servicio web XML.

  3. En la página auxiliar del servicio, haga clic en el vínculo ConvertTemperature.

  4. En el cuadro dFahrenheit, escriba 212 y haga clic en el botón Invocar.

    El procesamiento se detiene cuando alcanza la función ConvertTemperature. El depurador de Visual Studio resalta la línea que contiene el punto de interrupción; mientras aquél está detenido, puede llevar a cabo varias tareas. Para obtener más información, vea Guía básica del depurador y Ver datos en el depurador.

  5. En el menú Depurar, haga clic en Continuar para seguir con el proceso.

  6. El servicio web responde devolviendo el valor convertido en un documento XML similar a:

    <?xml version="1.0" encoding="utf-8" ?>
    <double xmlns="http://Walkthrough/XmlWebServices/">100</double>
    

    Para detener la ejecución del servicio web y volver al Editor de código, haga clic en Detener depuración en el menú Depurar.

  7. En el menú Depurar, haga clic en Eliminar todos los puntos de interrupción.

Implementar el servicio web

Para poner el servicio web a disposición de todo el mundo, deberá implementarlo en un servidor web que sea accesible para los clientes a los que desea prestar asistencia. Para implementar el servicio web en un servidor diferente del servidor de desarrollo, puede agregar un proyecto de programa de instalación web, o bien copiar los archivos requeridos en el servidor de destino. En este tutorial, puede elegir la manera de implementar el servicio web. Para obtener más información, vea Cómo: Implementar servicios web en código administrado.

Para implementar un servicio web usando un proyecto de programa de instalación web

  1. En el menú Archivo, elija Agregar y, después, haga clic en Nuevo proyecto.

  2. Seleccione el nodo Otros, a continuación el nodo Proyectos de instalación e implementación y, a continuación, haga clic en Proyecto de programa de instalación Web.

  3. En el cuadro Nombre, escriba TempConvert1WebSetup y haga clic en Aceptar.

    Nota

    De forma predeterminada, el instalador utiliza el nombre del proyecto de implementación al crear el directorio virtual en su servidor de implementación.

  4. En el panel izquierdo del Editor del sistema de archivos, seleccione Carpeta de aplicación Web. Para obtener más información, vea Editor del sistema de archivos.

  5. En el Explorador de soluciones, haga clic con el botón secundario en TempConvert1WebSetup, elija Agregar y, a continuación, haga clic en Resultados del proyecto.

  6. En el cuadro de diálogo Agregar grupo de resultados del proyecto, seleccione Archivos de contenido. Para obtener más información, vea Cómo: Agregar y quitar resultados de proyectos en el Editor del sistema de archivos.

  7. Haga clic en Aceptar.

  8. En el Explorador de soluciones, haga clic con el botón secundario en el proyecto TempConvert1WebSetup y elija Generar en el menú de acceso directo.

    Esto crea un archivo de instalación de Windows en el directorio local del proyecto. Al ejecutar este archivo se instala la aplicación Web.

Para implementar el servicio web copiando el proyecto

  1. En el Explorador de soluciones, seleccione el proyecto TempConvert1.

  2. En el menú Proyecto, haga clic en Copiar sitio Web.

  3. Haga clic en el icono que aparece junto al cuadro desplegable Conectar a para abrir el cuadro de diálogo Abrir sitio Web. Vaya a la ubicación en la que desea copiar el proyecto.

  4. En el panel Sitio Web de origen, seleccione los archivos que va a copiar y muévalos al panel Sitio Web remoto haciendo clic en el icono de flecha a la derecha. .

  5. Haga clic en Copiar sitio Web para copiar el sitio Web.

Por último, para crear una aplicación cliente que tenga acceso a este servicio web, vea uno de los siguientes tutoriales:

Vea también

Otros recursos

Crear y obtener acceso a los tutoriales de los servicios web

Tutoriales de Visual Studio

Programar la Web con servicios web

Crear servicios web en código administrado