“对象引用未设置为对象的实例”从PHP调用SOAP服务时出错

时间:2012-02-03 23:29:16

标签: php xml soap

我正在尝试使用以下代码通过SOAP从PHP访问此web service

ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache
$wsdl_path = "http://www.neugroup.com/workarea/servercontrolws.asmx?WSDL";

$username = 'username';
$password = 'password';

$client = new SoapClient($wsdl_path, array(
  "trace"      => 1,
  "exceptions" => 0)
);
try {
  $result = $client->LoadListSummary(array(
    'LangID' => 1033,
    'FolderPath' => 'path/',
    'MaxResults' => 500,
    'OrderKey' => 'Title',
    'Direction' => 'Ascending',
    'Preview' => 0,
    'Recursive' => 0,
    'RetrieveSummary' => 0,
    'Random' => 0,
    'GetHtml' => 0,
    'ContentType' => 'AllTypes',
    )
  );
}
catch (SoapFault $exception) {
  echo $exception;
}

但是我得到一个“对象引用没有设置为对象的实例”错误。我正在逐步完成这是一个调试器,我可以看到$ client是一个对象。还有别的我做错了会导致这个错误吗?另外,我是否正确构建了SOAP调用?

感谢。

1 个答案:

答案 0 :(得分:1)

看起来你没有做错什么,错误就在服务中,所以两种情况之一就是这样:

  1. 您的一个参数是错误的并且使服务解析为空对象(路径可能是候选对象)并且服务器不验证这一点并尝试对对象执行此操作
  2. 您正在致电的服务中存在一般性故障