Hmmm...

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

Reply via email to