PHP / Laravel выглядит так, как будто мы не получили XML-документ при создании soapcall - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь сделать мыльный вызов и получаю следующую ошибку:

похоже, что у нас нет XML-документа

РЕДАКТИРОВАТЬ сообщение об ошибке

enter image description here

вот пример, который отлично работает в моем интерфейсе SOAP

enter image description here

Вотмой массив, который я отправляю на мой soapCall:

$params = [
    'id' => '0000002721',
    'options' => [
                    'returnAttachments' => 'false',
                    'returnPictures'    => 'false',
                    'returnContract'    => 'false'
                 ]
];

Вот код, как я делаю вызов мыла

try {
    $options = array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
        )
    );

    $context = stream_context_create($options);

    $soapClient = new SoapClient(__DIR__ . '/Soap.wsdl', [
        'stream_context' => $context,
        'login' => 'login',
        'password' => 'password',
        'trace' => 1,
            'exceptions' => true,
    ]);

    $soapClient->__setLocation('url');

    $this->soapClient = $soapClient;
} catch (\SoapFault $e) {
    var_dump($e); exit;
}

try {
    $result = $this->soapClient->__soapCall('getMaintenanceObject', $params);
} catch (\SoapFault $e) {
    var_dump($e); exit;
}

1 Ответ

0 голосов
/ 01 апреля 2019

SoapClient может быть не очень выразительным, когда дело доходит до отображения ошибок, добавьте:

var_dump($this->soapClient->__getLastRequestHeaders()); var_dump($this->soapClient->__getLastResponseHeaders());

...