配置  ctx.PROVIDER_URL  阿。
/**
     * Constant that holds the name of the environment property
     * for specifying configuration information for the service provider
     * to use. The value of the property should contain a URL string
     * (e.g. "ldap://somehost:389").
     * This property may be specified in the environment,
     * an applet parameter, a system property, or a resource file.
     * If it is not specified in any of these sources,
     * the default configuration is determined by the service provider.
     *
     * <p> The value of this constant is "java.naming.provider.url".

解决方案 »

  1.   

    本地必须有ejb的home包 !!!
      

  2.   

    to zez(鹤清风 为了老婆多挣钱 !) :那个告诉你的?要是那样,还叫中间件吗?web服务器和application服务器不在一起的是如何发布的jsp和ejb的。
      

  3.   

    说得具体一点啊!我也知道中间件的好处,好象通过JNDI可以查找,但是怎么找,找到了怎么获得远程对象的一个引用再通过引用调用它的方法.
    哪位高手指点指点!
      

  4.   

    你以为什么叫中间件???
    中间件没有home接口你怎么实例化远程接口???
    到时候发布的时候用工具把home打包也要给客户的!我是这么认为的。如果有误,是我错。
    但我还是请你先看看相关文档。。
    不要想当然。
      

  5.   

    客户端必须要import home和remote的接口。
      

  6.   

    其实,不但客户端要有home和remote等接口,实际上还要生成残桩类。
    只是一些好的工具会自动帮你生成。还有一些应用服务器还能够自己
    生成服务端的部署类。但原理依然是这样。如果你看看一些工具生成的
    客户端代码,你会明白很多他实际工作的原理
      

  7.   

    确实是我理解错了!
    不过,我还是有些问题想请教:
        在本地实例化,也在本地调用,执行却在远端。一来一去,效率勘忧。能告诉我具体的实例化过程吗?从jndi查找到本地本地实例化。以及调用方法时是如何让远端得到消息并运行返回结果的?
    关于配置:用welogic为例子:
    Properties prop= new Properties ();
    prop.put(ctx.INITIAL_CONTEXT_FACTORY , "weblogic.jndi.WLInitialContextFactory");
    prop.put(ctx.PROVIDER_URL  = “t3://yourEJBServerIP:7001“);
    ctx = new InitialContext(prop);