J2EE的问题,只要您讲得让我感觉对本问题有用,或是知道在这些问题上的思路,那样就有分

XDZXG 2002-03-11 11:01:19
下面是我tomcat中通过jsp调用Bean Userweb时出现的错误提示:
javax.naming.CommunicationException
[Root exception is java.lang.ClassNotFoundException: UserManage.EJBUserManage.C_UserManageHome]

已知:1:UserWeb是调用运行在JBoss中的EJB,且该EJB通过命令行方式调用没有错
误,一切正常;

2:若将下列程序中语句:
Object userHome = (C_UserManageHome)ctx.lookup("UserManage");
改为:
Object userHome = ctx.lookup("java:comp/env/ejb/C_UserManageHome");
则错误提示为:
javax.naming.NameNotFoundException: env not bound;

3:tomcat与JBoss都是运行正常的;

结论:相在知道可能是在tomcat中调用 EJB时有些什么配置,但本人不清楚,请各位
老兄帮帮忙,本人十分感谢,并且予以高分;

初学者,问题对高手来说可能很愚,请勿见笑,谢谢;
代码:

import UserManage.EJBUserManage.C_UserManage; //远程接口
import UserManage.EJBUserManage.C_UserManageHome; //本地接口
import UserManage.EJBUserManage.*;

import java.util.Properties;
import javax.rmi.PortableRemoteObject;
import java.rmi.Naming;
import java.rmi.*;
import javax.naming.*;

public class UserWeb
{

public String getUser(String str)
{
String str2="";
String info="";

try{
Properties p2 = new Properties();

p2.putContext.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
p2.put(Context.PROVIDER_URL, "localhost:1099");
p2.put(Context.URL_PKG_PREFIXES,
"org.jboss.naming:org.jnp.interfaces");

Context ctx = new javax.naming.InitialContext(p2);;

Object userHome = (C_UserManageHome)ctx.lookup("UserManage");

C_UserManageHome home = (C_UserManageHome)PortableRemoteObject.
narrow(userHome,UserManage.EJBUserManage.C_UserManageHome.class);

C_UserManage uManage= home.create();

str2= uManage.GetElementByXml("115");

uManage.remove();

}catch(javax.naming.NamingException ne){
info = ne.toString();
}catch(java.rmi.RemoteException re){
info = re.toString();
}catch(javax.ejb.CreateException ce){
info = ce.toString();
}catch(javax.ejb.RemoveException re){
info = re.toString();
}
return str2+ " "+info;
}
}


...全文
11 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cailuyu 2002-03-12
EJB是要部署的,且不同厂家的EJB container和应用服务的部署方法不完全一样。应该有一个部署描述文件,其中描述了与HOME接口对应的骏JNDI NAME

还有client端也是要做一些工作的,jsp抛的异常看起来是接口没找到,看看你tomcat的lib下有没有那两个接口。
回复
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2002-03-11 11:01
社区公告
暂无公告