Edit report at http://bugs.php.net/bug.php?id=48717&edit=1
ID: 48717 Updated by: paj...@php.net 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: try: $a = "1234"; $b = 1234; if ($a == $b) echo "hopla"; well known problem related to php auto casting, or better said, typeless. Previous Comments: ------------------------------------------------------------------------ [2010-10-27 20:20:24] periklis dot tsirakidis at mayflower dot de 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? ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ 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