Мне было интересно, можно ли поймать пользовательские SoapFaults в PHP.Я не могу заставить этот кусок кода работать:
class UAC_ValidationFault extends SoapFault{
public function __construct($code, $message){
parent::__construct($code, $message);
}
}
Итак, в моем веб-сервисе я выдаю ошибку следующим образом:
throw new UAC_ValidationFault("666", "Test error");
Когда я пытаюсь перехватить эту ошибкузнать имя класса пользовательской ошибки, но это всегда «SoapFault»:
try{
$return = $client->testErrorThrow('bogus'); // $client is SoapClient instance
print_r($return);
}
catch(UAC_ValidationFault $e){
var_dump(get_class($e)); // isn't catched
}
catch(Exception $e){
var_dump(get_class($e)); // returns "SoapFault"
}
Есть предложения?