调用EJB的问题

TechnoFantasy 2002-10-10 05:50:33
调用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是什么类啊?
...全文
61 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
TechnoFantasy 2002-10-11
  • 打赏
  • 举报
回复
真奇怪,我将web application中除了jsp以外的目录(image,Flash)全部删掉,再发布就可以了,然后将删除的再复原就可以了。
sharetop 2002-10-10
  • 打赏
  • 举报
回复

epgv2.SaveUserSessionEOImpl_WLStub
是在发布EJB时调用EJBC自动生成的代码存根类。
EJB的调用会有两个类自动生成:存根类和框架类,这一点可以参看一些理论书。

你说的问题不太清楚,ClassCast的错误发生在类型转换时不能正确造型而抛出的。

你是用JB开发?并且你的EJB也已经正常发布?
然后你用JB自动生成的TestClient测试一下看能否通过?
一般JB生成的TestClient是不会有问题的。

wjmmml 2002-10-10
  • 打赏
  • 举报
回复
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL,url);
//连接服务器的代码,针对不同的中间件,不同
Context CalDueValueInterface=new InitialContext(p);
Object obj=CalDueValueInterface.lookup(lus);
CalDueHome home=(CalDueHome)PortableRemoteObject.narrow(obj,CalDueHome.class);
wjmmml 2002-10-10
  • 打赏
  • 举报
回复
epgv2.SaveUserSessionEOImpl_WLStub
这是容器自动形成的类,你的问题,好象是jndi没有绑定的不对。
upc_chenli 2002-10-10
  • 打赏
  • 举报
回复
SaveUserSession ejbUser = null; //这个可是Remote接口?如果不是当然要出错了。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