$struct->varString, 'outputInteger' => $struct->varInt, 'outputFloat' => $struct->varFloat); } function echoSimpleTypesAsStruct($string, $int, $float) { return (object)array("varString" => $string, "varInt" => $int, "varFloat" => $float); } function echoNestedStruct($struct) { return $struct; } function echo2DStringArray($ary) { return $ary; } function echoNestedArray($ary) { return $ary; } function countItems($input) { return count($input); } function isNil($input=NULL) { return is_null($input); } function returnVoid() { } function emptyBody() { } function requiredHeader($x) { $this->header = $x; } function echoHeader() { return $this->header; } function echoResolvedRef($ref) { return $ref->RelativeReference->base.$ref->RelativeReference->href; } function validateCountryCode($code) { if (strlen($code) != 2) { return new SoapFault("Client", "Not a valid country code", NULL, NULL, NULL, new SoapHeader("http://example.org/ts-tests", "validateCountryCodeFault", "Country code must be 2 letters.")); } else { return "OK"; } } } ini_set("soap.wsdl_cache_enabled",0); $server = new soapserver(dirname(__FILE__)."/soap12-test.wsdl", array('soap_version'=>SOAP_1_2,'actor'=>"http://example.org/ts-tests/C")); $server->setClass("Soap12test"); $server->handle($HTTP_RAW_POST_DATA); echo "ok\n"; ?>