Я пытаюсь написать PHP-скрипт, который будет подключаться к SOAP-клиенту для нашего интерфейса SightMax.С помощью приведенного ниже кода я могу распечатать список доступных функций, однако, когда я пытаюсь вызвать любую функцию, я получаю следующую ошибку:
<code><?php
$client = new SoapClient('http://domain.com/SightMaxWebServices/SightMaxWebService.svc?wsdl', array('soap_version' => SOAP_1_2));
var_dump($client->__getFunctions());
$result = $client->__call("GetSiteSummary", array());
echo "<pre>";
print_r($result);
echo "
";?>
Fatal error: Uncaught SoapFault exception: [s:Sender] The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'SmartMax.SightMax.Agent.Operator/IRemotedWebsiteAdministrator/GetSiteSummary'. in test2.php:7 Stack trace: #0 test2.php(7): SoapClient->__call('GetSiteSummary', Array) #1 {main} thrown in test2.php on line 7
Я исследовал эту ошибку в течение последних нескольких дней, и я прочитал различные статьи с указанием возможных проблем. Насколько я понимаю, эта ошибка возникает из-за того, что клиент SOAP настроен для wsHttpBinding и либо для сборки в SOAPклиент для PHP не поддерживает wsHttpBinding, или мне нужно специально указать действие SOAP.
Может ли кто-нибудь пролить свет на это для меня? Пожалуйста, имейте в виду, пока я разбираюсь в PHP, работа с SOAP новамне так шаг за шагом очень помогают.
Заранее спасибо.