When your client goes to the JNDI to get a HOME object, you are given a smart proxy which will take care of Remote Invocation stuff. So you do not need precompiled stubs.
The JNDI will give you smart proxies? Are you trying to answer my question or give me more questions to ask?
Could you explain this for me? I am only guessing when I ask: what if JNDI is not JBoss' JNDI, but a 3rth vendor? Or are you saying that JBoss' EJB container sticks those "smart proxies" onto the JNDI tree instead of the stubs?
So, what are those smart proxies then? Some sort of generic stubs that take care of marshaling and unmarshaling for you, while passing the call to the EJB object?