Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP SoapClient-带长整数的SOAP请求_Php_Soap_Long Integer_Soap Client - Fatal编程技术网

PHP SoapClient-带长整数的SOAP请求

PHP SoapClient-带长整数的SOAP请求,php,soap,long-integer,soap-client,Php,Soap,Long Integer,Soap Client,我对大整数值和PHP SoapClient类有一些问题。SoapClient似乎不能处理大的数值,而且我不能发送大于PHP_INT_MAX(2147483647)的数字,即使SOAP参数类型是“xsd:long” 这是我需要调用的SOAP方法的WSDL规范: <message name="doFinishItemRequest"> <part name="session-handle" type="xsd:string"/> <part name="fini

我对大整数值和PHP SoapClient类有一些问题。SoapClient似乎不能处理大的数值,而且我不能发送大于PHP_INT_MAX(2147483647)的数字,即使SOAP参数类型是“xsd:long”

这是我需要调用的SOAP方法的WSDL规范:

<message name="doFinishItemRequest">
  <part name="session-handle" type="xsd:string"/>
  <part name="finish-item-id" type="xsd:long"/>
  <part name="finish-cancel-all-bids" type="xsd:int"/>
  <part name="finish-cancel-reason" type="xsd:string"/>
</message>
它将3599569593更改为2147483647,SOAP服务告诉我传递了错误的ID


有解决办法吗?(我无法更改WSDL。)

您还没有显示任何PHP代码,但是转换为float似乎可以工作

$soapVar = (float)'3599569593';

或者当您将其作为参数发送时。

PHP Soap扩展用于仅支持32位整数,即使在64位系统上也是如此。可能还是这样。在Win7+PHP5.5上为我工作过。非常感谢。
$soapVar = (float)'3599569593';