David, Dain, I've been looking more into the OpenEJB and JAX-WS integration and I think I identified a few things that I will need from the OpenEJB code in order to get this integration done.
1) Handlers and security After looking at EJB interceptors and JAX-WS handlers and realizing that they are not quite the same I decided to let the JAX-WS engine to invoke its handlers and EJB engine to invoke its interceptors (instead of somehow wrapping a JAX-WS handler into an EJB interceptor). The only thing that I need to do for handlers is ensure that method-level authorization is performed before any JAX-WS handlers are executed. For that, I believe I need to perform the following check in the very first handler: getSecurityService().isCallerAuthorized(callMethod, null); So, if in Geronimo I could somehow get a reference to the SecurityService from DeploymentInfo or RpcContainer I would be set. 2) InvocationContext and delaying deserialization/serialization of parameters If OpenEJB allowed Geronimo to pass a custom implementation of the InvocationContext object (e.g. maybe an extension of ReflectionInvocationContext) I could modify it so that: a) getContextData() would return the same object as MessageContext (as per spec) b) getParameters() would deserialize the SOAP message (delay deseralization) c) setParameters() would update the SOAP message d) proceed() would keep the object returned and the SOAP message in synch Thoughts? Thanks, Jarek
