Properties h = new Properties();
      h.put(Context.INITIAL_CONTEXT_FACTORY,
        "weblogic.jndi.WLInitialContextFactory");
      h.put(Context.PROVIDER_URL, "t3://localhost:7001");
      Context ctx = new InitialContext(h);这样没错啊,你把weblogic.jar加进来了没有?
没加进来肯定不行的啊。

解决方案 »

  1.   

    把weblogic.jar加到CLASSPATH应该可以了
    WLInitialContextFactory是JNDI进行查找时需要提供的SPI
    具体位置在:%WL_HOME%/lib/weblogic.jar
      

  2.   

    xioyoo(丁鹏)   是环境变量吗:   J2EE_HOME = c:\j2ee
       JAVA_HOME = c:\jdk
       BEA_HOME  = d:\bea
       WL_HOME   = D:\bea\wlserver6.1\lib\weblogic.jar;
       classpath = .;
                   c:\j2ee\lib\j2ee.jar;
                   D:\bea\wlserver6.1\lib\weblogic.jar;
                   D:\bea\utils\utils.jar
       path = c:\j2ee\bin; 
              c:\jdk\bin   这样设变量对吗   javac -classpath 
             .;%j2ee_home%\lib\j2ee.jar;
               %BEA_HOME%\wlserver6.1\lib\weblogic.jar;
               OrderManagement.jar; 
               Client.java   这样编译   java -classpath 
              .;%j2ee_home%\lib\j2ee.jar;
                %BEA_HOME%\wlserver6.1\lib\weblogic.jar;
                OrderManagement.jar; 
                Client   这样运行   大哥看我做的对不对啊.   谢谢先
      

  3.   

    WL_HOME不对,应该是WL_HOME=d:\bea\wlserver6.1;编译的时候不用那么复杂,只要你的CLASSPATH生效了,你可以把Client.java放到和你的EJB原文件的同一目录下,然后javac Client.java就可以了,当然,你上面那么做也是对的,只是复杂了。运行的时候同理,Client.java与那些BEAN的CLASS位于同一目录,然后java Client就可以了,放在同一目录的原因是Client需要引用EJB的远程接口和HOME接口
      

  4.   

    << Client >>
    Unable to resolve OrderManagement. 
    Resolved: '' Unresolved:'OrderManagement'<< toString >>
    javax.naming.NameNotFoundException: 
    Unable to resolve OrderManagement. 
    Resolved: '' Unresolved:'OrderManagement' ; remaining name ''又运行了一般成这样了......
      

  5.   

    找不到JNDI名可能是你的lookup()中的参数和JNDI绑定不一致或者是你的EJB根本没有部署成功,导致EJB的JNDI名根本没有绑定
      

  6.   

    JNDI名找不到。有两种可能:
    1,你的lookup()中的参数和EJB的JNDI名不符合2,可能EJB没有被部署成功,导致JNDI名根本没有绑定,不存在
      

  7.   

    如果你确定lookup()中的参数和EJB的JNDI名是一致的话,你试试用下面的命令行
    将BEAN重新部署一下:
    java weblogic.deploy -port 7001 -host localhost deploy password name source把password,name,source换成你自己的
      

  8.   


      我发现了我根本没有成功部署 ejb 老是 xml 文件出错..
      可悲的是我不知道错在那.
     
      大哥有没有编译 xml 文件的东东啊  我估计是这里错了  <!DOCTYPE weblogic-ejb-jar PUBLIC 
         '-//BEA Systems, Inc.//DTD Weblogic 6.0.0 EJB//EN' 
         'http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd'>
      

  9.   

    不好意思,我要下去做功课了,不能继续回答你了
    生成XML你可以这样:先编译EJB,把CLASS放在某个目录下,比如D:\test
    在D:\test目录下面建立新目录META-INF
    然后:java weblogic.ant.taskdefs.ejb20.DDInit D:\test
    之后你再去META-INF,XML文件已经自动生成,但是有的元素的值需要修改
    你可以手动修改或者到CONSOLE中修改。如果你还遇到问题的话,建议你好好看weblogic文档中EJB开发的‘Deploying EJBs to WebLogic Server’那一节内容。另外部署EJB还有一种方法,就是把weblogic的启动模式设置成开发模式,这样你可以直接把webApp或者EJB.jar直接拷贝到Applications目录中,weblogic会自动部署你的应用程序。