Deadline: 5.30pm, Tuesday 9 March 2004.
This week's homework is to fix a bug with the MiniSoap implementation of RMI.
The bug is that exceptions which are thrown by the remote call are not returned back to the callee.
To see this, run (in 3 different windows):
java ajeffrey.teaching.minisoap.RMIRegistry java ajeffrey.teaching.test.TestMiniSoapServer java ajeffrey.teaching.test.TestMiniSoapClient
The client calls the
throwIt remote method,
which throws an exception, but this exception is never
returned to the client, so the client just sits there
waiting forever. Your homework is to fix this behavior.
To do this, you will need to edit the
class so that if an exception is raised by the method
call, then a
Throw object is returned.
This object should be similar to a
object, but causes an exception to be thrown rather
than a result to be returned. You will also need
RMI.java to allow an exception
to be thrown from a
To summarize, you will need to:
Throwclass similar to
Callclass to return a
Throwobject if an exception is thrown.
Resultclass in the
RMI.javafile to allow an exception to be thrown.
Note: for this homework, you should make sure you are using my original SoapReader and SoapWriter, and not the ones you edited for homework 5!
Zip your edited files into an archive, then submit it using courses on line. You have now finished your last homework for this class!