Running RMI to return a vector

I get the following error when trying to run IMServer2

C:\Users\Fred\workspace\451PA2>java IMServer2

Exception in thread "main" java.lang.AbstractMethodError: IMServer_Stub.loadVect

or()Ljava/util/Vector;

at IMServer2.main(IMServer2.java:233)

heres my file:

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.PrintStream;

import java.rmi.*;

import java.rmi.server.UnicastRemoteObject;

import java.util.Vector;

public class IMServer2 extends UnicastRemoteObject implements IMServerInterface{

private static final long serialVersionUID = 1L;

public static final String IMServer1url = "//192.168.1.101/SERVER1";

public static Vector RegisteredList = new Vector();

FileOutputStream out;

PrintStream p;

FileInputStream in;

public IMServer2() throws RemoteException {

super();

}

public Vector loadVector(){

return RegisteredList;

}

//Save Data in RegisteredList Vector to a SavedState.txt in local directory

public void SaveState() throws FileNotFoundException {

out = new FileOutputStream("SavedState.txt");

p = new PrintStream(out);

for(int i=0;i<RegisteredList.size();i++){

p.println(((Registered) RegisteredList.elementAt(i)).getName()+ " "

+ ((Registered) RegisteredList.elementAt(i)).getPassword()+ " "

+ ((Registered) RegisteredList.elementAt(i)).getLoginStatus()+ " "

+ ((Registered) RegisteredList.elementAt(i)).getHostname()+ " "

+ ((Registered) RegisteredList.elementAt(i)).getPort());

}

p.close();

}

//Loads the SavedState.txt file from IMServer2

//public void LoadState() throws FileNotFoundException {

//?

//}

@SuppressWarnings("unchecked")

public String Register(String name, String pass) throws RemoteException, FileNotFoundException {

boolean found = false;

String response = "Unknown Error";

for (int i = 0; i >< RegisteredList.size(); i++) {

if (((Registered) RegisteredList.elementAt(i)).getName().equals(

name)) {

response = "Already Registered";

found = true;

}

}

if (found == false) {

Registered temp = new Registered(name, pass);

RegisteredList.addElement(temp);

response = "OK";

}

SaveState();

return response;

}

public String Unregister(String name, String password)

throws RemoteException, FileNotFoundException {

String response = "Unknown Error";

for (int i = 0; i < RegisteredList.size(); i++) {

if (((Registered) RegisteredList.elementAt(i)).getName().equals(

name)) {

if (((Registered) RegisteredList.elementAt(i)).getPassword()

.equals(password)) {

RegisteredList.removeElementAt(i);

response = "OK";

i=RegisteredList.size();

} else {

response = "Wrong Password";

i=RegisteredList.size();

}

} else {

response = "Not Registered";

}

}

SaveState();

return response;

}

public String ListRegistered() throws RemoteException {

int totalUsers = RegisteredList.size();

String response = String.valueOf(totalUsers) + " ";

for (int i = 0; i < RegisteredList.size(); i++) {

response = response

+ ((Registered) RegisteredList.elementAt(i)).getName()

+ " ";

}

return response;

}

public String ListActive() throws RemoteException {

String response = "";

int activeUsers = 0;

for (int i = 0; i < RegisteredList.size(); i++) {

if (((Registered) RegisteredList.elementAt(i)).getLoginStatus()) {

activeUsers =+ 1;

response = response

+ ((Registered) RegisteredList.elementAt(i)).getName()

+ " ";

}

}

response = String.valueOf(activeUsers) + " " + response;

return response;

}

public String ListName(String name) throws RemoteException {

boolean found = false;

boolean loggedIn = false;

String response = "";

for (int i = 0; i < RegisteredList.size(); i++) {

if (((Registered) RegisteredList.elementAt(i)).getName().equals(

name)) {

found = true;

if (((Registered) RegisteredList.elementAt(i)).getLoginStatus()) {

loggedIn = true;

response = ((Registered) RegisteredList.elementAt(i))

.getHostname()

+ " "

+ ((Registered) RegisteredList.elementAt(i))

.getPort();

}

}

}

if (found == false) {

response = "User not registered";

}

if (loggedIn == false) {

response = "User not logged in";

}

return response;

}

public String Login(String name, String password, String server, int port)

throws RemoteException, FileNotFoundException {

boolean found = false;

String response = "Unknown Error";

for (int i = 0; i < RegisteredList.size(); i++) {

if (((Registered) RegisteredList.elementAt(i)).getName().equals(

name)) {

found = true;

if (((Registered) RegisteredList.elementAt(i)).getLoginStatus()) {

response = "Already Logged In";

} else {

if (((Registered) RegisteredList.elementAt(i))

.getPassword().equals(password)) {

((Registered) RegisteredList.elementAt(i))

.setLoginStatus(true);

((Registered) RegisteredList.elementAt(i))

.setHostname(server);

((Registered) RegisteredList.elementAt(i))

.setPort(port);

response = "OK";

}

}

}

}

if (found == false) {

response = "Not Registered";

}

SaveState();

return response;

}

public String Logout(String name, String password) throws RemoteException, FileNotFoundException {

boolean found = false;

String response = "Unknown Error";

for (int i = 0; i < RegisteredList.size(); i++) {

if (((Registered) RegisteredList.elementAt(i)).getName().equals(

name)) {

found = true;

if (((Registered) RegisteredList.elementAt(i)).getLoginStatus()) {

if (((Registered) RegisteredList.elementAt(i))

.getPassword().equals(password)) {

((Registered) RegisteredList.elementAt(i))

.setLoginStatus(false);

((Registered) RegisteredList.elementAt(i)).setPort(0);

((Registered) RegisteredList.elementAt(i))

.setHostname(null);

response = "OK";

} else {

response = "Wrong Password";

}

} else {

response = "Not Logged In";

}

}

}

if (found == false) {

response = "Not Registered";

}

SaveState();

return response;

}

public static void main(String args[]) throws FileNotFoundException {

try {

// create a local instance of the object

IMServer2 server1 = new IMServer2();

// put the local instance in the registry

Naming.rebind("SERVER2", server1);

//Retrieve vector from IMServer2

try {

IMServerInterface servertemp = (IMServerInterface) Naming

.lookup(IMServer1url);

RegisteredList = ((IMServerInterface) servertemp).loadVector();

} catch (RemoteException e) {

System.out.println("Error in lookup: " + e.toString());

} catch (java.net.MalformedURLException e) {

System.out.println("Malformed URL: " + e.toString());

} catch (java.rmi.NotBoundException e) {

System.out.println("NotBound: " + e.toString());

}

System.out.println("Server Ready");

} catch (java.net.MalformedURLException me) {

System.out.println("Malformed URL: " + me.toString());

}

catch (RemoteException re) {

System.out.println("Remote exception: " + re.toString());

}

}

}

[7884 byte] By [uvafred13a] at [2007-11-26 19:54:49]
# 1
Regenerate your stub classes, or delete them if you are >= JDK 1.5.
ejpa at 2007-7-9 22:47:30 > top of Java-index,Core,Core APIs...
# 2
how do i do this?
uvafred13a at 2007-7-9 22:47:30 > top of Java-index,Core,Core APIs...
# 3
someone please help me!
uvafred13a at 2007-7-9 22:47:30 > top of Java-index,Core,Core APIs...
# 4
rmicrm or del
ejpa at 2007-7-9 22:47:30 > top of Java-index,Core,Core APIs...