和调用本地的稍有区别,在初始化jndi的时候要给出目标机器的端口地址等信息
例如
Hashtable props = new Hashtable();
props.put(InitialContext.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
props.put(InitialContext.PROVIDER_URL, "jnp://127.0.0.1:1099");
authorization/authentication
InitialContext initialContext = new InitialContext(props);
return initialContext;
在lookup的时候要lookup ejb的远程接口的jndi名称

解决方案 »

  1.   

    不行啊,我是这样用的:          InitialContext initialContext;
              EJBHome home = null;
              try {
                Hashtable props = new Hashtable();
                props.put(InitialContext.INITIAL_CONTEXT_FACTORY,
                          "org.jnp.interfaces.NamingContextFactory");
                props.put(InitialContext.PROVIDER_URL, "jnp://127.0.0.1:1099");
                initialContext = new InitialContext(props);          } catch (NamingException ne) {
                throw new ServiceLocatorException(ne);
              }
              try {
                Object objref = initialContext.lookup(jndiHomeName);
                Object obj = PortableRemoteObject.narrow(objref, className);
                home = (EJBHome)obj;
              } catch (NamingException ne) {
                throw new ServiceLocatorException(ne);
              } catch (Exception e) {
                throw new ServiceLocatorException(e);
              }
              return home;
            }提示:
    ServiceLocatorException:javax.naming.NoInitialContextException: Cannot instantiat
    e class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.Cl
    assNotFoundException: org.jnp.interfaces.NamingContextFactory]
      

  2.   

    把你的对应的几行改为
    Hashtable props = new Hashtable();
    props.put(Context.INITIAL_CONTEXT_FACTORY,
          "weblogic.jndi.WLInitialContextFactory");
    props.put(Context.PROVIDER_URL, "t3://127.0.0.1:7001");
    initialContext = new InitialContext(props);
      

  3.   

    这样就可以了,大家说如果IP换别的真实的机器的话会不会再出问题呢?还有就是对别的机器上布署ejb的weblogic的版本有没有什么要求呢?比如说要不要两边一样呢?
      

  4.   

    版本的要求当然是只高不低了,
    真实的ip跟这个没有什么区别,注意jndi就行了