Found 2 issues while testing the eWAY Job ...
 1) process_eway_payment() returns the result as an array rather than an object
 2) the Job runs as a permissioned user, so checksums are not added to cancel/update URLs

Fixed 1) by fixing the is-success test, and 2) via a hack. Will raise an issue with the
CiviCRM team re 2).
nusoap.php kept throwing warnings. Updated to the latest version from SourceForge. Tests OK.