PHP Soap问题:服务器无法处理请求。 --->你调用的对象是空的

时间:2009-05-29 18:57:03

标签: php web-services soap

我正在使用PHP 5.2.5.5和Moodle 1.9。

当我在没有参数的情况下进行简单的SOAP调用时,它可以工作。但是,只要我使用带参数的调用,它就会失败。如果我使用Fiddler捕获SOAP请求,我发现它根本没有将参数添加到soap请求中。

这是我的示例代码:

$WSDL = 'http://www.nanonull.com/TimeService/TimeService.asmx?WSDL';
$client = new SoapClient($WSDL);
$response = $client->getUTCTime(); // WORKS
$response = $client->getTimeZoneTime('ZULU');  // SOAP FAULT

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

您还需要传递该参数的名称(并传入数组):

$WSDL = 'http://www.nanonull.com/TimeService/TimeService.asmx?WSDL';
$client = new SoapClient($WSDL);
$response = $client->getUTCTime(); // WORKS

$response = $client->getTimeZoneTime(array('timezone'=>'ZULU')); //works
print_r( $response);

请参阅:http://www.nanonull.com/TimeService/TimeService.asmx?op=getTimeZoneTime

和:http://www.nanonull.com/TimeService/TimeService.asmx

杰克