As suggested in
http://galaxy.andromda.org/forum/viewtopic.php?t=5159 I tried the following changes and they worked for me:
- changed EJB Injection Definitions in "SessionBeanBase.vsl" from
@javax.ejb.EJB
protected ${reference.fullyQualifiedServiceRemoteInterfaceName} $stringUtils.uncapitalize(${reference.name});
to:
@javax.ejb.EJB
protected ${reference.fullyQualifiedInjectedServiceInterfaceName} $stringUtils.uncapitalize(${reference.name});
- added the attribute "fullyQualifiedInjectedServiceInterfaceName" (copied from fullyQualifiedServiceRemoteInterfaceName) in the "EJB3SessionFacade" in the UML model.
- added the following code in "EJB3SessionFacadeLogicImpl":
/**
* @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetFullyQualifiedInjectedServiceInterfaceName()
*/
protected String handleGetFullyQualifiedInjectedServiceInterfaceName()
{
if (this.isViewTypeLocal() || this.isViewTypeBoth()) {
return this.getFullyQualifiedServiceLocalInterfaceName();
} else {
return this.getFullyQualifiedServiceRemoteInterfaceName();
}
}