2 Replies Latest reply on Nov 25, 2008 5:09 PM by cburnley

    EJB3 Session Bean as 2.1 Service

    cburnley

      I'm deploying a remote ejb3 service (4.2.3) that needs to be called by a legacy ejb 2.1 (4.0.3) client.

      I've declared the bean with @Remote and @RemoteHome, and added container-configuration in a jboss.xml but it seems as though the service is still exposed as a ejb3 service because I get these types of exceptions:

      java.io.InvalidClassException: org.jboss.ejb3.session.BaseSessionRemoteProxy; local class incompatible: stream classdesc serialVersionUID = 831091
      5813626447181, local class serialVersionUID = 2609262789016232311


      which would imply that it is not really a 2.1 view of the service because it uses ejb3 proxy classes, making it incompatible with the 4.0.3 client.

      Is it even possible to do this with jboss ?

        • 1. Re: EJB3 Session Bean as 2.1 Service
          alrubinger

           

          "cburnley" wrote:
          which would imply that it is not really a 2.1 view of the service because it uses ejb3 proxy classes


          No, it's a valid EJB 2.1 View, but the ICE is because the 4.2.3 and 4.0.3 Proxy classes are not compatible. Solution is to ensure that your client has the correct classes on its ClassPath.

          FYI, in AS5 @Remote does not accept EJB 2.1 interfaces (ie. extends EJBObject), but the Remote Component Interface metadata is read in from the return values of "create" methods in @RemoteHome.

          S,
          ALR

          • 2. Re: EJB3 Session Bean as 2.1 Service
            cburnley

            Addeding the serial compatable libraries to the classpath is not an option since the client is jboss 4.0.3.