我试图通过向其传递值数组来调用Web服务PersonalDetails_Update。这些值已成功写入Web服务旨在执行的数据库中。但是,它也应该返回写入数据库的记录的ID。但我没有得到任何回报。只是一个没有XML或基础源的空白屏幕。
使用getLastRequest时,我收到此错误:
Fatal error: Uncaught SoapFault exception: [Client] Function ("getLastRequest") is not a valid method for this service in
用于将数据传递到Web服务和请求/响应标头的代码:
$client->PersonalDetails_Update(array('personaldetails' => $params));
printf("<br/> Request = %s </br>", htmlspecialchars($client->getLastRequest()));
$result = $client->__getLastResponse();
$header = $client->__getLastResponseHeaders();
使用getLastResponse和getLastResponseHeaders时,我什么都没收到。
答案 0 :(得分:3)
printf("<br/> Request = %s </br>", htmlspecialchars($client->__getLastRequest()));
你的soap客户端认为“getLastRequest”是一种肥皂服务的方法,而不是肥皂客户端方法。
你也应该告诉我们你使用的是什么肥皂客户端。我假设您使用php内置肥皂客户端...
使用__soapCall方法确保您正在向服务发出请求:
try {
$result = $client->__soapCall('PersonalDetails_Update', array('personaldetails' => $params));
} catch (SoapFault $exception) {
echo 'soap fault occured: '.$exception->getMessage().'<br/>';
}
您应该检查返回的值是否为soap错误..请参阅manual