Thanks a lot Thomas.

It was that !!!


Thanks a lot again !!!!!!




-----Message d'origine-----
De�: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Envoy�: jeudi 27 mars 2003 10:56
��: OJB Users List
Objet�: Re: Dynamic Proxy error ??

Hi Emmanuel,

As Poxies work with interfaces only you have to make sure that all your 
reference attributes are typed as Interfaces too!

A field
B aB;
can only be assigned with a B instance, but not with a Proxy 
implementing InterfaceB. This is what the error message is trying to 
tell you.

You must define aB as
InterfaceB aB;

cheers,
thomas


Emmanuel Dupont wrote:
> All,
> 
>  
> 
>  
> 
> As the maillist is out of order, I would like to know if there are some
> trouble with the dynamic proxy ?
> 
>  
> 
> I have two objects A, B who work fine with Ojb and since I have been
puting
> the "dynamic" proxy in the repository.xml it haven't been working.
> 
>  
> 
> I only do this :
> 
>  
> 
> Object A implement InterfaceA
> 
> Object B implement InterfaceB
> 
>  
> 
>   proxy="dynamic"  in the repository.xml
> 
>  
> 
> Declaration of the InterfaceA and InterfaceB with all the method
signatures
> of A and B.
> 
>  
> 
> That's all.. This is driving me nuts !!
> 
>  
> 
>  
> 
> I have some collections between A, B and C, D..
> 
>  
> 
> It fails at the attributes b from A with is a link to B. 
> 
>  
> 
> [org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl]
> ERROR: while set field: 
> 
> object class[ A target field: aB
> 
> target field type: class B
> 
> object value class: $Proxy1
> 
> object value: [Id] 15]
> 
> [org.apache.ojb.broker.accesslayer.IndirectionHandler] ERROR: Method
> invoking failed for method *toString* on object null
> 
> Error setting field:aB in object:A
> 
> java.lang.IllegalArgumentException
> 
>       at
>
sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.
> java:63)
> 
>       at java.lang.reflect.Field.set(Field.java:519)
> 
>       at
>
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl.set(Pe
> rsistentFieldDefaultImpl.java:147)
> 
>       at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveReference(Persi
> stenceBrokerImpl.java:1035)
> 
>       at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveReferences(Pers
> istenceBrokerImpl.java:1013)
> 
>       at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getDBObject(Persistence
> BrokerImpl.java:1527)
> 
>       at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByIdentity(Per
> sistenceBrokerImpl.java:1632)
> 
>       at
>
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getObjectByIdenti
> ty(DelegatingPersistenceBroker.java:284)
> 
>       at
>
org.apache.ojb.broker.accesslayer.IndirectionHandler.materializeSubject(Indi
> rectionHandler.java:290)
> 
>       at
>
org.apache.ojb.broker.accesslayer.IndirectionHandler.getRealSubject(Indirect
> ionHandler.java:277)
> 
>       at
>
org.apache.ojb.broker.accesslayer.IndirectionHandler.invoke(IndirectionHandl
> er.java:246)
> 
>       at $Proxy0.toString(Unknown Source)
> 
>       at
> com.jware.test.businessobjects.AlertBO.getAlertInformation(BO.java:69)
> 
>       at
com.jware.test.businessobjects.Application.run(Application.java:28)
> 
>       at
> com.jware.test.businessobjects.Application.main(Application.java:12)
> 
> rethrown as org.apache.ojb.broker.metadata.MetadataException: Error
setting
> field:aB in object:A
> 
>       at
>
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl.set(Pe
> rsistentFieldDefaultImpl.java:165)
> 
>       at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveReference(Persi
> stenceBrokerImpl.java:1035)
> 
>       at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveReferences(Pers
> istenceBrokerImpl.java:1013)
> 
>       at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getDBObject(Persistence
> BrokerImpl.java:1527)
> 
>       at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByIdentity(Per
> sistenceBrokerImpl.java:1632)
> 
>       at
>
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getObjectByIdenti
> ty(DelegatingPersistenceBroker.java:284)
> 
>       at
>
org.apache.ojb.broker.accesslayer.IndirectionHandler.materializeSubject(Indi
> rectionHandler.java:290)
> 
>       at
>
org.apache.ojb.broker.accesslayer.IndirectionHandler.getRealSubject(Indirect
> ionHandler.java:277)
> 
>       at
>
org.apache.ojb.broker.accesslayer.IndirectionHandler.invoke(IndirectionHandl
> er.java:246)
> 
>       at $Proxy0.toString(Unknown Source)
> 
>       at BO.getInformation(BO.java:69)
> 
>       at
com.jware.test.businessobjects.Application.run(Application.java:28)
> 
>       at
> com.jware.test.businessobjects.Application.main(Application.java:12)
> 
> Caused by: java.lang.IllegalArgumentException
> 
>  
> 
> Thanks a lot !
> 
>  
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to