请大家看看这是什么问题~~我在JBuilder里对一张表(stuffandduty)建立了:
EBean-->生成了Stuffandduty.java 、StuffanddutyBean.java 、 StuffanddutyHome.java三个文件。(interface为local)
DTO-->生成了StuffanddutyDtoAssembler.java 和 StuffanddutyDto.java两个文件。(已进行了序列化)
SBean--->StuffanddutySBHome.java 、 StuffanddutySB.java 、StuffanddutySBBean.java三个文件。(interface为remote)其中加了写函数建立完这些之后我deploy了一下,重新rebuild了我的project在主函数中调用的方法为:
       StuffanddutySB sdSB = null;      Context ctx = GetContext.getContext();//    StuffanddutySBHome sdSBHome =  (StuffanddutySBHome) ctx.lookup("StuffanddutySB");
//    sdSB = sdSBHome.create();//第一种方法
    
      Object   ref = ctx.lookup("StuffanddutySB");       
***   StuffanddutySBHome sdSBHome = (StuffanddutySBHome)PortableRemoteObject.narrow(ref, StuffanddutySBHome.class);       
      sdSB = sdSBHome.create();单步执行,到***出现异常:
java.lang.ClassCastException at com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:229) at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137) at qesuite.plugin.tqm.QPlan.QplanGUI.BasicInforPanel.loadData(BasicInforPanel.java:143) at qesuite.plugin.tqm.QPlan.QplanGUI.BasicInforPanel.<init>(BasicInforPanel.java:122) at qesuite.plugin.tqm.QPlan.QplanGUI.QPlanFrame.<init>(QPlanFrame.java:26) at qesuite.plugin.tqm.QPlan.management.PlanList.actionPerformed(PlanList.java:121) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234) at java.awt.Component.processMouseEvent(Component.java:5488) at javax.swing.JComponent.processMouseEvent(JComponent.java:3126) at java.awt.Component.processEvent(Component.java:5253) at java.awt.Container.processEvent(Container.java:1966) at java.awt.Component.dispatchEventImpl(Component.java:3955) at java.awt.Container.dispatchEventImpl(Container.java:2024) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) at java.awt.Container.dispatchEventImpl(Container.java:2010) at java.awt.Window.dispatchEventImpl(Window.java:1774) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)Caused by: java.lang.ClassCastException: $Proxy24 at com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:212) ... 29 more尝试修改过的方法:
1.$JBOSS_HOME/server/default/deploy/jbossweb- tomcat55.sar/META-INF目录下的jboss-service.xml文件,UseJBossWebLoader的属性值为 true2.网上有关资料说:StuffanddutySBHome sdSBHome = (StuffanddutySBHome)PortableRemoteObject.narrow(ref, StuffanddutySBHome.class); 
  这句话强制类型转换的对象不对。那应该怎么修改?我做的这个东东是嵌在一个大工程里面,其他的EJB的调用方法如上就能够正确执行3.将ejb和工程里面的上面相应.class全部删掉,重新生成,但是还是不行。请各位帮帮忙,看一下,我已经苦恼两天了。
      

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【judy_0131】截止到2008-06-23 22:31:35的历史汇总数据(不包括此帖):
    发帖数:1                  发帖分:20                 
    结贴数:0                  结贴分:0                  
    未结数:1                  未结分:20                 
    结贴率:0.00  %            结分率:0.00  %            
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    2.网上有关资料说:StuffanddutySBHome sdSBHome = (StuffanddutySBHome)PortableRemoteObject.narrow(ref, StuffanddutySBHome.class);
      这句话强制类型转换的对象不对。那应该怎么修改?我做的这个东东是嵌在一个大工程里面,其他的EJB的调用方法如上就能够正确执行 
    这句说的是对的,就是类型转换异常
      

  3.   

    那怎么改呢?我不知道从那儿改,而且这个project中其他的代码用这种方式调用别的bean就可以,单单我建的这个不行、、、
      

  4.   

    说明也别看 EJB出现
    java.lang.ClassCastException 
    的问题,你就看你的对应的 包名写错没有
      

  5.   

    我查了一遍,没有写错我用的是JBuilder,那些包名都是自动生成的啊。还有什么可能
      

  6.   

    为什么呢?我把所有的ebean、sbean和dto都删了,重新建立还是有那个问题~~
      

  7.   

    我又重新建立了一边,但是这次的异常是:
    Object objRef = null;      try {           ctx = new InitialContext();
    ***        objRef = ctx.lookup("Stuffandduty");
               sdhome = (StuffanddutyHome) PortableRemoteObject.narrow(objRef,
               StuffanddutyHome.class);
           }执行到***的时候
    javax.naming.NameNotFoundException: StuffanddutySB not bound at org.jnp.server.NamingServer.getBinding(NamingServer.java:491) at org.jnp.server.NamingServer.getBinding(NamingServer.java:499) at org.jnp.server.NamingServer.getObject(NamingServer.java:505) at org.jnp.server.NamingServer.lookup(NamingServer.java:278) at sun.reflect.GeneratedMethodAccessor114.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)。我的jndi就应该是“StuffanddutySB”,问题出在那儿呢?