package org.wamblee; import java.util.ArrayList; import java.util.List; import javax.ejb.Local; import javax.ejb.Stateless; import javax.enterprise.inject.spi.Bean; import javax.enterprise.inject.spi.BeanManager; import javax.jws.WebService; import javax.naming.InitialContext; import javax.naming.NamingException; @Stateless(mappedName = "ejb/jantje") @Local @WebService public class ServiceImpl implements Service { public String doSomething(String aArg) { return "Hello " + aArg; } public String lookup(String aName) { try { InitialContext ctx = new InitialContext(); Object obj = ctx.lookup(aName); String ret = "Found '" + obj + "'"; if (obj != null) { ret += " class " + obj.getClass().getName(); } return ret; } catch (Exception e) { return "Sorry '" + aName + "' not found"; } } public ArrayList getBeans() { try { ArrayList res = new ArrayList(); BeanManager mgr = (BeanManager) new InitialContext() .lookup("java:comp/BeanManager"); for (Bean bean : mgr.getBeans(Object.class)) { res.add(new BeanInfo(bean.getName(), bean.getClass().getName(), bean.getBeanClass().getName())); } return res; } catch (NamingException e) { return null; } } }