0

我正在尝试为站点设置数据请求,但是在尝试提取数据时遇到了问题。

我使用http://www.soapclient.com/soaptest.html测试了 url 和凭据,它运行良好,所以我知道服务已启动并且正在输入正确的凭据,但是,当使用下面的代码时,我给出以下错误;

致命错误:未捕获的 SoapFault 异常:[Invalid Login] in...

我用来发出请求的完整代码(通用 URL 除外)是;

<?php
$client2 = new SoapClient("http://www.example.com/api/soap.php?wsdl", array('trace'=> true));
$results2 = $client2->boxInfo(array(
                                  "customer" => 'XBLK', 
                                   "size"  => "four",
                                   "price" => "twenty"));
echo "<pre>";
var_dump($client2-> __getLastRequestHeaders());
var_dump($client2-> __getLastRequest());
var_dump($client2-> __getLastResponseHeaders());
var_dump($client2-> __getLastResponse());
var_dump($results2);
echo "</pre>";
?>

由于我是这些调用的新手,我不确定当我更新 php 时是否错过了 SOAP 安装的某些内容(我验证它已安装并启用),或者我是否只是盯着代码太久以至于我我只是遗漏了一些明显的东西。

4

1 回答 1

0

如果它在其他地方工作,这是一个客户问题。尝试使用对象而不是数组来保存参数:

$params = new stdClass();
$params->customer = 'XBLK';
$params->size = 'four';
$params->price = 'twenty';
$results2 = $client2->boxInfo($params);
于 2013-09-29T23:03:35.593 回答