你现在的这个并没什么路径的问题,既然jndi名叫oraclejndi就直接用lookup("oraclejndi")就行,所谓路径你可以想象成文件的路径,道理是一样的,因为文件系统也可以看成是目录服务。
    注意的是Context的建立要指定相应的参数,这个在Weblogic的例子程序中可以找到。

解决方案 »

  1.   

    谢谢 juhwali(华仔)的回答1、我在JB7中配置好用它制作了一个示例程序可以成功,但我用记事本写程序再部署客户端总出错2、怎样去判断jndi设置正确??3、请你再把路径问题说清楚一点好吗?
      

  2.   

    1你用jb生成的客户端测试一下
    2怎样去判断jndi设置正确??lookup()找不到就是问题
      

  3.   

    离开JB环境后
    使用客户端测试时将以下包
    加到classpath中:
    C:\bea\weblogic700\server\lib\weblogic.jar;创建Context使用如下方式:
     String url = "t3://主机名:7001";
     Properties properties = null;
     properties = System.getProperties();
     properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
     properties.put(Context.PROVIDER_URL, url); Context ctx = new InitialContext(properties);
      

  4.   

    weblogic的配置
    pool
    Name:oraclePool
    URL:jdbc:oracle:thin:@127.0.0.1:1521:oracle
    Driver Classname:oracle.jdbc.driver.OracleDriver
    user=ejb
    password=ejb
    sources
    Name:oracleSources
    Pool Name:oraclePool在程序中代码:
    Context ctx = new InitialContext();
    Object homeObject=lookup(oracleSources);
    HelloHome home =(HelloHome)javax.rmi.PortableRemoteObject.narrow  
                                        (homeObject,HelloHome.class);
    System.out.println(home.getHello())
                          ^^^^^^^^^^^^^在这里用JCreator Pro来看home没有getHello方法,但我在remote中定义了该方法。
      

  5.   

    lookup("oraclejndi")->lookup("java:comp/env/jdbc/oraclejndi")
      

  6.   

    能解析一下:java:comp/env/jdbc/是什么意思?
      

  7.   

    问题好象是这样的:在本地开发用:lookup("java:comp/env/jdbc/oraclejndi")
    在远程用:lookup("oraclejndi")
    ~~
      

  8.   

    System.out.println(home.getHello())
                          ^^^^^^^^^^^^^在这里用JCreator Pro来看home没有getHello方法,这里不对吧,应该由Home接口生成Remote对象才对啊
    Hello hello = home.create();
    System.out.ptinln(hello.getHello());
      

  9.   

    我也碰到这个问题,烦恼!!错误如下:在DEBUG ENTITY BEAN 客户端的时候提示以下错误信息,请高手指点!
    代码段如下:
    Context ctx = getInitialContext();
    Object ref = ctx.lookup("Login");
    Home = (LoginHome)PortableRemoteObject.narrow(ref, LoginHome.class);
    Login r=Home.findByPrimaryKey(new java.math.BigDecimal("1"));
    System.out.println(r.getName());JNDI name 与Weblogic JNDI Tree 中的名字一样,但Debug client的时候出现:
    javax.naming.LinkException: Root exception is javax.naming.NameNotFoundException: remaining name: /app/ejb/Demo.jar#Login/local-home
    <<no stack trace available>>但在Weblogic JNDI Tree显示如下: 
    Bind Name:  Login
    Object Class:
    Object Hash Code:
    Object To String:Login并没有绑定任何Class,发布的时候正常!!
    使用weblogic服务器,用jbuilder发布!
    定义对象的全名:
    java:comp/env/ejb/Login
    或者java:comp/env/Login
    也不行!!!!