private static final String EJBNAME = "IBackServiceBeanRemote/remote"; 
应该是这样的!

解决方案 »

  1.   

    还有,你的prop怎么没载入jndi.properties文件呢
      

  2.   

    对不起,看错了,private static final String EJBNAME = "BackServiceBean/remote";这样写是对的,估计就是你没有载入jndi那个文件的问题,我是这样写的
    package userEJB;import java.util.Properties;
    import javax.naming.InitialContext;
    public class UseEJB {
    private static InitialContext ctx=null;
    public static InitialContext getInitialContext(){
    if(ctx!=null){
    return ctx;
    }
    else{
    try{
    Properties props = new Properties();
    props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("jndi.properties")); ctx=new InitialContext(props);
    }
    catch(Exception e){
    ctx=null;
    e.printStackTrace();
    }
    return ctx;
    }
    }
    }
      

  3.   

    那个jndi的载入是没问题的,因为我后面有日志,把ctx里面的东西打印出来
    的确是jndi里面配置的内容
    所以我怀疑还是remote的问题
      

  4.   

    jndi.properties: 
    java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory 
    java.naming.factory.url.pkgs=jboss.naming:org.jnp.interfaces 
    jnp.partitionName=test 
    加入用户名和密码