2011-01-31 17 views
10

Który z poniższych sposobów lepiej złapać błąd podczas wywoływania usługi sieciowej przy użyciu SoapClent?soapClient użyj SoapFault lub Exception lub obu, aby wykryć błąd?

try { 
    $response = $client->SomeSoapRequest(); 
} 
    catch(SoapFault $e){ 
} 

Lub:

try { 
    $response = $client->SomeSoapRequest(); 
} 
    catch(SoapFault $e){ 
} 
    catch(Exception $e){ 
} 

Również chcę złapać timeout gniazda; czy to będzie SoapFault lub Exception?

Dzięki!

+0

możliwy duplikat [Limit czasu korzystania z mydła w PHP] (http://stackoverflow.com/questions/835184/handling-soap-timeouts-in-php) – Josh

+0

Dobra, mam odznakę. –

Odpowiedz

2

można znaleźć odpowiedzi na podobne question.

+0

Tak naprawdę przeczytałem to pytanie, ale nie znalazłem odpowiedzi. Dzięki! –

6

Po prostu złapać wyjątek; to również złapie SoapFault. Jeśli chcesz poznać różnicę, możesz sprawdzić typ otrzymanego obiektu. Wyjątek spowoduje również wychwycenie innych wyjątków, które nie będą działały w zwarciu, co i tak powinno być wykonywane. Tak więc odpowiedź brzmi: druga.

Powiązane problemy