Proxy Dinamico

01/06/2006 - 14:56 por Carlos Maggiotti | Informe spam
Buenas gente...

Alguien tiene alguna URL o ejemplo sombre como generar un proxy dinamico
para consumir WebServices?

Saludos y gracias de antemano...

CarlosMag

Preguntas similare

Leer las respuestas

#1 CESAR DE LA TORRE [MVP]
14/06/2006 - 00:20 | Informe spam
A ver. Si te he entendido bien, tienes dos formas de hacerlo. Una, de forma
declarativa en el Web.config, cambiando la propiedad del WebService a DYNAMIC
se añade al Web.config un elemento donde puedes especificar la URL del
WebService.
Otra forma mas dinamica aun es cambiarlo por programa la dirección URL de
una Web-Reference en una aplicación que consume un WebService genérico.

Hacer ese cambio de URL de la Web-Reference por programa, es muy sencillo,
basta con cambiar programáticamente la propiedad '.Url' de la clase proxy
generada en la aplicación cliente que consume el WebService. por ejemplo, lo
siguiente sería código en la aplicación que CONSUME el WebService:

MiServicioWeb proxy = new MiServicioWeb();
//Cambiamos programaticamente la URL de la WebReference
proxy.Url = "http://miservidor.miempresa.com/Ser...smx";

//Llamamos a un WebMethod
proxy.MiMetodo();

¿Es esto lo que buscabas???.
CESAR DE LA TORRE
Software Architect
[Microsoft MVP - XML Web Services]
[MCSE] [MCT]

Renacimiento
[Microsoft GOLD Certified Partner]


"Carlos Maggiotti" escribió:

Buenas gente...

Alguien tiene alguna URL o ejemplo sombre como generar un proxy dinamico
para consumir WebServices?

Saludos y gracias de antemano...

CarlosMag



Respuesta Responder a este mensaje
#2 CESAR DE LA TORRE [MVP]
14/06/2006 - 16:23 | Informe spam
OK, no te había entendido bien. Lo mas parecido a lo que buscas entonces es
el concepto/patrón de AGENTE (Agent Pattern). Yo lo uso siempre en proyectos
de cierto volumen y que utilizan WebServices ó Servicios-SOA de WCF(Indigo).
La idea del AGENTE es tener una capa EN CLIENTE con una clase 'wrapper' por
cada clase proxy, de forma que si por ejemplo ahora usas WebServices, pero en
el futuro cambias a WCF, solamente tendrías que modificar las clases AGENTE
que son las únicas que consumen las clases PROXY.
Eso si, el enlace con las clases proxy es 'estático'. Una forma dinámica de
crear una clase proxy..., podrías hacerlo pero no lo recomiendo (llamando en
tiempo de ejecución a WSDL.exe para que genere la clase y compilar un
assembly en run-time con REFLECTION, etc.), pero además de ser complicado,
tendría un rendimiento nefasto...
Peo teniendo las diferentes clases proxy generadas de diferentes entornos,
tu clase AGENTE si podría dinamicamente cargar una u otra clase proxy.
En cualquier caso si te recomiendo el uso de AGENTES (en muchos casos pueden
actuar como MOCK-OBJECTS de los WebServices).
CESAR DE LA TORRE
Software Architect
[Microsoft MVP - XML Web Services]
[MCSE] [MCT]

Renacimiento
[Microsoft GOLD Certified Partner]

"Carlos Maggiotti" escribió:

Cesar...
Ante todo muchas gracias por responder...

En realidad, queria saber si exsite la manera de poder tener un Proxy no generado desde el "Add Web Reference". Eso esta haciendo a mis aplicaciones MUY dependientes de los WebMethods que el Visual Studio reconocio de un determinado WS en un determinado momento.

Mi idea seria la de encapsular un WebServiceProxy (Mío) con credenciales y funcionalidades mias y tener la libertad de llamar a cualquier WebMethod de cualquier WS, obviamente previo seteo de URL...

No se si me explique bien despues de tanta palabreria...

Saludos cordiales...
CarlosMag

