Context myEnv = (Context) initial.lookup("java:comp/env");
Object objref = myEnv.lookup("SimpleConverter");
改为:
Object objref = initial.lookup("SimpleConverter");
就可以了

解决方案 »

  1.   

    按照你说的改过了,但是还是报同样的异常。我按照下面的改,问题依旧。
    InitialContext ctx=new InitialContext();
    Object objref=ctx.lookup("java:comp/env/SimpleConverter");
    非常感谢你提供的意见!
      

  2.   

    web.xml有没有配置正确ejb-ref?
      

  3.   

    我是通过Deploytool进行的打包部署,还需要再手动修改吗?包里没有web.xml,是客户端程序,并没有Web应用,所以可能没有web.xml吧。
    运行时显示objref.getClass()为 com.sun.corba.ee.impl.corba.CORBAObjectImpl,这个类正确吗?还是应该返回ConverterBean的对象阿?
      

  4.   

    调用的地方需要有一个申明该调用的ejb-ref,在web里是写在web.xml中,其他的就不知道写在哪里了。
      

  5.   

    呵呵,谢谢各位了,我的问题已经解决了!不知道是不是因为我用的是J2EE1.4,而书上用的是1.3的原因。书上设的引用名是SimpleConverter,而JNDI的名字是MyConverter。按照书上的设置会报NameNotFoundException。
    我的解决办法是:
    将JNDI的名字设置为SimpleConverter。并且设置一个环境变量
    set APPCPATH=D:\java\ConverterAppClient.jar
    我曾经将这个客户端的JAR放到CLASSPATH中,但是没有起作用。
    然后再运行程序,成功!
    谢谢各位的帮助!