我的服务器机器上已经部署好了EJB了,并且本地JSP调用成功,没有问题.现在我用另一台机子远程调用这个EJB,编译通过,运行出错,报异常,现在给出源代码:
import javax.ejb.*;
import javax.naming.*;
import java.util.*;
import henryproject2.*;
public class henryclient
{
public static void main(String[] arg)
{
try
{
Properties p = new Properties();
p.put("javax.naming.factory.initial","weblogic.jndi.WLinitialContextFactory");
p.put("javax.naming.provider.url","t3://192.168.0.2:7001");
Context ctx = new InitialContext(p);
henrysbeanHome home = (henrysbeanHome)javax.rmi.PortableRemoteObject.narrow(ctx.lookup("henrysbean"),henrysbeanHome.class);
henrysbean mybean = home.create();
int id = 1;
henry person = mybean.getperson(id);
System.out.println(person.getid());
System.out.println(person.getname());
}
catch(Exception e)
{
System.out.println(e);
}
}
}
注意:上面的CONTEXT参数是参照JSP调用时的参数,只是IP地址有变.
抛出的异常:
javax.naming.noinitialcontextException:你应该给出CLASS NAME在系统环境中或者系统变量中……,
我到服务器上做了一个一样的客户端模拟远程调用,结果一摸一样,就清马上告诉我怎么做????????????如果比较简单,情给出完整过程