ID: 48717
Comment by: ghostbaer at gmx dot de
Reported By: rob at zcore dot org
Status: Open
Bug Type: SOAP related
Operating System: Debian GNU/Linux
PHP Version: 5.2.10
New Comment:
Hi,
a very dirty workaround is to download the wsdl an rewrite it locally
to another datatype. Changing this line:
<xs:element name="id" type="xs:long"></xs:element>
to
<xs:element name="id" type="xs:float"></xs:element>
should work at least. But it's a very, very, VERY, VERY, VEWY, VEWY,
VEWYVEWYVEWY dirty workaround and you'll got to hell for this or even
worse!
Previous Comments:
------------------------------------------------------------------------
[2009-06-29 11:06:13] rob at zcore dot org
Description:
------------
For some reason
Array
(
[0] => dummy Object
(
[id] => 10047678003
[pass] => XxX
)
)
is transformed to
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://impl.ejb.flog.zcore.org/">
<SOAP-ENV:Body>
<ns1:authenticate>
<id>2147483647</id>
<pass>XxX</pass>
</ns1:authenticate>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
while it's based on this XSD snipplet:
<xs:complexType name="authenticate">
<xs:sequence>
<xs:element name="id" type="xs:long"></xs:element>
<xs:element name="pass" type="xs:string" minOccurs="0"></xs:element>
</xs:sequence>
</xs:complexType>
Expected result:
----------------
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://impl.ejb.flog.zcore.org/">
<SOAP-ENV:Body>
<ns1:authenticate>
<id>10047678003</id>
<pass>XxX</pass>
</ns1:authenticate>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Actual result:
--------------
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://impl.ejb.flog.zcore.org/">
<SOAP-ENV:Body>
<ns1:authenticate>
<id>2147483647</id>
<pass>XxX</pass>
</ns1:authenticate>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=48717&edit=1