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.