[CORRIGIDO]
olá pessoa, estou com um problema de cast de tipo com proxy.
Por exemplo, no codigo abaixo, é feito um lookup de um ejb e armazenado num objeto Object. A priori, nao conheço a interface que esse ejb implementa, mas sei que ela é a mesma interface usada na declaração do campo da classe representada pelo objeto field.
O problema é que se usar o metodo set do object java.lang.reflect.Field e usar o object ejb (que na verdade eh um proxy para o ejb real do servidor) como argumento, ele lança um IllegalArgumentException.
A linha comentada (1) funciona normalmente, mas nao a (2)
Field fields[] = clazz.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
Object ejb = new InitialContext().lookup(jndiName);
Class clazz = Class.forName(field.getType().getCanonicalName());
// (1) LoginFacade ejbCast = (LoginFacade)clazz.cast(ejb);
// (2) field.set(clazz, (LoginFacade)clazz.cast(ejb));
field.set(clazz, clazz.cast(ejb));
}
Existe alguma maneira de atribuir o objeto ejb (proxy) nesse campo representado por field ?
Obrigado 

).