#46792 [Opn->Bgs]: SoapFault detail property missing
| From: | jani@php.net | 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