SoapVar не может быть продлен - PullRequest
0 голосов
/ 26 сентября 2019

Сейчас я делаю что-то вроде этого:

$xmlVar = [..];
$var = new \SoapVar([$xmlVar], SOAP_ENC_OBJECT)

$client->__soapCall('functionName', [$var], null, [$header]);

Теперь, когда я обертываю SoapVar в свой собственный класс (пустой класс, без тела), вот так:

class SVar extends \SoapVar { }

и измените приведенный выше код на:

$xmlVar = [..];
$var = new SVar([$xmlVar], SOAP_ENC_OBJECT)

$client->__soapCall('functionName', [$var], null, [$header]);

Я получаю ошибку: SOAP-ERROR: Encoding: object has no 'someProperty' property.

Я сравнивал print_r($var) в обеих ситуациях, и единственным отличием было имя класса.Оба содержат одно и то же значение.Почему упаковка \ SoapVar в пустой объект не работает?Внутренний ли SOAP проверяет точный тип, и если это не совсем SoapVar, он обрабатывает его как StdObject или как?Я попробовал точно такую ​​же вещь на SoapHeader, и она работает без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...