array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.is-soap-fault.php', 1 => 'is_soap_fault', ), 'up' => array ( 0 => 'ref.soap.php', 1 => 'SOAP 函数', ), 'prev' => array ( 0 => 'ref.soap.php', 1 => 'SOAP 函数', ), 'next' => array ( 0 => 'function.use-soap-error-handler.php', 1 => 'use_soap_error_handler', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/soap/functions/is-soap-fault.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8)
is_soap_fault — Checks if a SOAP call has failed
This function is useful to check if the SOAP call failed, but
without using exceptions. To use it, create a
SoapClient object with the exceptions
option set to zero or false
.
In this case, the SOAP method will return a special
SoapFault object which encapsulates the fault
details (faultcode, faultstring, faultactor and faultdetails).
If exceptions
is not set then SOAP call will throw
an exception on error.
is_soap_fault() checks if the given
parameter is a SoapFault object.
object
The object to test.
示例 #1 is_soap_fault() example
<?php
$client = new SoapClient("some.wsdl", array('exceptions' => 0));
$result = $client->SomeFunction();
if (is_soap_fault($result)) {
trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
}
?>
示例 #2 SOAP's standard method for error reporting is exceptions
<?php
try {
$client = new SoapClient("some.wsdl");
$result = $client->SomeFunction(/* ... */);
} catch (SoapFault $fault) {
trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
}
?>