Index: active_campus_explorer/soap/location.php =================================================================== --- active_campus_explorer/soap/location.php (revision 4996) +++ active_campus_explorer/soap/location.php (working copy) @@ -57,14 +57,15 @@ * * options: description */ -$SOAPLocationsAnnotateSig = array("result" => "Elements", "username" => "string", "password" => "string", "points" => "Points", "annotationOptions" => "arrayOfString"); -function SOAPLocationsAnnotate($username, $password, $points, $annotationOptions) { +$SOAPLocationsAnnotateSig = array("result" => "Elements", "username" => "string", "password" => "string", "point" => "Point", "annotationOptions" => "arrayOfString"); +function SOAPLocationsAnnotate($username, $password, $point, $annotationOptions) { global $SOAPLocationsAnnotateSig; $function = "SOAPLocationsAnnotate"; // Type verification. - if(!typecheck($SOAPLocationsAnnotateSig, array(&$username, &$password, &$points, &$annotationOptions))) return typeFault($function); - escape($SOAPLocationsAnnotateSig, array(&$username, &$password, &$points, &$annotationOptions)); + return genericFault($function, varOB($annotationOptions)); + if(!typecheck($SOAPLocationsAnnotateSig, array(&$username, &$password, &$point, &$annotationOptions))) return typeFault($function); + //escape($SOAPLocationsAnnotateSig, array(&$username, &$password, &$point, &$annotationOptions)); // Authentication. if(!authenticate($username, $password)) return(authFault($function)); Index: active_campus_explorer/soap/ActiveCampus-soap.php =================================================================== --- active_campus_explorer/soap/ActiveCampus-soap.php (revision 4996) +++ active_campus_explorer/soap/ActiveCampus-soap.php (working copy) @@ -131,15 +131,15 @@ // Register ActiveCampus SOAP methods with it. require_once("auth.php"); -require_once("buddies.php"); -require_once("messages.php"); -require_once("jabber.php"); -require_once("users.php"); -require_once("location.php"); -require_once("h323authentication.php"); -require_once("maps.php"); -require_once("projection.php"); -require_once("layerGraffiti.php"); +//require_once("buddies.php"); +//require_once("messages.php"); +//require_once("jabber.php"); +//require_once("users.php"); +//require_once("location.php"); +//require_once("h323authentication.php"); +//require_once("maps.php"); +//require_once("projection.php"); +//require_once("layerGraffiti.php"); // Process the SOAP request. // XXX See php://input wrt HTTP_RAW_POST_DATA. Index: active_campus_explorer/functions/tool_fn.php =================================================================== --- active_campus_explorer/functions/tool_fn.php (revision 4996) +++ active_campus_explorer/functions/tool_fn.php (working copy) @@ -179,6 +179,7 @@ $i = 0; array_shift($sig); foreach($sig as $label => $type) { + trigger_error("typecheck: " . varOB($arguments[$i])); if($type == "string") { @@ -232,27 +233,32 @@ } else if($type == "Point") { - if(!is_array($arguments[$i])) return false; - if(!is_float($arguments[$i]["x"])) { - // XXX nusoap gets these as strings. - if(is_numeric($arguments[$i]["x"])) { - $arguments[$i]["x"] = (double) $arguments[$i]["x"]; - } - else return false; + if($arguments[$i] === "") { + $arguments[$i] = null; } - if(!is_float($arguments[$i]["y"])) { - // XXX nusoap gets these as strings. - if(is_numeric($arguments[$i]["y"])) { - $arguments[$i]["y"] = (double) $arguments[$i]["y"]; + else { + if(!is_array($arguments[$i])) return false; + if(!is_float($arguments[$i]["x"])) { + // XXX nusoap gets these as strings. + if(is_numeric($arguments[$i]["x"])) { + $arguments[$i]["x"] = (double) $arguments[$i]["x"]; + } + else return false; } - else return false; - } - if(!is_float($arguments[$i]["z"])) { - // XXX nusoap gets these as strings. - if(is_numeric($arguments[$i]["z"])) { - $arguments[$i]["z"] = (double) $arguments[$i]["z"]; + if(!is_float($arguments[$i]["y"])) { + // XXX nusoap gets these as strings. + if(is_numeric($arguments[$i]["y"])) { + $arguments[$i]["y"] = (double) $arguments[$i]["y"]; + } + else return false; } - else return false; + if(!is_float($arguments[$i]["z"])) { + // XXX nusoap gets these as strings. + if(is_numeric($arguments[$i]["z"])) { + $arguments[$i]["z"] = (double) $arguments[$i]["z"]; + } + else return false; + } } }