Re: [SOAP] SoapServer and integer types question
| From: | David Zülke | Date: | Thu, 04 Feb 2010 11:07:46 +0000 |
| Subject: | Re: [SOAP] SoapServer and integer types question | ||
| References: | 1 | Groups: | php.soap |
| Request: | Send a blank email to php-soap+get-3044@lists.php.net to get a copy of this message | ||
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(
Attachment: [application/pkcs7-signature] smime.p7s
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/
Attachment: [application/pkcs7-signature] smime.p7s