Estimados.

Presento el caso y despues les cuento el problema:

Desde una aplicación web tengo que cosultar varios servicios web cuyos valores 
debo analizar y consolidar en mi aplicación. Al momento del desarrollo no 
tenemos claro todavía cuantos web service vamos a tener que consultar en cada 
llamada, por lo que se nos ocurrió desarrollar una interface generica y una 
clase que la implemente por cada servicio a consultar de manera tal que cada 
dll de cada servicio se comporte como un plugin de la aplicacion principal. 
Para estandarizar las llamadas una nueva clase integra los "plugins", hace las 
llamadas a los WS encontrados y luego devuelve el resultado a la aplicacion 
principal.

El problema: Uno de los WS requiere instanciar una clase y llenarla con los 
datos de la llamada y luego llamar al método que se requiere en el WS. Para eso 
en su "plugin" generamos la referencia al WS, a la clase de datos de consulta, 
llenamos los datos y al llamar a método la aplicación aborta con el siguiente 
error:

[A]WSProvider_LM.AO no se puede convertir en [B]WSProvider_LM.AO. El tipo A se 
origina a partir de 'WSProvider_LM, Version=1.0.0.0, Culture=neutral, 
PublicKeyToken=null' en el contexto 'LoadNeither' en la ubicación 
'C:\...\Proyecto\WebApplication1\Bin\Servicios\WSProvider_LM.dll'. El tipo B se 
origina a partir de 'WSProvider_LM, Version=1.0.0.0, Culture=neutral, 
PublicKeyToken=null' en el contexto 'Default' en la ubicación 
'C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET 
Files\root\269b0f2e\119282f8\assembly\dl3\071996a0\ae5b337f_7315cb01\WSProvider_LM.DLL'.
 
Donde el tipo AO es la clase de datos a pasar al WS. Dado que no puedo hacer un 
debugging del WS por ser codigo de terceros, pareciera que los dos tipos que 
está diferenciando son el objeto creado para cargar los datos y el propio 
parámetro del método.
 
Encontré algunas referencias googleando pero hablan de la forma en que se carga 
el assembly. Igualmente lo probé pero no obtuve ningun resultado.

Alguna vez les pasó? Antes de replantear la arquitectura, me gustaria agotar 
todas las posibilidades.

Muchas Gracias !!!

Jorge Monsalvo




Responder a