Edit report at http://bugs.php.net/bug.php?id=48717&edit=1

 ID:                 48717
 Comment by:         periklis dot tsirakidis at mayflower dot de
 Reported by:        rob at zcore dot org
 Summary:            Cannot pass datatype long (> 2147483647) in SOAP
                     requests
 Status:             Open
 Type:               Bug
 Package:            SOAP related
 Operating System:   Debian GNU/Linux
 PHP Version:        5.2.11
 Block user comment: N

 New Comment:

Ouch... Pierre, 



one serious notice is, that we changed the wsdl for <options> from
xsd:long to xsd:string and the problem is still there. Do we have here
an auto-casting from string to long?



Any ideas?


Previous Comments:
------------------------------------------------------------------------
[2010-10-27 20:15:57] paj...@php.net

PHP on windows uses 32bit integer for long, always. That's not possible
to fix easily either.



Two choices, either convert to double when an integer overflow happens,
or wait until we have big integer support.

------------------------------------------------------------------------
[2010-10-27 20:05:05] periklis dot tsirakidis at mayflower dot de

Hey guys,



this serious bug is still damaging SOAP envelopes with long in there. We
have the same problem on PHP 5.3.2 and 5.3.3 (32Bit) under Windows
2008R2 (64Bit) with IIS7. I think the bug reporter posted exactly the
last request in order to fix this issue. Here is ours:



<SOAP-ENV:Envelope
xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\";
xmlns:ns1=\"http://rsp.soap.atlas.jungheinrich.de/\";>

        <SOAP-ENV:Body>

                <ns1:sendConfigurationData>

                        <arg0>

                                <ffzId>96D</ffzId>

                                <gatewayIds>3B27DE81</gatewayIds>

                    </arg0>

                        <arg1>

                                <header>

                                        <options>2147483647</options>

                                        <messageId>36</messageId>

                                        <created>2010-10-27T16:54:19</created>

                                        <expires>1970-01-01T01:00:00</expires>

                                        <deviceId>96D</deviceId>

                                        <formatRevision>0</formatRevision>

                                </header>

                        </arg1>

                </ns1:sendConfigurationData>

        </SOAP-ENV:Body>

</SOAP-ENV:Envelope>



I believe that it is time to fix this loooong problem with long
datatypes.



My 2 cents



Periklis

------------------------------------------------------------------------
[2009-09-28 19:12:35] sjo...@php.net

To properly diagnose this bug, we need the SOAP request and response.
You can get that using a sniffer (Wireshark) or using __getLastRequest
and __getLastResponse. See the PHP manual for information on these
methods.

------------------------------------------------------------------------
[2009-09-28 08:19:22] smashles at gmail dot com

I experience a similar issue on latest FreeBSD+Apache-2.2.13+PHP5.2.11
whiling passing longint to a postgresql. When passing a number larger
then maxint, it's reduced to 2147483647.

------------------------------------------------------------------------
[2009-09-27 12:14:11] rob at zcore dot org

Hi,



in the meantime my company upgraded to 5.2.11 (security reasons); the
bug seems to be in there, too.



Unluckily updating to HEAD is no option, since we are using the
ZendPlatform.



Regs

  Rob

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    http://bugs.php.net/bug.php?id=48717


-- 
Edit this bug report at http://bugs.php.net/bug.php?id=48717&edit=1

Reply via email to