你是在jb调试调用local接口吗?
如果是,那是因为local必须在同一jvm调用.jb和weblogic不在同一jvm如果不是,那我也不知道了..另外,可以贴出具体动态查询的设置吗?
我只看过文档,没有实际做过.

解决方案 »

  1.   

    动态查询的设置如下:
    在weblogic-ejb-jar.xml中添加如下元素:
    <enable-dynamic-queries>True</enable-dynamic-queries>
    在ejb-jar.xml打开权限:
            <method-permission>
                <unchecked />
                <method>
                    <description />
                    <ejb-name>CarInfo</ejb-name>
                    <method-name>createQuery</method-name>
                </method>
            </method-permission>
      

  2.   

    try {
            InitialContext ic=new InitialContext();
    改成
    Hashtable ht = new Hashtable();
    ht.putContext.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    ht.put(Context.PROVIDER_URL,"t3://localhost:7001");
    try {
       Context ic = new InitialContext(ht);
      

  3.   

    你debug一下
    看是那一步报出来的!
    将:
    CarInfoHome fh = (CarInfoHome)ic.lookup("CarInfo");
    改为:
    Object lookup = ic.lookup("CarInfo");
    CarInfoHome fh = (CarInfoHome)PortableRemoteObject.narrow(lookup, CarInfoHome.class);
    试一下
      

  4.   

    楼上
    我按照你的修改了一下,出现如下错误:
     java.lang.NullPointerException
            at t3.CarManageBean.getDynamicRec(CarManageBean.java:129)
            at t3.CarManageBean_i86795_EOImpl.getDynamicRec(CarManageBean_i86795_EOI
    mpl.java:148)
            at t3.CarManageBean_i86795_EOImpl_WLSkel.invoke(Unknown Source)
            at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:346)
            at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
    ef.java:114)
            at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:300)
            at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
    eManager.java:762)
            at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
    a:295)
            at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
    .java:30)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
     其中“CarManageBean.java:129”是:  Query query = qh.createQuery();
      

  5.   

    CarInfoHome fh = (CarInfoHome)ic.lookup("CarInfo");
    改为:
    CarInfoHome fh = (CarInfoHome)ic.lookup("CarInfoBean");
      

  6.   

    楼主,告诉你就是因为你jb调用local的问题.
    换remote可以
    要不就别用jb测试,直接编程序调用...
      

  7.   

    楼上,
    按照你的修改了一下,出现如下错误:
    javax.naming.NameNotFoundException: Unable to resolve 'CarInfoBean' Resolved: ''
     Unresolved:'CarInfoBean' ; remaining name 'CarInfoBean'
            at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:17
    4)
            at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR
    ef.java:262)
            at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR
    ef.java:229)
            at weblogic.jndi.internal.ServerNamingNode_WLStub.lookup(Unknown Source)        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:338)
            at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:333)
            at javax.naming.InitialContext.lookup(InitialContext.java:347)
            at t3.CarManageBean.getDynamicRec(CarManageBean.java:125)
            at t3.CarManageBean_i86795_EOImpl.getDynamicRec(CarManageBean_i86795_EOI
    mpl.java:148)
            at t3.CarManageBean_i86795_EOImpl_WLSkel.invoke(Unknown Source)
            at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:346)
            at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
    ef.java:114)
            at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:300)
            at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
    eManager.java:762)
            at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
    a:295)
            at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
    .java:30)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
      

  8.   

    zez(思恩 为老婆多挣钱 13858318) :
        谢谢,按照你的方法已解决