"CESAR DE LA TORRE [MVP]" escribió en el mensaje news:
>A ver. Si te he entendido bien, tienes dos formas de hacerlo. Una, de forma
> declarativa en el Web.config, cambiando la propiedad del WebService a DYNAMIC
> se añade al Web.config un elemento donde puedes especificar la URL del
> WebService.
> Otra forma mas dinamica aun es cambiarlo por programa la dirección URL de
> una Web-Reference en una aplicación que consume un WebService genérico.
>
> Hacer ese cambio de URL de la Web-Reference por programa, es muy sencillo,
> basta con cambiar programáticamente la propiedad '.Url' de la clase proxy
> generada en la aplicación cliente que consume el WebService. por ejemplo, lo
> siguiente sería código en la aplicación que CONSUME el WebService:
>
> MiServicioWeb proxy = new MiServicioWeb();
> //Cambiamos programaticamente la URL de la WebReference
> proxy.Url = "http://miservidor.miempresa.com/Ser...smx";
>
> //Llamamos a un WebMethod
> proxy.MiMetodo();
>
> ¿Es esto lo que buscabas???.
> CESAR DE LA TORRE
> Software Architect
> [Microsoft MVP - XML Web Services]
> [MCSE] [MCT]
>
> Renacimiento
> [Microsoft GOLD Certified Partner]
>
>
> "Carlos Maggiotti" escribió:
>
>> Buenas gente...
>>
>> Alguien tiene alguna URL o ejemplo sombre como generar un proxy dinamico
>> para consumir WebServices?
>>
>> Saludos y gracias de antemano...
>>
>> CarlosMag
>>
>>
>>
Respuesta Responder a este mensaje
#3 Carlos Maggiotti
14/06/2006 - 16:34 | Informe spam
Muy buena la mdata...

Tenes alguna punta de implementacion de eso? Ya sea algun URL o ejemplo
practico?

Saludos y gracias
CarlosMag

"CESAR DE LA TORRE [MVP]" escribió en el mensaje
news:
OK, no te había entendido bien. Lo mas parecido a lo que buscas entonces
es
el concepto/patrón de AGENTE (Agent Pattern). Yo lo uso siempre en
proyectos
de cierto volumen y que utilizan WebServices ó Servicios-SOA de
WCF(Indigo).
La idea del AGENTE es tener una capa EN CLIENTE con una clase 'wrapper'
por
cada clase proxy, de forma que si por ejemplo ahora usas WebServices, pero
en
el futuro cambias a WCF, solamente tendrías que modificar las clases
AGENTE
que son las únicas que consumen las clases PROXY.
Eso si, el enlace con las clases proxy es 'estático'. Una forma dinámica
de
crear una clase proxy..., podrías hacerlo pero no lo recomiendo (llamando
en
tiempo de ejecución a WSDL.exe para que genere la clase y compilar un
assembly en run-time con REFLECTION, etc.), pero además de ser complicado,
tendría un rendimiento nefasto...
Peo teniendo las diferentes clases proxy generadas de diferentes entornos,
tu clase AGENTE si podría dinamicamente cargar una u otra clase proxy.
En cualquier caso si te recomiendo el uso de AGENTES (en muchos casos
pueden
actuar como MOCK-OBJECTS de los WebServices).
CESAR DE LA TORRE
Software Architect
[Microsoft MVP - XML Web Services]
[MCSE] [MCT]

Renacimiento
[Microsoft GOLD Certified Partner]

"Carlos Maggiotti" escribió:

Cesar...
Ante todo muchas gracias por responder...

En realidad, queria saber si exsite la manera de poder tener un Proxy no
generado desde el "Add Web Reference". Eso esta haciendo a mis
aplicaciones MUY dependientes de los WebMethods que el Visual Studio
reconocio de un determinado WS en un determinado momento.

Mi idea seria la de encapsular un WebServiceProxy (Mío) con credenciales
y funcionalidades mias y tener la libertad de llamar a cualquier
WebMethod de cualquier WS, obviamente previo seteo de URL...

No se si me explique bien despues de tanta palabreria...

Saludos cordiales...
CarlosMag

"CESAR DE LA TORRE [MVP]" escribió en el mensaje
news:
>A ver. Si te he entendido bien, tienes dos formas de hacerlo. Una, de
>forma
> declarativa en el Web.config, cambiando la propiedad del WebService a
> DYNAMIC
> se añade al Web.config un elemento donde puedes especificar la URL del
> WebService.
> Otra forma mas dinamica aun es cambiarlo por programa la dirección URL
> de
> una Web-Reference en una aplicación que consume un WebService genérico.
>
> Hacer ese cambio de URL de la Web-Reference por programa, es muy
> sencillo,
> basta con cambiar programáticamente la propiedad '.Url' de la clase
> proxy
> generada en la aplicación cliente que consume el WebService. por
> ejemplo, lo
> siguiente sería código en la aplicación que CONSUME el WebService:
>
> MiServicioWeb proxy = new MiServicioWeb();
> //Cambiamos programaticamente la URL de la WebReference
> proxy.Url =
> "http://miservidor.miempresa.com/Ser...smx";
>
> //Llamamos a un WebMethod
> proxy.MiMetodo();
>
> ¿Es esto lo que buscabas???.
> CESAR DE LA TORRE
> Software Architect
> [Microsoft MVP - XML Web Services]
> [MCSE] [MCT]
>
> Renacimiento
> [Microsoft GOLD Certified Partner]
>
>
> "Carlos Maggiotti" escribió:
>
>> Buenas gente...
>>
>> Alguien tiene alguna URL o ejemplo sombre como generar un proxy
>> dinamico
>> para consumir WebServices?
>>
>> Saludos y gracias de antemano...
>>
>> CarlosMag
>>
>>
>>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida