jndi 的问题
检查一下你的JNDI名要不就是,你再部署ejb的时候,没有删掉以前在weblogic里部署的ejb.jar

解决方案 »

  1.   

    好像还是不行,我是jb+wls,bean是cmp2.0的,怎么回事,提点建议
      

  2.   

    感觉好像是你的context初始化有问题,
    你是怎么调用的?
      

  3.   

    Properties p = new Properties();
                  p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
                  String url = "t3://localhost:7001";
                  p.put(Context.PROVIDER_URL, url);
                  p.put(InitialContext.SECURITY_PRINCIPAL,"lion");
                  p.put(InitialContext.SECURITY_CREDENTIALS,"2jiajiav");
                  Context context = new InitialContext(p);
                  Object obj = context.lookup("Login");
                  sy15.TestHome hh = (sy15.TestHome)PortableRemoteObject.narrow(obj,sy15.TestHome.class );
                   …………
      

  4.   

    我用ejb1.0生成的cmp bean,在应用程序下可以成功调用,可是一用ejb2.0,调用就不行了,为什么呢
      

  5.   

    wls6不支持cmp2.0.
    请问only_badbaby(坏坏)
     p.put(InitialContext.SECURITY_PRINCIPAL,"lion");
     p.put(InitialContext.SECURITY_CREDENTIALS,"2jiajiav");
    是不是安全描述,在config.xml里设置还是在其他的地方?
      

  6.   

    Login是你远程接口的JNDI吗?
    大致就是这样用,你再仔细检查一下~
      

  7.   

    Object obj = context.lookup("Login");
    这个"Login"是你的EntityBean的远程home接口的JNDI名,还是LocalHome接口的JNDI名呢?
    ejb1.0里没有LocalHome,ejb2.0才有.你看看你生成的EntityBean是不是搞成LocalHome的了,如果是的话,是不能远程lookup的.换成远程home接口试试.
      

  8.   

    呵呵,我终于解决了,就是把bean的接口全都换成remote接口就可以了,谢谢大家了