看来只有一个解释,JNDI没有配好

解决方案 »

  1.   

    初始上下文生成庫和JNDI樹的物理位置是否設定正確?
      

  2.   

    你用的是用什么服务器啊?WEBLOGIC吗?如果是的话,请把下面的语句:
    Properties props = System.getProperties();
    Context ctx = new InitialContext(props);
    改成:
    Properties props = new Properties();
    String url       = "t3://localhost:7001";
    props .put(Context.INITIAL_CONTEXT_FACTORY,
            "weblogic.jndi.WLInitialContextFactory");
    props .put(Context.PROVIDER_URL, url);
    Context ctx = new InitialContext(props);
    如果还不行,请和我联系:  [email protected]
      

  3.   

    还有一种可能你的EJB包不再你的客户端程序的路径里.
      

  4.   

    import  包名.HelloHome;你的HelloHome接口在哪个包中定义的,将他放到类路径中,或考到你的原程序目录下,加到工程中。在生成ejb后应该已经建立了本地接口和远程接口,在部署ejb时websphere或其他ejb容器会根据这两个接口自动生成本地接口类和远程接口类。所以你不用实现这两个接口类,但必须在开发客户端的时候将这两个接口的类文件放到你的客户端工程中。客户端申请本地接口时,web容器根据自己生成的本地接口类返回一个类实例,本地接口类实现了本地接口。通过本地接口,你可以建立远程接口的实例,通过本地接口的create方法,此时web容器会根据自己生成的远程接口类返回一个类实例,远程接口类实现了远程接口。而本地接口类和远程接口类的实例其实是存在于服务器中,你的客户端只是远程调用这些类的商业方法
      

  5.   

    同意 hxgui(akuei) 
    你检查一下还有就是你的home接口文件有没有导入
      

  6.   

    请问初始上下文生成庫和JNDI樹的物理位置如何設定?我的Hello EJB在WEBLOGIC 7.01 已经部署成功了。
      

  7.   

    请问veijerd(玮杰) :  如何导入home接口文件
      

  8.   

    我的包名为examples,导入时加入如下语句:
    import  examples.HelloHome可是编译时依然报错 : 如法 resolve HelloHome
      

  9.   

    你用JBuilder自动生成一个客户端,然后看他的源代码
      

  10.   

    我看了JBuilder自动生成一个客户端,可是还是不行。
    救命啦
      

  11.   

    HelloHome.java,  Hello.java,HelloBean.java这三个文件不能各自单独编译,
    必须进行联编,否则就找不到HelloHome类。具体方法是:javac -d . *.java
      

  12.   

    朋友你真运气,我刚刚搞定这个例子程序,先介绍如下: 首先,在classpath中加入jboss\client\目录下的几个jar文件,jnet.jar log4j.jar jboss-j2ee.jar,再对你的类进行编译方法如上,别的就不多说了,把jar 文件考到相应的deploy 目录下,我没有用它的ExampleClient类,而是自己有仿照写了一个类test如下
    import examples.ExampleHome;
    import examples.Example;
    import javax.naming.*;import javax.rmi.PortableRemoteObject;import java.util.Properties;public class test{       public test() {              super();       }       public static void main(String[] args){              try{              Properties props =new Properties();              props.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");              props.put(Context.PROVIDER_URL,"202.196.236.214:1099");              Context ctx = new InitialContext(props);              System.out.println("start ejb client test");              Object obj=ctx.lookup("Example");              ExampleHome home = (ExampleHome)PortableRemoteObject.narrow(obj,ExampleHome.class);              Example example = home.create();              System.out.println(example.example());              example.remove();              }catch(Exception e)              {                     e.printStackTrace();              }       }}