I serverpakken har jeg:
public class RMIImpl extends UnicastRemoteObject implements RMIInterface {
...
}
public class RMIServer {
public static void main( String[] argv ) {....}
}
Og i client pakken:
import com.bea.document.IDocument;
import java.rmi.*;
import java.rmi.registry.*;
import java.rmi.server.*;
import java.net.UnknownHostException;
public class RMIClient {
public IDocument call( IDocument inputDoc ) {
String serverName = null;
IDocument outputDoc = null;
System.setSecurityManager( new RMISecurityManager() );
try {
serverName = "127.0.0.1";
System.out.println( "Servername: " + java.net.InetAddress.getLocalHost().getHostName() );
try {
//bind server object to object in client
RMIInterface myServerObject = ( RMIInterface ) Naming.lookup( "
rmi://" + serverName + "/RMIImpl instance" );
//invoke method on server object
outputDoc = myServerObject.execute( inputDoc );
System.out.println( "XML " + outputDoc.toXML() );
}
catch ( Exception e ) {
System.out.println( "Exception occured: " + "\n" );
e.printStackTrace();
}
}
catch ( UnknownHostException e ) {
e.printStackTrace(); //To change body of catch statement use Options | File Templates.
}
return outputDoc;
}
}
import com.bea.document.IDocument;
public interface RMIInterface extends java.rmi.Remote {
public IDocument execute(IDocument iDoc) throws java.rmi.RemoteException;
}