I guess I must have made the assumption that if a class was available to the src webapp to serialise, then it would be available to the destination webapp to deserialise...
That may have been a mistake as it looks like your src webapp has managed to obtain a proxy for an EJB, which can be serialised to a destination webapp which cannot deserialise it as it does not have the class to hand...
I guess we need to integrate this deserialisation with JBoss' RMI classloading...
As far as I understand it, when you obtained the proxy via RMI, it was shipped to you with a tag containing a URL from which it's class could be downloaded. This pointed back to the JBoss WebServer (a confusing misnomer for an HttpServer which only serves Classes).
When your source webapp ships the same proxy to your destination webapp, it needs it's class to deserialise it. It should retireve it from the same URL, but something is obviously going wrong. This is not really my area, but if you know anything about RMI and classloading, this should give you a good start.
Jules
P.S.
This is my best guess - it could be wrong...
Joao Pedro Clemente wrote:
Ok Jules, here goes the message I send some time ago. I'll work closely to you trying to find out is this, ok? Just ask what you think you might need, I'll try to debug however I can.
---------- Forwarded message ---------- Date: Tue, 11 Mar 2003 16:48:04 -0000 (WET) From: [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [JBoss-user] JGStore Error: cannot assign instance of $Proxy90 to field..
I've used the CVS version to overcome the
ERROR [JGStore] could not demarshal incoming update java.lang.ClassNotFoundException
but now I got a new one: Cannot assign instance of $Proxy<xx> to field <remote.reference.to.ejb> of type <ejb.interface> in instance of <servlet.that.contains.reference>
ERROR [org.mortbay.j2ee.session.JGStore] could not demarshal incoming update java.lang.ClassCastException: cannot assign instance of $Proxy90 to field inocrea.web.webmail.model.JwmaFolderImpl.remote of type inocrea.ejb.mail.interfaces.MailFolder in instance of inocrea.web.webmail.model.JwmaFolderImpl at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:1840) at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1062) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1851) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
I'll post the code I find relevant of the servlet in question:
/*snip*/ import inocrea.ejb.mail.interfaces.MailFolder; /*snip*/
public class JwmaFolderImpl implements JwmaFolder, JwmaTrashInfo, JwmaInboxInfo, Serializable { protected MailFolder remote; protected FolderVO vo;
public JwmaFolderImpl(MailFolder mailFolder) { remote = mailFolder; try { vo = remote.getFolderVO(); } catch(RemoteException e) { Log1.error(""+e); } }
Any tip? Thank you Joao Clemente
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb: Dedicated Hosting for just $79/mo with 500 GB of bandwidth! No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb: Dedicated Hosting for just $79/mo with 500 GB of bandwidth! No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user
