Index: src/main/java/org/jboss/weld/bean/SessionBean.java =================================================================== --- src/main/java/org/jboss/weld/bean/SessionBean.java (revision 5159) +++ src/main/java/org/jboss/weld/bean/SessionBean.java (working copy) @@ -32,6 +32,7 @@ import java.io.Serializable; import java.lang.annotation.Annotation; import java.lang.reflect.Method; +import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.Arrays; import java.util.Collections; @@ -209,6 +210,7 @@ for (BusinessInterfaceDescriptor businessInterfaceDescriptor : ejbDescriptor.getLocalBusinessInterfaces()) { types.put(businessInterfaceDescriptor.getInterface(), businessInterfaceDescriptor.getInterface()); + initInterfaces(businessInterfaceDescriptor.getInterface(), types); } if (getAnnotatedItem().isAnnotationPresent(Typed.class)) { @@ -220,6 +222,16 @@ super.types = new HashSet(types.values()); } } + + private void initInterfaces(Class itf, Map, Type> types) + { + Class[] parentInterfaces = itf.getInterfaces(); + for (Class parentInterface : parentInterfaces) + { + types.put(parentInterface, parentInterface); + initInterfaces(parentInterface, types); + } + } protected void initProxyClass() {