#33602 [Asn->Bgs]: SoapVar wrongly encodes boolean
| From: | dmitry@php.net | Date: | Thu, 21 Jul 2005 10:14:55 +0000 |
| Subject: | #33602 [Asn->Bgs]: SoapVar wrongly encodes boolean | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-82264@lists.php.net to get a copy of this message | ||
ID: 33602
Updated by: dmitry@php.net
Reported By: sl at yes-co dot nl
-Status: Assigned
+Status: Bogus
Bug Type: SOAP related
Operating System: Linux 2.6.8
PHP Version: 5.0.4
Assigned To: dmitry
New Comment:
This is not a bug from my point of view.
http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#boolean
<<<
3.2.2 boolean
[Definition:] boolean has the ·value space· required to support the
mathematical concept of binary-valued logic: {true, false}.
3.2.2.1 Lexical representation
An instance of a datatype that is defined as ·boolean· can have the
following legal literals {true, false, 1, 0}.
>>>
Does this bug prevent ext/soap work with some services?
Previous Comments:
------------------------------------------------------------------------
[2005-07-21 10:15:33] sl at yes-co dot nl
Confirmed for PHP Version 5.1.0-dev (Jul 21 2005 08:29:50).
new SoapVar('true', XSD_BOOLEAN)
should give:
<return xsi:type="xsd:boolean">true</return>
but gives:
<return xsi:type="xsd:boolean">0</return>
------------------------------------------------------------------------
[2005-07-15 01:00:03] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2005-07-07 14:55:54] sniper@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
------------------------------------------------------------------------
[2005-07-07 14:52:36] sl at yes-co dot nl
Description:
------------
Putting a value like this in a SOAP response:
new SoapParam("true", XSD_BOOLEAN)
results in:
<Foo xsi:type="xsd:boolean">0</Foo>
while it should be
<Foo xsi:type="xsd:boolean">true</Foo>
Reproduce code:
---------------
<?php
$server=new SoapServer(null, Array("uri" => "http://localhost/",
"location" => "http://localhost/"));
$server->addFunction(Foo);
$server->handle('
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>
<SOAP-ENV:Body>
<m:Foo>
</m:Foo>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
');
function Foo() {
return new SoapVar('true', XSD_BOOLEAN);
}
?>
Expected result:
----------------
<SOAP-ENV:Envelope ...>
<SOAP-ENV:Body>
<ns1:FooResponse>
<return xsi:type="xsd:boolean">true</return>
</ns1:FooResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Actual result:
--------------
<SOAP-ENV:Envelope ...>
<SOAP-ENV:Body>
<ns1:FooResponse>
<return xsi:type="xsd:boolean">0</return>
</ns1:FooResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=33602&edit=1