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