insTableAall的代码:
   public void insTableAall(String shancbz, String xiwbz) throws java.rmi.RemoteException, javax.ejb.CreateException, javax.naming.NamingException {
    Context TX=new  InitialContext();    bMPBEANHome=(BMPBEANHome)javax.rmi.PortableRemoteObject.narrow(TX.lookup("BMPBEANRemote"),BMPBEANHome.class);
    System.out.println("begin to insert......");
    bMPBEANHome.ejbInsertAall(shancbz,xiwbz);
}
但当我编译时,它老是报这个错误:
     "JSEB.ejbgrpx": In EJB SessBean, the throws clause for method insTableAall(java.lang.String,java.lang.String) in the bean class contains exceptions which are NOT in the throws clause of the remote interface.
    请朋友们指导

解决方案 »

  1.   

    也就是说你在insTableAall(java.lang.String,java.lang.String)这个方法里抛出的一系列异常中,有些是没有在Remote接口中抛出。也就是说,在Bean类里抛出的异常必须在Remote接口对应的方法中抛出,但Remote方法中抛出的异常可以不在Bean类中抛出。
      

  2.   

    你在方法的声明中指出有可能抛出错误,但是在方法的代码中没有捕捉该错误。我想问题就出在这里。
    你把方法的代码放在一个try语句中,然后在后面写上 catch(Exception e) {} 看看有没有用。
      

  3.   

    假如你不在代码中捕捉错误的话,就把它传递到
    bMPBEANHome.ejbInsertAall(shancbz,xiwbz)中,但是在方法ejbInsertAall中并没有声明
    java.rmi.RemoteException, javax.ejb.CreateException这两个异常,解决办法还是我上面说的那样,把代码写进try中(我的想法,关注结果)
      

  4.   

    多谢楼上所有的朋友们,现在编译没有问题,但发布时发生以下错误:
        Start server side stack trace:
    java.lang.NullPointerException at weblogic.ejb20.dd.xml.DDUtils.getStream(DDUtils.java:193) at weblogic.ejb20.dd.xml.DDUtils.createDescriptorFromJarFile(DDUtils.java:105) at weblogic.ejb20.dd.xml.DDUtils.createDescriptorFromJarFile(DDUtils.java:90) at weblogic.ejb20.deployer.EJBModule.loadEJBDescriptor(EJBModule.java:502) at weblogic.ejb20.deployer.EJBModule.loadDescriptor(EJBModule.java:207) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:714) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:555) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:1062) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:730) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:24) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)End  server side stack trace
        
           怎么办?
      

  5.   

    出现这种错误的情况很多啊,看你上面的错误是很难找出原因的。
    我猜有可能是你的变量在没有初始化的时候就用了。
    或者是你的变量申明是在try里面,但是你在其他的地方可能用到这这个变量。 
    这只是两种情况。还有其他很多情况会产生这种错误的。