SE 550: Homework

Deadline: 5.30pm, Tuesday 9 March 2004.

Last homework!

Homework

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 Call 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 Return object, but causes an exception to be thrown rather than a result to be returned. You will also need to edit RMI.java to allow an exception to be thrown from a Result object.

To summarize, you will need to:

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!