(PHP 5, PHP 7, PHP 8)
is_soap_fault — 檢查 SOAP 呼叫是否失敗
此函式可用於檢查 SOAP 呼叫是否失敗,但不使用例外。要使用它,請建立一個 SoapClient 物件,並將 exceptions
選項設定為零或 false
。在這種情況下,SOAP 方法將返回一個特殊的 SoapFault 物件,該物件封裝了錯誤詳細資訊(錯誤碼、錯誤字串、錯誤參與者和錯誤詳細資訊)。
如果未設定 exceptions
,則 SOAP 呼叫會在發生錯誤時拋出例外。is_soap_fault() 函式會檢查指定的參數是否為 SoapFault 物件。
object
要測試的物件。
範例 #1 is_soap_fault() 範例
<?php
$client = new SoapClient("some.wsdl", array('exceptions' => 0));
$result = $client->SomeFunction();
if (is_soap_fault($result)) {
trigger_error("SOAP 錯誤: (錯誤碼: {$result->faultcode}, 錯誤訊息: {$result->faultstring})", E_USER_ERROR);
}
?>
範例 #2 SOAP 標準的錯誤回報方法是例外
<?php
try {
$client = new SoapClient("some.wsdl");
$result = $client->SomeFunction(/* ... */);
} catch (SoapFault $fault) {
trigger_error("SOAP 錯誤: (錯誤碼: {$fault->faultcode}, 錯誤訊息: {$fault->faultstring})", E_USER_ERROR);
}
?>