There is only ever one object bound to RMI, that is your DataServer, which should only have one method. GetConnection() It returns a DataAccessRemote object which is only a Remote object, it does not extend Unicast...
I've messed with this for several days now... How can you return a DataAccessRemote object which "does not extend Unicast..." if it wraps the Data object (which is non-serializable)???
My version works with only the DataServer bound to the registry and both the DataServer and DataAccessRemote object extending UnicastRemoteObject (or if just the DataServer extends it and the DataAccessRemote is exported with the UnicastRemoteObject.export() method).
If the DataAccessRemote object does not extend UnicastRemoteObject than I get the "non-serializable" errors, which I would expect, since it then tries to send the Data object (which is non-serializable) over the wire.
I also have to have 2 stubs - one for the DataServer and one for the DataAccessRemote class - is this right??