Re: [SOAP] SoapServer and integer types question
[email protected] (David Zülke) Thu, 4 Feb 2010 12:07:46 +0100
| Newsgroups | php.soap |
|---|---|
| Message-ID | <[email protected]> |
The long overflows because ext/soap maps it to an int, and you're on a
32bit arch. You can easily fix that problem by using a custom type
mapper to override the internal handling of {http://www.w3.org/2001/XMLSchema
}long:
function to_long_xml($longVal) {
return '<long>' . $longVal . '</long>';
}
function from_long_xml($xmlFragmentString) {
return (string)strip_tags($xmlFragmentString);
}
$client = new SoapClient('http://acme.com/products.wsdl', array(
'typemap' => array(
array(
'type_ns' => 'http://www.w3.org/2001/XMLSchema',
'type_name' => 'long',
'to_xml' => 'to_long_xml',
'from_xml' => 'from_long_xml',
),
),
));
That's from my presentation "The State of SOAP in PHP" I gave at a
couple of conferences over the last few months, here is info and
slides from the last time at the PHPBenelux conference (including a
trick using the same method to achieve handling of DateTime objects):
http://www.slideshare.net/Wombert/the-state-of-soap-in-php-3029206
http://joind.in/talk/view/1243
Hope that helps,
David
On 26.01.2010, at 18:21, Bruce Bailey wrote:
>
> Hi
>
> I'm using the SoapServer class (in PHP5.2.3) and noticing what seems
> like incorrect behavior.
>
> When I have 10 digit (or greater) integer values returned from the
> SoapServer, they seem to overflow.
>
> For example:
>
> Schema type (from WSDL): xs:long
> (or xs:int or xs:integer)
> Returned value (from network trace): <value>2147483647</value>
>
> Expected value:
> <value>3605736641</value>
>
>
> Is this correct behavior?
>
> I find that if I use xs:decimal for the type, I get my expected
> value back from SoapServer, but I'm concerned that there are
> unexpected consequences waiting for me in the future.
>
> What have other people done in this type of situation?
>
> Thanks in advance,
>
> Bruce
>
> _________________________________________________________________
> Hotmail: Powerful Free email with security by Microsoft.
> http://clk.atdmt.com/GBL/go/196390710/direct/01/
smime.p7s
(application/pkcs7-signature, 3.7 KB) - not displayed