ID: 47996 User updated by: piperj01 at u dot washington dot edu Reported By: piperj01 at u dot washington dot edu Status: Bogus Bug Type: SOAP related Operating System: Windows XP PHP Version: 5.2.9 New Comment:
The manual I am looking at http://us.php.net/manual/en/class.soapvar.php says for the SoapVar constructore: SoapVar { /* Methods */ __construct ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] ) SoapVar ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] ) } This looks to me to say that ALL the params to the SoapVar constructors are strings. Please explain how to know that the param '$data' is to be a Boolean? Thank you, Jim Previous Comments: ------------------------------------------------------------------------ [2009-04-19 14:34:46] [email protected] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php You need to pass it boolean FALSE and not string 'false' which is a non-empty string and evaluates to TRUE. ------------------------------------------------------------------------ [2009-04-16 23:49:00] piperj01 at u dot washington dot edu Also, I noticed if I use: new SOAPVar('', XSD_BOOLEAN, null, null, null, $ns) That the generated will show up as 'false'. This can be used as a workaround since 'false' doesn't appear to work. ------------------------------------------------------------------------ [2009-04-16 22:39:49] piperj01 at u dot washington dot edu Description: ------------ Trying to pass a Boolean value as a parameter when invoking a webservices via SOAP. But when using calls like: new SOAPVar('false', XSD_BOOLEAN, null, null, null, $ns) The resulting XML shows 'true' not 'false'. Looks like it is related to bug 33602. I suspect something to do with soap.c function serialize_function_call() around line 4298. The code there appears to do work related to the 'true' case, but not the 'false' case. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=47996&edit=1
