你的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()了...
这是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()了...
sessionbean,可以直接这样写呀...oPO.sayHello();
web.po oPO = home.create() ;//正常
这就是创建了一个bean实例.然后调用bean的方法...
package web;import javax.ejb.*;
import java.util.*;
import java.rmi.*;
public interface po extends javax.ejb.EJBObject
{
}
在po.java里面根本就没有 sayHello()方法呀,这个方法是在 poBean里面实现的呀!!
只加上一个声明即可
比如public 返回类型 sayHello(参数);
自己加呀.没有当然不能调用 !!!
我现在是加了,但又报了另外一个错误,如下: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' <>
再就是发布是否成功了 ???