EJB 3 tutorial encourages to write non-standard code, at least in the EJB 2.1 adapters bit.
See
http://labs.jboss.com/jbossejb3/docs/tutorial/ejb21_client_adaptors/ejb21_client_adaptors.html
Session1Bean is annotated with the @Remote annotation to designate Session1Remote as its remote business interface. However, Session1Remote interface extends the EJBObject interface, which is wrong.
Enterprise JavaBeans 3.0 has this to say in §4.4.6:
"The following are the requirements for the session bean's business interface:
- The interface must not not extend the javax.ejb.EJBObject or javax.ejb.EJBLocalObject interface"
See also JBAS-5036.