3 Replies Latest reply on Apr 28, 2003 7:09 PM by Jon Barnett

    Regarding incompatible serialversionUID

    nalini_sharma Newbie

      Hi,
      I'm trying to establish connectivity between JBoss2.4.4 & JBoss3.0.0.
      I've deployed the jar on Jboss3.0.0 & the war is running on JBoss2.4.4. I do understand that serialversionUIDs may differ if the classes are compiled on different machines, but i've extracted the client from my jar itself. Still, i'm getting the following exception(Pls note that all the EJBs are 2.0 compliant) :

      java.io.InvalidClassException: org.jboss.proxy.ejb.HomeInterceptor; Local class not compatible: stream classdesc serialVersionUID=-5228829863448809735 local class serialVersionUID=1333656107035759718
      at java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:518)
      at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:562)
      at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:931)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:361)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
      at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1181)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
      at org.jboss.proxy.ClientContainer.readExternal(ClientContainer.java:108)
      at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1207)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
      at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2258)
      at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:514)
      at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1407)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
      at java.rmi.MarshalledObject.get(MarshalledObject.java:133)
      at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:30)
      at Tari_00025f.display._0002fTariff_0002fdisplay_0002fChargingUnitTypeList_0002ejspChargingUnitTypeList_jsp_1._jspService(_0002fTariff_0002fdisplay_0002fChargingUnitTypeList_0002ejspChargingUnitTypeList_jsp_1.java:346)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspServlet.java:130)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:282)
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
      at org.apache.tomcat.core.Handler.service(Handler.java:287)
      at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
      at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
      at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
      at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
      at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
      at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
      at java.lang.Thread.run(Thread.java:479)

      Please help!
      Thanx
      Nalini

        • 1. Re: Regarding incompatible serialversionUID
          Jon Barnett Master

          I'm not quite sure why you're trying to do this but the most likely issue is that the JBoss client libraries you are using to try to connect to JBoss 3.0.x are actually JBoss 2.4.x client libraries. They are incompatible. You will need the JBoss 3.x client libraries if you want to connect to resources (like EJBs) in JBoss 3.x.

          Hope that helps.

          • 2. Re: Regarding incompatible serialversionUID
            nalini_sharma Newbie

            hey bravo ! well tried but we took care of that too..the client libraries are of jboss3.x ..still wondering whats the prob..
            do let us know if u think this cud be due to something else.

            Thanx
            nalini

            • 3. Re: Regarding incompatible serialversionUID
              Jon Barnett Master

              I'm still not convinced that the JBoss 2.4.x libraries aren't getting in the way. In a coupled JBoss-Jetty or JBoss-Tomcat, the full connection libraries are made available to the servlet container (because it inherits the loaded classes from JBoss). So the JBoss 2.4.x client code may still be used as the connection libraries to the EJBs. That is why in a coupled installation, you don't need to specifically put the client code in the servlet container's shared libraries.

              As a sanity check, try a standalone servlet container with correct version of JBoss clients in its shared library and see if you get the same problem.