无状态session ejb调用问题??

菜梗子 2003-04-04 10:51:09
我在Jbuilder7.0中根据帮助做了一个名为 po的ejb并提供了 sayHello方法
weblogic7.0及ejb都布属成功,
我在servlet里通过以下代码,为何调用不了:
try
{
javax.naming.InitialContext ctx = new javax.naming.InitialContext ();//正常
java.lang.Object objRef = ctx.lookup("po");//正常
web.poHome home = (web.poHome) javax.rmi.PortableRemoteObject.narrow(objRef,poHome.class);//正常
web.po oPO = home.create() ;//正常
//??在帮助里,是说oPO.sayHello就可以调用sayHello,如:oPO.sayHello()
但我的web.po里根据就没有sayHello方法,这个方法是在poBean里实现的呀,我如何来产生一个web.poBean呀?????????

}
catch(javax.naming.NamingException e1)
{
out.println(e1.getMessage());
}
catch(javax.ejb.CreateException e2)
{
out.println(e2.getMessage());
}
...全文
24 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zez 2003-04-04
  • 打赏
  • 举报
回复
po里面要加上sayHello()方法!!!
只加上一个声明即可
比如public 返回类型 sayHello(参数);
自己加呀.没有当然不能调用 !!!
菜梗子 2003-04-04
  • 打赏
  • 举报
回复
我用的是session bean,po.java的代码如下:
package web;

import javax.ejb.*;
import java.util.*;
import java.rmi.*;
public interface po extends javax.ejb.EJBObject
{
}
在po.java里面根本就没有 sayHello()方法呀,这个方法是在 poBean里面实现的呀!!
zez 2003-04-04
  • 打赏
  • 举报
回复

web.po oPO = home.create() ;//正常
这就是创建了一个bean实例.然后调用bean的方法...
zez 2003-04-04
  • 打赏
  • 举报
回复
哦,刚才写错了...
sessionbean,可以直接这样写呀...

oPO.sayHello();
zez 2003-04-04
  • 打赏
  • 举报
回复
你的ejb到底是entitybean还是sessionbean ???
这是sessionbean:
web.poHome home = (web.poHome) javax.rmi.PortableRemoteObject.narrow(objRef,poHome.class);//正常
web.po oPO = home.create() ;//正常
然后调用entitybean...,再调用sayHello方法...

entitybean:
web.poHome home = (web.poHome) javax.rmi.PortableRemoteObject.narrow(objRef,poHome.class);//正常
然后就可以直接home.sayHello()了...

菜梗子 2003-04-04
  • 打赏
  • 举报
回复
up
菜梗子 2003-04-04
  • 打赏
  • 举报
回复
发布是成功了,在console里是可以看到的,Jndi name是po
zez 2003-04-04
  • 打赏
  • 举报
回复
看看你的ejb的jndi name到底是什么 ???
再就是发布是否成功了 ???
clmate 2003-04-04
  • 打赏
  • 举报
回复
这可能是你的配置文件有问题,检查一下你的ejb-jar.xml和weblogic-ejb-jar.xml两个文件。
菜梗子 2003-04-04
  • 打赏
  • 举报
回复
up
菜梗子 2003-04-04
  • 打赏
  • 举报
回复
谢谢 {鹤清风 为了老婆多挣钱} 的回答
我现在是加了,但又报了另外一个错误,如下:

javax.naming.LinkException: . Root exception is javax.naming.NameNotFoundException: Unable to resolve 'app/ejb/po.jar#so/local-home' Resolved: 'app/ejb' Unresolved:'po.jar#so' ; remaining name 'po.jar#po/local-home' <>

67,513

社区成员

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

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