Compartir a través de


Cómo: Obtener acceso a un servicio web en código administrado

Actualización: noviembre 2007

El acceso a un servicio web desde código administrado es un proceso sencillo. Primero, se agrega una referencia web al proyecto para el servicio web al que se vaya a tener acceso. La referencia web crea una clase de proxy con métodos que sirven de proxys para cada método expuesto del servicio web. A continuación, se agrega el espacio de nombres para la referencia Web. Por último, se crea una instancia de la clase de proxy y luego se tiene acceso a los métodos de dicha clase del mismo modo que se haría con los métodos de cualquier otra clase. Para obtener más información, vea Modelo de código para obtener acceso a servicios web en código administrado.

De forma predeterminada, al agregar una referencia web también se agregan los métodos a la clase de proxy para obtener acceso al servicio web de forma asincrónica. Para obtener más información, vea Cómo: Obtener acceso a un servicio web de manera asincrónica en código administrado.

Para obtener acceso a un servicio web en código administrado

  1. Cree la aplicación desde la que desea obtener acceso a un servicio web. Esta aplicación podría ser incluso otro servicio web.

  2. Agregue una referencia web para el servicio web con el que interactuará la aplicación. Para obtener instrucciones, vea Agregar y quitar referencias Web.

  3. Cree una instancia del objeto proxy en el código del cliente en el que se vaya a obtener acceso al servicio web.

  4. Obtenga acceso a los métodos del servicio web como lo haría con cualquier otro componente.

    En el fragmento de código siguiente, la aplicación cliente (Application1) tiene acceso a un servicio web para el que posee una referencia web (Converter) que contiene una clase de proxy (Service1), que a su vez contiene un método (ConvertTemperature) para llamar al servicio web. Las dos líneas de código en negrita representan el código necesario para obtener acceso al servicio web.

    Imports System
    Module Module1
        Sub Main()
            Dim cService As New Converter.Service1()
            Dim dFahrenheit As Double
            Dim dCelsius As Double
            Console.Write("Temperature in degrees Fahrenheit: ")
            dFahrenheit = Convert.ToDouble(Console.ReadLine())
            dCelsius = cService.ConvertTemperature(dFahrenheit)
            Console.Write("Temperature in degrees Celsius: ")
            Console.WriteLine(dCelsius.ToString())
        End Sub
    End Module
    
    using System;
    namespace Application1
    {
       class Class1
       {
          static void Main()
          {
             Converter.Service1 cService = new Converter.Service1();
             Console.WriteLine("Temperature in degrees Fahrenheit: ");
             double dFahrenheit = Convert.ToDouble(Console.ReadLine());
             double dCelsius = cService.ConvertTemperature(dFahrenheit);
             Console.Write("Temperature in degrees Celsius: ");
             Console.WriteLine(dCelsius.ToString());
          }
       }
    }
    

Vea también

Conceptos

Generar clientes de servicios web XML

Otros recursos

Obtener acceso a servicios web en código administrado