Hi Dean, came across this post last night and had your problem. I lazily copy/pasted the above code and dropped a var_dump in to inspect the results of the SOAP call. You need to log into sugar first before you can make these calls, and you can do so with:
$session_id = $client->login(array(
Then (assuming your credentials are correct) you have a $session_id to pass into other calls.