PHP. Установить пространство имен для всех заголовков SOAP элементов

Я думаю, что мой вопрос довольно прост, но не могу найти ответ.

Я установил заголовки:

$logIn = new LogIn();
$logIn->setEmail('[email protected]');
$logIn->setPassword('123456');
$header = new \SoapHeader('NAMESPACE', "logIn", $logIn, false);
$client->__setSoapHeaders($header);

И я получаю заголовок в файле xlm:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="NAMESPACE">
    <SOAP-ENV:Header>
    <ns1:logIn>
        <email>[email protected]</email>
        <password>123456</password>
    </ns1:logIn>
...

Но для успешной проверки на сервере мне нужно получить такой заголовок:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="NAMESPACE">
    <SOAP-ENV:Header>
    <ns1:logIn>
        <ns1:email>[email protected]</ns1:email>
        <ns1:password>123456</ns1:password>
    </ns1:logIn>
...

В документации не указан параметр, определяющий, где будет или не будет добавлено пространство имен. Может кто знает как решить мою проблему?


person Roman    schedule 17.03.2021    source источник
comment
Вы пытались использовать SoapVar, как показано здесь: stackoverflow.com/questions/13465168/ ?   -  person Bogdan    schedule 17.03.2021
comment
Нет, я не нашел этот способ. Я думаю, это сработает для меня. Но это будет очень неудобно, так как мне придется переписать 7 классов из stdClass в SoapVar. Но все равно спасибо. Это полезная информация.   -  person Roman    schedule 17.03.2021