<?xml version="1.0" encoding="UTF-8"?>
<!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'>
<weblogic-ejb-jar>
    <weblogic-enterprise-bean>
        <ejb-name>ejbLJ</ejb-name>
        <jndi-name>ejbLJ</jndi-name>
    </weblogic-enterprise-bean>
    <weblogic-enterprise-bean>
        <ejb-name>bmp1</ejb-name>           ///////here!!!!!
        <local-jndi-name>bmp1</local-jndi-name>
    </weblogic-enterprise-bean>
</weblogic-ejb-jar>我这里有两个bean,第一个是无状态的sessionbean,
很好理解
第二个是实体bean,写成那个样子我之后Context cx = (Context)new InitialContext().lookup("java:/comp/env");cx.lookup("java:/bmp1");也就是说,只能本地调用,所以这个实体bean在远端是不能调用的,也是安全性保证

解决方案 »

  1.   

    其实我也是在你上一贴提问中才意识到这个问题的,也要谢谢你!从这个问题可以认识到1 平时ejb的概念的书要多看,遇到实际的例子才能自己解决
    2 《j2ee应用与beaserver》这本书真的很好
      

  2.   

    这本书很好么?我现在一本都没有,看来要去买来看看。
      可是我的问题还没解决啊。我的sessionbean的是
    <weblogic-ejb-jar>
        <weblogic-enterprise-bean>
            <ejb-name>HelloWorldEJB</ejb-name>
            <jndi-name>HelloWorldEJB</jndi-name>
    </weblogic-enterprise-bean>
    我改为<jndi-name>MyHelloWorld</jndi-name>后,ReBuild,它又自动变为
    <jndi-name>HelloWorldEJB</jndi-name>了,发布后,Client程序不认识啊,报很多错。是怎么回事呢??
      

  3.   

    惨啊。我发布后,在console上可以看到我的EJB
    但运行Client后,大把错误哦:请指点下啊。
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:643) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246) at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:283)Caught an unexpected exception at javax.naming.InitialContext.lookup(InitialContext.java:350) at weblogic.HelloWorldClient.main(HelloWorldClient.java:26)
      

  4.   

    不会这个EJB是可以在SUN的j2ee下跑的,我以前是用SUN的那个deploytool工具,
    可以的。
      现在学用weblogic。所以不知道有什么问题。