Your code is fine actually. When you include 'nusoap/nusoap.php' toward the top of your file, it's using the copy of nuSOAP found in Sugar (which has protections built in for entry points). You can either add this line to the top of your PHP file:
PHP Code:
define('sugarEntry', TRUE);