来帮我看看这个简单的远程客户端调用EJB出错的例子,谢谢了

我的服务器机器上已经部署好了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在系统环境中或者系统变量中……,

我到服务器上做了一个一样的客户端模拟远程调用,结果一摸一样,就清马上告诉我怎么做????????????如果比较简单,情给出完整过程

我输入执行命令 java henryclient 以后错误如下
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial

上面就是全部了

还有,我的EJB方面应该是没有问题,原因有2:1,我的EJB远程接口是好了的,我用本地JSP调用远程接口没有错误。2,就算我把EJB那台电脑关了,或者开着,上面的错误都一样,我认为EJB绝对没有问题。情告诉我怎么解决