2011-01-31 10 views
10

Quale dei seguenti è meglio rilevare un errore quando si chiama un servizio Web utilizzando SoapClent?soapClient utilizza SoapFault o Exception o entrambi per rilevare l'errore?

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

Oppure:

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

Inoltre, voglio prendere un timeout presa di corrente; sarà un SoapFault o un Exception?

Grazie!

+0

possibile duplicazione di [Timeout gestione Soap in PHP] (http://stackoverflow.com/questions/835184/handling-soap-timeouts-in-php) – Josh

+0

Ok, avere un badge. –

risposta

2

è possibile trovare alcune risposte a questo simile question.

+0

In realtà avevo letto quella domanda, ma non ho trovato risposte. Grazie! –

6

Cattura solo Eccezione; questo catturerà anche SoapFault. Se è necessario conoscere la differenza, è possibile verificare il tipo di oggetto ricevuto. L'eccezione rileva anche altre eccezioni non-soapfault, che dovresti comunque fare. Quindi, la risposta è: la seconda.