diff --git a/library/Vmwarephp/Exception/Soap.php b/library/Vmwarephp/Exception/Soap.php index 6f357ca..5018629 100644 --- a/library/Vmwarephp/Exception/Soap.php +++ b/library/Vmwarephp/Exception/Soap.php @@ -22,11 +22,16 @@ private function makeMessageHeader($soapFault) { return "{$soapFault->faultcode}: {$soapFault->faultstring}. "; } - private function makeFaultDetailsString($soapFault) { + private function makeFaultDetailsString(\SoapFault $soapFault) { $faults = array(); - foreach ($soapFault->detail as $fault) { - $faults[] = "{$fault->enc_stype}: " . print_r($fault->enc_value, true); - } - return count($faults) ? implode(', ', $faults) : ''; + // \SoapFault::$detail property can be unexistent + // @link https://bugs.php.net/bug.php?id=46792 + if (isset($soapFault->detail)) { + foreach ($soapFault->detail as $fault) { + $faults[] = "{$fault->enc_stype}: " . print_r($fault->enc_value, true); + } + } + + return implode(', ', $faults); } }