Compartir a través de


Modelo de código para obtener acceso a servicios web en código administrado

Actualización: noviembre 2007

Un cliente de servicios web es cualquier componente, servicio o aplicación que haga referencia y utilice un servicio web. Cabe destacar que los clientes de los servicios web no tienen que ser obligatoriamente una aplicación cliente, como una aplicación de escritorio; la mayoría de las veces los clientes de servicios web pueden ser otras aplicaciones web o incluso otros servicios web.

Cuando se tiene acceso a los servicios web en código administrado, una clase de proxy y .NET Framework controlan toda la codificación de infraestructura. El acceso a un servicio web sigue estos pasos básicos:

  • Localización del servicio web al que se va a tener acceso.

  • Creación de una clase de proxy para el servicio web mediante la incorporación de una referencia web al proyecto.

  • Inserción de una referencia a la clase de proxy en el código del cliente mediante la inclusión de su espacio de nombres.

  • Creación de una instancia de la clase de proxy del servicio web en el código del cliente.

  • Acceso al servicio web mediante los métodos del proxy.

Para obtener más información, vea Cómo: Obtener acceso a un servicio web en código administrado o Cómo: Obtener acceso a un servicio web de manera asincrónica en código administrado.

Localización de un servicio web e inserción de una referencia web

Para simplificar el modelo de codificación, las aplicaciones escritas en código administrado utilizan una referencia web para representar de forma local cada servicio web. Las referencias Web se insertan en el proyecto a través del cuadro de diálogo Agregar referencia Web. Este cuadro de diálogo permite la exploración de direcciones web de un servicio web. Para obtener más información, vea Localizar servicios web y Referencias web.

Inserción de una referencia a la clase de proxy

La clase de proxy generada tiene su propio espacio de nombres asociado, que se debe agregar a la aplicación de cliente para poder crear una instancia de dicha clase.. Para obtener más información, vea Directiva using (C#) o Referencias y la instrucción Imports (Visual Basic .NET).

Creación de una instancia de la clase de proxy

Para poder llamar a cualquiera de los métodos de la clase de proxy, primero hay que crear una instancia de dicha clase. Este proceso es exactamente igual que crear una instancia de alguna otra clase. Para obtener más información, vea new (C#) o Declaración de variables de objeto (Visual Basic .NET).

Acceso al servicio web mediante el proxy

Para tener acceso a un método del servicio web, la aplicación cliente invoca al método sincrónico correspondiente o a los métodos asincrónicos del objeto proxy. Estos métodos a su vez hacen lo necesario para enviar la llamada a través del cable para llamar al método de servicio web deseado. De forma predeterminada, la clase de proxy utiliza SOAP para tener acceso al método del servicio web, dado que SOAP admite el mayor conjunto de tipos de datos de los tres protocolos compatibles (HTTP-GET, HTTP-POST y HTTP-SOAP). Para obtener más información, vea Formatos de conexión del servicio web XML.

Resumen

El uso de una clase de proxy generada por Visual Studio directamente a partir de la descripción de un servicio web mediante el acceso a un servicio web en código administrado es un proceso relativamente sencillo. La clase de proxy hace lo necesario para transformar la llamada al método en un mensaje de solicitud y el mensaje de respuesta, en un valor devuelto del método.

La siguiente imagen muestra la relación de una aplicación que llama a un servicio web, que a su vez llama a otro servicio web para obtener datos de precios. En este ejemplo, el servicio web Obtener precios actuales es a su vez un proveedor y un consumidor de servicios web.

Clientes de servicios web y servicios web

Vea también

Conceptos

Generar clientes de servicios web XML

Otros recursos

Obtener acceso a servicios web en código administrado