Re: PHP SOAP, ADODB, MySQL and BigInt problem

[email protected] (Peter Beckman)
Newsgroups php.soap
Message-ID <[email protected]>
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
[email protected]                                 http://www.angryox.com/
---------------------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.