第一个EJB程序出错,求救!!!

George. Luo 2003-10-28 04:14:22
客户端代码:
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
//import Converter;
//import ConverterHome;

public class ConverterClient {
public static void main(String[] argv){
try{
Context initial=new InitialContext();
Object objref=initial.lookup("MyConverter");
ConverterHome home=(ConverterHome)PortableRemoteObject.narrow(objref,ConverterHome.class);
Converter currencyConverter=home.create();
double amount=currencyConverter.DollarToRMB(100.00);
System.out.println(amount);
amount=currencyConverter.RMBToDollar(100.00);
System.out.println(String.valueOf(amount));
currencyConverter.remove();
}catch(Exception ex){
System.err.println("Cauth an unexcepted exception!");
ex.printStackTrace();
}
}
}

错误信息:
Cauth an unexcepted exception!
java.lang.ClassCastException
at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(Porta
bleRemoteObject.java:293)
at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:134)
at ConverterClient.main(ConverterClient.java:12)
...全文
122 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
George. Luo 2004-01-01
  • 打赏
  • 举报
回复
xin nian le.jietie.gan xie dajia.feichang ganxie,bu guan wenti jiejue meiyou.
Happy New Year!
sun2927 2003-11-14
  • 打赏
  • 举报
回复
up
beatingHeart 2003-11-13
  • 打赏
  • 举报
回复
我也遇到了同样的问题,就是jndi name的配备问题。
到sun网站上下载j2ee1.3 tutorial(在线浏览或者下载pdf版),注意:是1.3的tutorial哦。http://java.sun.com/j2ee/download.html#tutorial
里面Getting Started这一章有deploytool使用方法的详细解释,照着做一遍就ok啦!
George. Luo 2003-11-11
  • 打赏
  • 举报
回复
是的啊。百思不得其解。谢谢
allan1031 2003-11-11
  • 打赏
  • 举报
回复
缺少一个FACTORY类和提供者路径

你的问题和我遇到的一样

你是在本机器上调试吧,所以你lookup()可以找到JNDI对象不奇怪,因为该对象就在你本机的JNDI树上,但是要是你在其他机器上的话,估计你报错就不只这一个了。

我现在正在查找相关的资料

xiaotian1031@hotmail.com

有空联络吧
George. Luo 2003-11-11
  • 打赏
  • 举报
回复

jim2001999(乐天)
谢谢。
我的客户端没有发布。我事变以后就马上运行,会有问题吗?我用的是JCreator.j2ee.jar已经包含在路径中。这个没问题。只是没有ConverterClient.jar;
sun2927 2003-11-08
  • 打赏
  • 举报
回复
up
beatingHeart 2003-11-08
  • 打赏
  • 举报
回复
我也碰到了ClassCast exception,我在j2ee板块也发了个贴。
http://expert.csdn.net/Expert/topic/2440/2440838.xml?temp=.8667261
我也是用deploytool。
jim2001999 2003-11-08
  • 打赏
  • 举报
回复
使用批处理文件:
start.bat
java -classpath c:\j2ee\lib\j2ee.jar;.;ConverterAppClient.jar; ConverterClient
没有问题了,楼主可以试试~~
jim2001999 2003-11-08
  • 打赏
  • 举报
回复
很不幸,和楼主错误一样,UP
livingboy 2003-11-08
  • 打赏
  • 举报
回复
应该是Context initial=new InitialContext();
DataSource ds=(DataSource)initial.lookup("MyConverter");
Jawan_lee 2003-11-08
  • 打赏
  • 举报
回复
学习中!!!!!!!!!
同学啊!
MichaelXiang 2003-11-04
  • 打赏
  • 举报
回复
up
djsjeff 2003-11-03
  • 打赏
  • 举报
回复
打开你的deploytool看看选中你的ejb在jndi—names下应该有
component type component jndiname
ejb remoteobject MyConverter
有没有啊
sun2927 2003-11-03
  • 打赏
  • 举报
回复
up
George. Luo 2003-11-03
  • 打赏
  • 举报
回复
都有 啊。我的component 叫ConverterEJB.是在打包是其的名字。感谢!
liuxianguo964 2003-11-01
  • 打赏
  • 举报
回复

我的下面这个也有问题,说找布道EJBObject的包路径,如何解决???急

/*
* @(#)Converter.java
*/
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
import java.math.*;

public interface Converter extends EJBObject {

public BigDecimal dollarToYen(BigDecimal dollars) throws RemoteException;
public BigDecimal yenToEuro(BigDecimal yen) throws RemoteException;
}
jerrysoft 2003-10-31
  • 打赏
  • 举报
回复
java.lang.ClassCastException
估计这里出错:
ConverterHome home=(ConverterHome)PortableRemoteObject.narrow(objref,ConverterHome.class);
Object objref=initial.lookup("MyConverter");
这句话取到的object可能不对,很有可能是null,应该是jndi配置不对

asdmonster 2003-10-31
  • 打赏
  • 举报
回复
楼主,解决了说一声,我用那个东东的时候也是用的那个东西,也是遇到了这个问题,后来就再也没有用过了——这个问题到现在还没有解决。
George. Luo 2003-10-31
  • 打赏
  • 举报
回复
感谢各位高手,我用的是Sun的J2EE平台,发布工具是一个叫deploytool的东东。
我把import javax.rmi.PortableRemoteObject;删掉后编译通不过。
在JNDI中是叫"MyConverter",我copy的,没错。
加载更多回复(5)

67,513

社区成员

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

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