我正在尝试为站点设置数据请求,但是在尝试提取数据时遇到问题。
我使用 http://www.soapclient.com/soaptest.html 测试了 url 和凭据,它运行良好,因此我知道服务已启动并且输入了正确的凭据,但是,当使用以下代码时,我收到以下错误;
致命错误:未捕获的肥皂故障异常:[无效登录]在...
我用来发出请求的完整代码(通用 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 安装的某些内容(我验证它已安装并启用(,或者我是否只是盯着代码太久以至于我只是错过了一些明显的东西。
如果它在其他地方工作,这是一个客户端问题。尝试使用对象而不是数组来保存参数:
$params = new stdClass();
$params->customer = 'XBLK';
$params->size = 'four';
$params->price = 'twenty';
$results2 = $client2->boxInfo($params);