Hallo Larry,

try to put your $CLASSPATH so that it includes
MyDependentObject_Dependent1, then it should work...

but there surely is a smarter way... anyone has more tips?

best regards
   Robert

Monday, September 17, 2001, 4:54:34 PM, you wrote:



LLJ> I have a CMP Entity bean that extends a value object class (I'll call this
LLJ> class MyValueObject.class). MyValueObject.class has a dependent object
LLJ> (MyDependentObject.class) which is defined / mapped in my ejb-jar.xml using
LLJ> the <dependent/> and <ejb-relation/> tag sets. This ejb has a getData or
LLJ> getValueObject method that returns a MyValueObject.class and the contained
LLJ> MyDependentObject.class. Both the value object and the dependent objects are
LLJ> serializable.

LLJ> Now I have an ormi client that looks up the bean and invokes one of the
LLJ> bean's finder methods. What I get back is an exception that looks similar to
LLJ> the following:

LLJ> java.rmi.UnmarshalException: Error deserializing return-value:
LLJ> MyDependentObject_Dependent1; 
LLJ> java.lang.ClassNotFoundException: MyDependentObject_Dependent1 
        
LLJ> at.com.evermind.server.rmi.RMIClassLoader.findClass(RMIClassLoader.java:71)
LLJ>         at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
LLJ>         at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
LLJ>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
LLJ>         at java.lang.Class.forName0(Native Method)
LLJ>         at java.lang.Class.forName(Class.java:195)
LLJ>         at
LLJ> com.evermind.server.rmi.RMIInputStream.resolveClass(RMIInputStream.java:133)
LLJ>         at
LLJ> java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:918)
LLJ>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
LLJ>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
LLJ>         at
LLJ> java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
LLJ>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
LLJ>         at
LLJ> java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2262)
LLJ>         at
LLJ> java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
LLJ>         at
LLJ> java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1411)
LLJ>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
LLJ>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
LLJ>         at
LLJ> com.evermind.server.rmi.RMIInputStream.readType(RMIInputStream.java:118)
LLJ>         at
LLJ> com.evermind.server.rmi.RMIConnection.handleMethodInvocationResponse(RMIConn
LLJ> ection.java:1423)
LLJ>         at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:471)
LLJ>         at java.lang.Thread.run(Thread.java:484)

LLJ> Now I know what the problem is. Orion / CMP extends my
LLJ> MyValueObjectEntityBean.class and any dependent objects such as
LLJ> MyDependentObject. And I understand why Orion must do this for CMP
LLJ> management. The finder is returning my ValueObject, but it's returning the
LLJ> dependent object as the dependent object class that Orion built - which is
LLJ> obviously not in the class path of my client - which expects
LLJ> MyDepentObject.class and not Orion's MyDependentObject_Dependent1.class. It
LLJ> doesn't make much sense for me to include this class with the client as the
LLJ> number at the end of the class changes each time I re-deploy my bean or app.

LLJ> With this in mind, I guess I could do something ugly like a copy constructor
LLJ> / cast on all returned finder matches on the server side - which I really
LLJ> don't want to do. I could also switch to BMP, which I would probably do as a
LLJ> last resort. I've also tried tweaking some of the settings in my
LLJ> config/rmi.xml file and saw no change in the above stack trace.

LLJ> Has anyone found another workaround that would allow me to keep CMP here?

LLJ> Thanks.... 


Mit freundlichen Grüßen,
  Robert Virkus
  Director Mobile Solutions

-- 
Robert Virkus
scaraboo Entwicklungsgesellschaft mbH
mobile Entertainment
Georg-Wulf-Str.4-6
28199 Bremen
Germany
phone  +49 - (0)421 - 59 67 549
fax    +49 - (0)421 - 59 67 567
mobile +49 - (0)171 - 35 31 635
[EMAIL PROTECTED]
www.scaraboo.de
wap.scaraboo.de


Reply via email to