ID: 33602
User updated by: sl at yes-co dot nl
Reported By: sl at yes-co dot nl
Status: Bogus
Bug Type: SOAP related
Operating System: Linux 2.6.8
PHP Version: 5.0.4
Assigned To: dmitry
New Comment:
This works as expected:
new SoapVar("2001-01-02T18:28:40+01:00", XSD_DATETIME)
The first parameter is put between XML tags, although it is not a PHP
type for a date. The string is just put between tags which indicate it
is a datetime. Therefore,
new SoapVar("true", XSD_BOOLEAN)
should put "true" between tags which indicate that it is a boolean.
Previous Comments:
------------------------------------------------------------------------
[2005-07-21 12:14:54] [EMAIL PROTECTED]
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?
------------------------------------------------------------------------
[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] [EMAIL PROTECTED]
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