当前位置: 技术问答>java相关
调用EJB的问题
来源: 互联网 发布时间:2015-09-27
本文导语: 调用EJB代码如下: SaveUserSession ejbUser = null; Properties p = new Properties(); p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFact...
调用EJB代码如下:
SaveUserSession ejbUser = null;
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL,"t3://localhost:7001");
Context ctx = new InitialContext(p);
Object obj = ctx.lookup("SaveUserSession");
SaveUserSessionHome home=(SaveUserSessionHome)PortableRemoteObject.narrow(obj,
SaveUserSessionHome.class);
ejbUser = (SaveUserSession)home.create();
出现错误:
java.lang.ClassCastException: epgv2.SaveUserSessionEOImpl_WLStub
什么原因,另外这个epgv2.SaveUserSessionEOImpl_WLStub是什么类啊?
SaveUserSession ejbUser = null;
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL,"t3://localhost:7001");
Context ctx = new InitialContext(p);
Object obj = ctx.lookup("SaveUserSession");
SaveUserSessionHome home=(SaveUserSessionHome)PortableRemoteObject.narrow(obj,
SaveUserSessionHome.class);
ejbUser = (SaveUserSession)home.create();
出现错误:
java.lang.ClassCastException: epgv2.SaveUserSessionEOImpl_WLStub
什么原因,另外这个epgv2.SaveUserSessionEOImpl_WLStub是什么类啊?
|
epgv2.SaveUserSessionEOImpl_WLStub
是在发布EJB时调用EJBC自动生成的代码存根类。
EJB的调用会有两个类自动生成:存根类和框架类,这一点可以参看一些理论书。
你说的问题不太清楚,ClassCast的错误发生在类型转换时不能正确造型而抛出的。
你是用JB开发?并且你的EJB也已经正常发布?
然后你用JB自动生成的TestClient测试一下看能否通过?
一般JB生成的TestClient是不会有问题的。
|
epgv2.SaveUserSessionEOImpl_WLStub
这是容器自动形成的类,你的问题,好象是jndi没有绑定的不对。
这是容器自动形成的类,你的问题,好象是jndi没有绑定的不对。
|
SaveUserSession ejbUser = null; //这个可是Remote接口?如果不是当然要出错了。