Пользовательский SoapFault в PHP - PullRequest
       0

Пользовательский SoapFault в PHP

0 голосов
/ 05 сентября 2011

Мне было интересно, можно ли поймать пользовательские 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"
}

Есть предложения?

1 Ответ

0 голосов
/ 05 сентября 2011

Вы можете создать упакованный класс SoapClient.Перехватите SoapFault, затем в соответствии с кодом ошибки выведите свое исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...