@levin-pwnz

Как правильно построить запрос к SOAP?

Здравствуйте!

Прошу помощи в составлении SOAP запроса, т.к до этого с SOAP никогда не работал.

XSD
WSDL описание

Отправка запроса:
$client = new \SoapClient($service, ['trace' => true]);

        $message = new Message();
        $message->Message = 'Message';
        $message->AuthRequest = 'AuthRequest';
        $message->AuthAppInfo = 'AuthAppInfo';
        $message->MasterToken = 'MasterToken'.env('MASTER_TOKEN');

        $data = $client->getMessage($message);

        $this->log($client->__getLastRequest(), 'request');
        $this->log($client->__getLastResponse(), 'response');


Класс Message
class Message
{
    public $Message;
    public $AuthRequest;
    public $AuthAppInfo;
    public $MasterToken;
}


На выходе получаю вот такую ошибку:
Unmarshalling Error: cvc-complex-type.2.4.b: The content of element 'ns1:Message' is not complete. One of '{WC[##other:"urn://x-artefacts-gnivc-ru/inplat/servin/OpenApiMessageConsumerService/types/1.0"]}' is expected.
  • Вопрос задан
  • 478 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Если я правильно понимаю WSDL, то у запроса getMessage единственный параметр - MessageId.
6.1.2. Метод получения сообщения GetMessage предназначен для получения xml сообщения в соответствии с определенной для конкретного сервиса схемой.
6.1.2.1. Сигнатура метода: GetMessageResponse GetMessage(GetMessageRequest request) throws AuthenticationException, MessageNotFoundException,
где
GetMessageRequest – запрос, содержащий единственный элемент MessageId – идентификатор сообщения, присвоенный запросу, который требуется передать для получения ответа.
GetMessageResponse – ответ, содержащий 2 элемента: ProcessingStatus – статус выполнения запроса, и Message – сообщение, который позволяет содержать любой xmlс обязательным указанием схемы. ProcessingStatus – перечисление, с двумя значениями: PROCESSING –запрос обрабатывается, COMPLETED –обработка запроса завершена.
Элемент Message возвращается только в случае,если ProcessingStatus равен COMPLETED
https://www.nalog.ru/files/kkt/pdf/%D0%A2%D0%B5%D1...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы