El siguiente tutorial describe el proceso de obtención de acceso a un servicio Web XML desde una aplicación creada con Visual Basic o Visual C#.
Durante este tutorial, realizará las siguientes actividades:
-
Crear una aplicación cliente utilizando la plantilla de proyecto Aplicación Web ASP.NET.
-
Agregar una referencia Web para un servicio Web XML.
-
Escribir código para obtener acceso al servicio Web XML.
-
Ejecutar la aplicación Web en modo de depuración.
-
Implementar la aplicación Web.
Para completar el tutorial, hay que disponer de lo siguiente:
-
Dado que el tutorial utiliza una aplicación Web para tener acceso al servicio Web XML, es preciso que disponga de un equipo que cumpla los requisitos para crear un proyecto de este tipo. Para obtener más información, vea Visita guiada sobre la creación de sitios Web en Visual Web Developer. También es necesario disponer de suficientes permisos para crear proyectos de servicios Web XML en el equipo donde se encuentre el servidor Web. Para obtener información detallada, vea Seguridad de sitios Web ASP.NET (Visual Studio).
-
Un servicio Web XML creado a partir de los siguientes tutoriales:
En este tutorial, creará una aplicación Web sencilla para obtener acceso al servicio Web XML TempConvert1, que es el nombre que se puso al servicio Web XML creado en Tutorial: Crear un servicio Web XML utilizando Visual Basic o Visual C#.
Nota |
|---|
| Si ha cambiado el nombre del servicio Web XML de conversión de temperaturas cuando lo creó, sólo debe utilizar los nombres correspondientes donde aparece el nombre TempConvert1 en este tutorial. |
Para crear una aplicación de servicio Web ASP.NET
-
En el menú Archivo, elija Nuevo sitio Web.
-
En el cuadro de diálogo Nuevo sitio Web, seleccione el icono Sitio Web ASP.NET.
-
Introduzca la dirección del servidor Web en el que desea desarrollar la aplicación Web y especifique TempConvertClient1 como nombre de directorio, por ejemplo: "http://MyServer/TempConvertClient1". De manera predeterminada, el proyecto utiliza su equipo local, "http://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 XML residen en un servidor Web y sus nombres derivan del directorio virtual especificado en dicho servidor.
Nota Las aplicaciones Web se crean 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 aloja la aplicación Web utilizando un proyecto de implementación. Sin embargo, si está desarrollando directamente en el servidor que aloja la aplicación Web, el servidor de desarrollo y el de implementación son el mismo.
-
Haga clic en Aceptar para crear el proyecto.
-
En el Explorador de soluciones, haga clic con el botón secundario en Default.aspx y elija Diseñador de vistas para abrir el diseñador.
-
Desde la ficha Formularios Web del Cuadro de herramientas, arrastre un Cuadro de texto, una Etiqueta y un Botón hasta la superficie de diseño de Default.aspx y distribúyalos a su gusto.
-
Haga clic con el botón secundario en el botón que acaba de crear, Button1, y seleccione Propiedades en el menú contextual. En la ventana Propiedades, establezca la propiedad Text en Convertir.
-
Haga clic con el botón secundario en la etiqueta que acaba de crear, Label1 y seleccione Propiedades en el menú contextual. En la ventana Propiedades, borre la propiedad Text para hacer que la etiqueta esté vacía.
El descubrimiento de servicios Web XML es el proceso por el que un cliente encuentra un servicio Web XML y obtiene su descripción. El proceso de descubrimiento de servicios Web XML en Visual Studio consiste en la interrogación de un sitio Web según un determinado algoritmo. El objetivo del proceso es encontrar la descripción del servicio, que se presenta como un documento XML que utiliza el lenguaje de descripción de servicios Web (WSDL). Para obtener más información, vea Descubrimiento de servicios Web XML.
La descripción del servicio muestra los servicios disponibles y cómo interactuar con ellos. Sin una descripción del servicio es imposible interactuar mediante programación con un servicio Web XML. Para obtener más información, vea Descripción del servicio Web XML.
La aplicación debe tener un medio de comunicar con el servicio Web XML y de encontrarlo en tiempo de ejecución. Esto lo hace una referencia Web agregada al proyecto de servicio Web XML, mediante la generación de una clase proxy, que interactúa con éste y le proporciona una representación local. Para obtener más información, vea Referencias Web y Generar un proxy de servicio Web XML.
Para agregar una referencia Web
-
En el menú Sitio Web, elija Agregar referencia Web.
-
En el cuadro URL del cuadro de diálogo Agregar referencia Web, escriba la dirección URL para obtener la descripción del servicio Web XML al que desee tener acceso, por ejemplo http://localhost/TempConvert1/Service1.asmx. A continuación, haga clic en el botón Buscar para recuperar la descripción del servicio Web XML.
O bien,
Si el servicio Web XML existe en el equipo local, haga clic en el vínculo Servicios Web del equipo local, en el panel del explorador. A continuación, haga clic en el servicio Web XML TempConvert1 en la lista para recuperar la información sobre este servicio.
-
En el cuadro Nombre de referencia Web, cambie el nombre de la referencia Web y póngale ConvertSvc, que es el espacio de nombres que usará para tener acceso a esta referencia Web.
-
Haga clic en Agregar referencia con el fin de agregar una referencia Web para el servicio Web XML de destino. Para obtener más información, vea Agregar y quitar referencias Web.
Visual Studio descarga la descripción del servicio y genera una clase proxy que hace de interfaz entre su aplicación y el servicio Web XML.
Una vez que ha agregado una referencia al servicio Web XML de su proyecto, el siguiente paso es crear una instancia de la clase proxy del servicio Web XML. A partir de aquí puede obtener acceso a los métodos del servicio Web XML de la misma forma que lo haría para cualquier método de objeto, es decir, llamando a los métodos en la clase proxy. Cuando su aplicación llama a estos métodos, el código generado por Visual Studio controla las comunicaciones entre la aplicación y el servicio Web XML.
En primer lugar, cree una instancia de la clase proxy del servicio Web XML. Seguidamente, tome un valor, proporcionado en TextBox1, y llame al método ConvertTemperature del servicio Web XML utilizando la clase proxy. En Label1 se mostrará el valor devuelto por el servicio Web XML.
Para obtener acceso al servicio Web XML
-
Haga doble clic en el botón Convertir en WebForm1.aspx para crear un método de control de eventos para este botón y mostrar el archivo de código subyacente.
-
Inserte el código siguiente:
' Visual Basic Protected Sub Button1_Click(ByVal sender As Object, _ ByVal e as EventArgs) Handles Button1.Click Dim ws As New ConvertSvc.Service Dim dFahrenheit As Double Dim dCelsius As Double Try dFahrenheit = Convert.ToDouble(TextBox1.Text) dCelsius = ws.ConvertTemperature(dFahrenheit) Label1.Text = dCelsius.ToString() Catch Label1.Text = "Conversion failed." End Try End Sub // C# protected void Button1_Click (System.Object sender, System.EventArgs e) { try { ConvertSvc.Service1 ws = new ConvertSvc.Service1(); double dFahrenheit = Convert.ToDouble(TextBox1.Text); double dCelsius = ws.ConvertTemperature(dFahrenheit); Label1.Text = dCelsius.ToString(); } catch { Label1.Text = "Conversion failed."; } }
Nota El nombre de la clase de servicio Web XML generada al agregar una referencia Web puede variar con respecto al que anteriormente se ha denominado Service1.
-
Seleccione Default.aspx en el Explorador de soluciones.
-
En el menú Sitio Web, haga clic en Establecer como página de inicio.
-
Guarde la solución.
Para obtener más información, vea Obtener acceso a un servicio Web XML en código administrado.
Visual Studio ofrece varios métodos para generar y ejecutar una aplicación Web en un entorno IDE, como por ejemplo:
-
Iniciar (con depuración)
-
Iniciar sin depuración
-
Ver en el explorador
Como cualquier proyecto de Visual Studio, esta aplicación Web tiene configuraciones separadas para las versiones de lanzamiento y de depuración. Dado que creó este proyecto mediante la plantilla de proyecto Aplicación 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 Configuraciones Debug y Release.
En este tutorial, pondrá un punto de interrupción en el evento Button1_Click y usará el método Iniciar (con depuración). Para obtener más información, vea Depurar servicios Web XML en el 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: aplicaciones ASP.NET seguras.
Para usar un punto de interrupción e iniciar la aplicación Web con depuración
-
En el menú Depurar, haga clic en Nuevo punto de interrupción y, a continuación, elija Dividir en función.
Escriba Button1_Click en el cuadro Function y haga clic en Aceptar para colocar un punto de interrupción en el controlador de eventos Button1_Click. Para obtener más información, vea Información general sobre puntos de interrupción.
-
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 la aplicación Web en el depurador. Visual Studio genera el proyecto y lo implementa en el servidor de desarrollo designado. Al finalizar, el explorador predeterminado inicia y abre el archivo .aspx en el servidor de implementación.
-
Una vez que la página se muestra en el explorador, escriba el número 212 en el cuadro de texto y haga clic en el botón Convertir.
El proceso se detiene cuando alcanza el controlador de evento Button1_Click. El depurador de Visual Studio resalta la línea que contiene el punto de interrupción y, mientras aquél está detenido, puede llevar a cabo varias tareas. Para obtener más información, vea Utilizar el depurador y Herramientas de depuración para inspeccionar el programa.
-
En el menú Depurar, haga clic en Continuar para seguir con el proceso.
-
El servicio Web XML responde devolviendo el valor convertido, y la aplicación establece el texto de Label1 en 100.
Para detener la ejecución de la aplicación Web y volver al Editor de código, haga clic en Detener depuración en el menú Depurar.
-
En el menú Depurar, haga clic en Borrar todos los puntos de interrupción.
Para poner la aplicación 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 la aplicación Web en un servidor diferente del servidor de desarrollo, puede agregar un proyecto de instalación de Web, o bien copiar los archivos requeridos en el servidor de destino. En este tutorial, puede seleccionar la manera de implementar la aplicación Web. Para obtener más información, vea Implementar aplicaciones y componentes.
Para implementar la aplicación Web utilizando un proyecto de instalación Web
-
En el menú Archivo, elija Agregar y después haga clic en New proyecto.
-
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.
-
En el cuadro Nombre, escriba TempConvertClient1WebSetup 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.
-
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.
-
En el Explorador de soluciones, haga clic con el botón secundario en TempConvertClient1WebSetup, elija Agregar y, a continuación, haga clic en Resultados del proyecto.
-
En el cuadro de diálogo Agregar grupo de resultados del proyecto, seleccione Archivos de contenido. Para obtener más detalles, vea Agregar y eliminar resultados de proyectos en el Editor de sistemas de archivos.
-
El grupo Archivos de contenido consta del resto de archivos de la aplicación Web, como WebForm1.aspx y Web.config.
-
-
Haga clic en Aceptar.
-
En el Explorador de soluciones, haga clic con el botón secundario en el proyecto TempConvertClient1WebSetup 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 la aplicación Web copiando el proyecto
-
En el Explorador de soluciones, seleccione el proyecto TempConvertClient1.
-
En el menú Proyecto, haga clic en Copiar sitio Web.
-
Haga clic en el icono que aparece junto al cuadro desplegable Conectar con para abrir el cuadro de diálogo Abrir sitio Web. Vaya a la ubicación en la que desea copiar el proyecto.
-
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. .
-
Haga clic en Copiar sitio Web para copiar el sitio Web.
Otros recursos
Crear y obtener acceso a los tutoriales de los servicios Web XMLTutoriales de Visual Studio
Seguridad de sitios Web ASP.NET (Visual Studio)
Programar el Web con servicios Web XML