楼上 我按照你的修改了一下,出现如下错误: 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();
楼上, 按照你的修改了一下,出现如下错误: 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)
在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>
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);
看是那一步报出来的!
将:
CarInfoHome fh = (CarInfoHome)ic.lookup("CarInfo");
改为:
Object lookup = ic.lookup("CarInfo");
CarInfoHome fh = (CarInfoHome)PortableRemoteObject.narrow(lookup, CarInfoHome.class);
试一下
我按照你的修改了一下,出现如下错误:
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();
改为:
CarInfoHome fh = (CarInfoHome)ic.lookup("CarInfoBean");
换remote可以
要不就别用jb测试,直接编程序调用...
按照你的修改了一下,出现如下错误:
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)
谢谢,按照你的方法已解决