0

所有必需的库都为soap设置。我正在使用标准的 WSDL。将我的代码移至 LAMP (RedHat Enterprise)。

$params = array(
    'test1'=>'Testing',
    'test2'=> '1'
);
$soapClient->method1($params);

$soapClient->getLastRequest();

结果:

<test1>Testing</test1>
<test2>false</test2>

有没有人发生过这种情况,你是如何解决的?

4

1 回答 1

0

我相信问题可能是当 WSDL 有一个定义为布尔值的参数时 Zend_Soap_Client 不会正确地将“true”、“1”转换为布尔值 true。我不得不强制手动设置数据类型。完成后,一切正常。

$params = array(
    'test1'=> 'Testing',
    'test2'=> true
);

我相信发生这种情况的原因与 PHP 的不同版本有关。

于 2011-01-13T20:37:47.847 回答