Personas que lo han encontrado útil: 2 de 2 - Valorar este tema

Tutorial: Crear un servicio Web XML utilizando Visual Basic o Visual C#

Visual Studio 2005

Este tutorial describe el proceso de creación de un servicio Web XML 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 XML utilizando la plantilla de proyecto Servicio Web ASP.NET.

  • Implementar el servicio Web XML.

  • Ejecutar el servicio Web XML en modo de depuración.

  • Implementar el servicio Web XML.

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

Visual Studio proporciona una plantilla de proyecto Servicio Web ASP.NET, para facilitar la creación de servicios Web XML 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 XML y especifique TempConvert1 como nombre de directorio, por ejemplo: "http://MyServer/TempConvert1". De manera predeterminada, el proyecto utiliza su equipo local, "http://localhost".

    NoteNota

    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 XML residen en un servidor Web y sus nombres derivan del directorio virtual especificado en dicho servidor.

    NoteNota

    Los servicios Web XML 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 alojará el servicio Web XML utilizando un proyecto de implementación. Sin embargo, si está desarrollando directamente en el servidor que alojará el servicio Web XML, 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 XML. Cuando crea un servicio Web XML en Visual Studio, verá el Diseñador de componentes para Service1.asmx.

El siguiente paso es escribir el código para implementar la funcionalidad del servicio Web XML al que tendrán acceso los clientes. Para los servicios Web XML creados en Visual Studio, este código se incluye en un archivo de código subyacente, 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 XML.

Para agregar un método de servicio Web XML

  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 XML, como un espacio de nombres y una descripción para el servicio Web XML. 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 XML. 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ú contextual.

  4. Guarde la solución.

Visual Studio ofrece varios métodos para generar y ejecutar un servicio Web XML 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 XML 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 XML y usará el método Iniciar (con depuración). Para obtener más información, vea Cómo: Depurar servicios Web XML en código administrado.

Antes de depurar, verifique 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 XML 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 XML 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 XML devuelve una página auxiliar del servicio, que proporciona información acerca del servicio Web XML. El vínculo Descripción del servicio le lleva a un documento XML, que contiene la descripción formal del servicio Web XML. Para obtener más información, vea Descripción de servicios 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 XML 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 XML 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.

Para poner el servicio Web XML 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 XML 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 seleccionar la manera de implementar el servicio Web XML. Para obtener más información, vea Cómo: Implementar servicios Web XML en código administrado.

Para implementar un servicio Web XML 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.

    NoteNota

    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ú contextual.

    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 XML 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 XML, vea uno de los siguientes tutoriales:

¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar