$this->server = new SoapServer($wsdl, $options); $this->server->addFunction("Test"); } function __doRequest($request, $location, $action, $version, $one_way = 0) { echo "{$location}\n"; ob_start(); $this->server->handle($request); $response = ob_get_contents(); ob_end_clean(); return $response; } } $client = new LocalSoapClient(dirname(__FILE__) . "/bug31695.wsdl"); $client->Test("str"); $client = new LocalSoapClient(dirname(__FILE__) . "/bug31695.wsdl", array("location" => "test://1")); $client->Test("str"); $client->__soapCall("Test", array("arg1"), array("location" => "test://2")); $old = $client->__setLocation("test://3"); echo "{$old}\n"; $client->Test("str"); $client->Test("str"); $client->__setLocation($old); $client->Test("str"); $old = $client->__setLocation(); $client->Test("str"); $client->__setLocation($old); $client->Test("str"); $client->__setLocation(null); $client->Test("str"); var_dump($client->__setLocation());