You need to redundantly include the classes in question in the web layer, and scope its deployment as well. I will have to look into why the remote class loading would break with a scoped ejb deployment.
I may have misunderstood your question, so if I have I apologise.
Is it not just a case of treating the EJB call from the web tier as you would a normal EJB client i.e it just needs access to the Remote and Home classes, the implementation is not shipped.
We current have a situation (with 3.0.6!) with mutliple scope ears and a call from the web tier. In our case we just supplied to the container a jar of the home and remotes. Only the ejb container has visibility of the impls.
Hot-deploy still work as we employ a facade pattern which means we rarely need to change to EJB the web tier calls.
When we use the embedded web tier we just put this jar into server/default/lib.
I just encountered a similar situation. For me the ClassNotFoundException is cause by a "no security manager: RMI class loader disabled" problem.
Actually, with callByValue, everything works fine because the client doesn't need to download any class. But with CallByValue enabled, the client misses the org.jboss.invocation.MarshallingInvokerInterceptor class and so attempts to download it.
I think org.jboss.invocation.MarshallingInvokerInterceptor should be included in the jbossall-client.jar no?
I have the same problem and the same message "For me the ClassNotFoundException is cause by a "no security manager: RMI class loader disabled" problem."
Si someone fix this issue.