I could reproduce the issue and found out that the problem is the instanceof-check in org.springframework.ejb.access.AbstractRemoteSlsbInvokerInterceptor (line 227).
There is a check whether the resolved object is of type EJBObject, which is not the case for a plain EJB3 instance.
Description
See http://forum.springframework.org/showthread.php?p=165620
I could reproduce the issue and found out that the problem is the instanceof-check in org.springframework.ejb.access.AbstractRemoteSlsbInvokerInterceptor (line 227).
There is a check whether the resolved object is of type EJBObject, which is not the case for a plain EJB3 instance.
WebSphere's EJB3 pack seem to expose EJBHome objects that have a "create()" method that doesn't return an EJBObject instance but rather a plain object... This is a bit unusual, since other EJB3 implementations do not expose an EJBHome object to begin with, which we do support in Spring 2.5 already.
In any case, I've added support for this EJBHome-with-plain-object case for Spring 2.5.5. This will be available in tonight's 2.5.5 snapshot already; please give it a try and let me know whether it works for you!
Juergen Hoeller added a comment - 13/May/08 07:30 AM WebSphere's EJB3 pack seem to expose EJBHome objects that have a "create()" method that doesn't return an EJBObject instance but rather a plain object... This is a bit unusual, since other EJB3 implementations do not expose an EJBHome object to begin with, which we do support in Spring 2.5 already.
In any case, I've added support for this EJBHome-with-plain-object case for Spring 2.5.5. This will be available in tonight's 2.5.5 snapshot already; please give it a try and let me know whether it works for you!
Juergen
Actually I haven't been accurate enough. Though the original poster of the problem used WebSphere, I reproduced the problem with JBoss 4.2.2 (with added EJB3 support).
But the good news is: The nightly snapshot works and I can confirm the fix.
Andreas Senft added a comment - 14/May/08 12:32 AM
Actually I haven't been accurate enough. Though the original poster of the problem used WebSphere, I reproduced the problem with JBoss 4.2.2 (with added EJB3 support).
But the good news is: The nightly snapshot works and I can confirm the fix.
Thank you for the fast resolution, Juergen.
Regards,
Andreas
WebSphere's EJB3 pack seem to expose EJBHome objects that have a "create()" method that doesn't return an EJBObject instance but rather a plain object... This is a bit unusual, since other EJB3 implementations do not expose an EJBHome object to begin with, which we do support in Spring 2.5 already.
In any case, I've added support for this EJBHome-with-plain-object case for Spring 2.5.5. This will be available in tonight's 2.5.5 snapshot already; please give it a try and let me know whether it works for you!
Juergen