四个java文件如下:
//RemoteInterface.java
public interface RemoteInterface extends javax.ejb.EJBObject
{
public String message(String str )throws java.rmi.RemoteException;
}
//RemoteObject.java
public class RemoteObject implements javax.ejb.SessionBean
{
public String message(String str)throws java.rmi.RemoteException
{
System.out.println("Remote Object Received FromClient: "+str+".");
return "Hello,I'm Remote Obje,I received your message: "+str+".";
}
public RemoteObject() {}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(javax.ejb.SessionContext sc) {}
}
//RemoteHome.java
public interface RemoteHome extends javax.ejb.EJBHome{
RemoteInterface create()throws java.rmi.RemoteException,javax.ejb.CreateException;
}
//Client.java
public class Client{
public static void main(String[] args){
try{
javax.naming.Context initContext=new javax.naming.InitialContext();
Object obj=initContext.lookup("HelloWorld");
RemoteHome home=(RemoteHome)javax.rmi.PortableRemoteObject.narrow(obj,RemoteHome.class);
RemoteInterface remote=home.create();
String receiveFromRemote=remote.message("Hello,Remote Object!");
System.out.println("Client Received From RemoteObject: "+receiveFromRemote+".");
}catch(Exception e){
e.printStackTrace();
}
}
}
//RemoteInterface.java
public interface RemoteInterface extends javax.ejb.EJBObject
{
public String message(String str )throws java.rmi.RemoteException;
}
//RemoteObject.java
public class RemoteObject implements javax.ejb.SessionBean
{
public String message(String str)throws java.rmi.RemoteException
{
System.out.println("Remote Object Received FromClient: "+str+".");
return "Hello,I'm Remote Obje,I received your message: "+str+".";
}
public RemoteObject() {}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(javax.ejb.SessionContext sc) {}
}
//RemoteHome.java
public interface RemoteHome extends javax.ejb.EJBHome{
RemoteInterface create()throws java.rmi.RemoteException,javax.ejb.CreateException;
}
//Client.java
public class Client{
public static void main(String[] args){
try{
javax.naming.Context initContext=new javax.naming.InitialContext();
Object obj=initContext.lookup("HelloWorld");
RemoteHome home=(RemoteHome)javax.rmi.PortableRemoteObject.narrow(obj,RemoteHome.class);
RemoteInterface remote=home.create();
String receiveFromRemote=remote.message("Hello,Remote Object!");
System.out.println("Client Received From RemoteObject: "+receiveFromRemote+".");
}catch(Exception e){
e.printStackTrace();
}
}
}
所以一定是没有找到context.
javax.naming.Context initContext=new javax.naming.InitialContext();