#46792 [Opn->Bgs]: SoapFault detail property missing

From: Date: Sat, 25 Apr 2009 16:20:10 +0000
Subject: #46792 [Opn->Bgs]: SoapFault detail property missing
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-136310@lists.php.net to get a copy of this message
ID: 46792 Updated by: jani@php.net Reported By: daniel dot oconnor at gmail dot com -Status: Open +Status: Bogus Bug Type: SOAP related Operating System: Windows PHP Version: 5.2.7 Assigned To: dmitry New Comment: As Dmitry said. Use isset(). Previous Comments: ------------------------------------------------------------------------ [2009-01-11 10:56:45] daniel dot oconnor at gmail dot com Not having the property defined was surprising, and unexpected - I would not expect code which reads SoapFault::$detail to ever generate an E_NOTICE. ------------------------------------------------------------------------ [2009-01-11 09:40:03] dmitry@php.net I don't think we should create empty "detail" property (and then encode it and send back to client) if it's not important. Very rare script looks into fault details. In case your script really needs it, it can always check it with isset() or empty(). ------------------------------------------------------------------------ [2008-12-31 17:39:13] felipe@php.net Hi Dmitry, any objection? http://felipe.ath.cx/diff/bug46792.diff ------------------------------------------------------------------------ [2008-12-08 00:06:24] daniel dot oconnor at gmail dot com Description: ------------ If you don't supply a detail param in the constructor of SoapFault, the property doesn't exist. See also bug #39357 Reproduce code: --------------- <?php $sf = new SoapFault(null, null, null, "Details!"); var_dump($sf); $sf = new SoapFault(null, null); var_dump($sf); Expected result: ---------------- Both objects define a detail property Actual result: -------------- object(SoapFault)#1 (8) { ["message:protected"]=> string(0) "" ["string:private"]=> string(0) "" ["code:protected"]=> int(0) ["file:protected"]=> string(17) "C:\soap_fault.php" ["line:protected"]=> int(2) ["trace:private"]=> array(0) { } ["faultstring"]=> string(0) "" ["detail"]=> string(8) "Details!" } object(SoapFault)#2 (7) { ["message:protected"]=> string(0) "" ["string:private"]=> string(0) "" ["code:protected"]=> int(0) ["file:protected"]=> string(17) "C:\soap_fault.php" ["line:protected"]=> int(6) ["trace:private"]=> array(0) { } ["faultstring"]=> string(0) "" } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46792&edit=1

« previous php.bugs (#136310) next »