Home  |  Linux  | Mysql  | PHP  | XML
From:Peter Beckman Date:Wed Jul 30 10:56:09 2008
Subject:Re: PHP SOAP, ADODB, MySQL and BigInt problem
On Tue, 29 Jul 2008, Peter Beckman wrote:

> I have bigints in my MySQL DB (full international-style phone numbers, such
> as 12125004000).  I want to return these via a SOAP API I'm working on.

  I was able to solve the problem.  Turns out there were two issues.

  1. Caching was turned on, so the WSDL was cached, which meant that on-disk
     changes were not reflected after the first WSDL read, and thus changes to
     variable types were not being recached.  One (I) would think that the
     caching mechanism would be intelligent enough to at least do a check of
     the last_modified time on the WSDL and the cached file, and if the
     original file was greater, recache.  Oh well.

  2. After googling some more on xsd:int and other variable types, I tried
     what I thought would be correct, xsd:long.  But again, same problem.  I
     finally found enlightenment after reading the soap.constants.php page,
     and clicking on the hyperlinked "integer" which showed that numbers
     larger than 2147483647 resulted in PHP outputting the correct number,
     but typecasted as a float, not an int.

  When I changed my WSDL element type to xsd:float, all was well with the
  world again.

---------------------------------------------------------------------------
Peter Beckman                                                  Internet Guy
beckman@angryox.com                                 http://www.angryox.com/
---------------------------------------------------------------------------
Navigate in group php.soap at sever news.php.net
Previous Next




  
© No Copyright
You are free to use Anything
Site Maintained by PHP Developer
Powered By PHP Consultants