Bug #49669 [Com]: SOAP pass incorrect number for long type
| From: | doebrentei at hotmail dot com | Date: | Fri, 05 Nov 2010 14:22:07 +0000 |
| Subject: | Bug #49669 [Com]: SOAP pass incorrect number for long type | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-155794@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=49669&edit=1
ID: 49669
Comment by: doebrentei at hotmail dot com
Reported by: persiancity at gmail dot com
Summary: SOAP pass incorrect number for long type
Status: Bogus
Type: Bug
Package: SOAP related
Operating System: Linux
PHP Version: 5.2.11
Block user comment: N
New Comment:
I use Macintosh with MAMP and PHP 5.2.13 and 5.3 and I have the same
problem.
I set the value type to float but I think this is not a final solution.
settype($variable,"float")
Previous Comments:
------------------------------------------------------------------------
[2009-09-25 16:25:38] sjoerd@php.net
Thank you for your bug report.
This problem has already been reported to the bug tracker by someone
else.
Open:
Bug #48717 Cannot pass datatype long (> 2147483647) in SOAP requests
Other:
Bug #40099 Cannot pass long (> 2147483647) in SOAP requests
Bug #30045 Cannot pass big integers (> 2147483647) in SOAP requests
------------------------------------------------------------------------
[2009-09-25 15:06:33] persiancity at gmail dot com
I should add that I also tried converting to string:
$result = $this->client->register_number((string)$value);
with no chance.
------------------------------------------------------------------------
[2009-09-25 15:04:13] persiancity at gmail dot com
Description:
------------
I use a SoapClient code to send a number to mysql database on a service
server. The field type with bug is xsd:long. when I pass a integer value
larger than 2147483647 to this field I get inccorect value on the
service server database (All numbers = 2147483647).
I get correct result when send data from a 64bit server and inccorect
result when send from 32bit server. but I am not sure it is cause of
server type. I have not access to soap service server to know what is
it.
Reproduce code:
---------------
$value= 3147483647;
$result = $this->client->register_number((int)$value); // result in
database is: 2147483647 !!
// the mysql database field type is unsigned bigint
Expected result:
----------------
result in database is: 2147483647 !!
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=49669&edit=1