SOAP запрос на PHP?

Добрый день! Мне нужно выполнить задание. Произвести регистрацию нового участника, через SOAP метод.

имеется Wsdl
https://webservices.saveonresorts.com/services/Clu...

код следующий:
<?php
     $url = "https://webservices.saveonresorts.com/services/ClubMembership.svc?singleWsdl";
     $client = new SoapClient($url, array('soap_version' => SOAP_1_2, "location" =>        "https://webservices.saveonresorts.com/services/ClubMembership.svc", 'trace' => 1));
     
     $params = array('Email' => 'p.doht@hasmail.com', 'LastName' => 'Carter', 'FirstName' => 'Patrick', 'Phone' => '+1111111111');

    print_r($client->__getFunctions());
    echo '<br><br>';
    try { 
        $xml = $client->CreateMembership_Paid($params);
    } catch (SoapFault $fault) { 
        $xml = array(); 
        $xml['faultcode'] = $fault->faultcode;
        $xml['faultstring'] = $fault->faultstring;
    }

    var_dump($xml);
?>


В итоге я получаю список функций, пытаюсь вызвать одну из них, но получаю ошибку:
array(2) { ["faultcode"]=> string(8) "s:Sender" ["faultstring"]=> string(143) "The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'tempuri.org/IClubMembership/CreateMembership_Paid'. " }

Много искал в гугле, но ничего не смог найти полезного по это ошибке. Почему возникает данная ошибка? Что я делаю в коде не правильно?
  • Вопрос задан
  • 3441 просмотр
Решения вопроса 1
добавьте

$actionHeader = new SoapHeader('http://www.w3.org/2005/08/addressing',
                               'Action',
                               'http://tempuri.org/IClubMembership/CreateMembership_Paid');
$client->__setSoapHeaders($actionHeader);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@n1creator Автор вопроса
Сейчас сообщение "The message with To '' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher. Check that the sender and receiver's EndpointAddresses agree." Я подумал, что параметры не все. А нет, все равно сообщение об ошибке. Подскажите, с чем может быть связанно?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы