Почему я получаю 'объект не имеет свойства' xxx 'в необязательном поле - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь выполнить запрос SOAP, но PHP Soapclient говорит, что мне нужно ввести поле.Поле, похоже, не является обязательным для WSDL.Я смог обойти это, добавив все поля в запрос, но этого больше не достаточно.

Я тестировал с SoapUI, который не возвращает эту ошибку.Также $ client -> __ getLastRequest () возвращает null, поэтому я считаю, что PHP зависает от проверки wsdl.

Пожалуйста, посмотрите на WSDL в коде.

<?php
$wsdl = 'http://api.untill.com:3063/wsdl/ITPAPIPOS';
$options = [
    'exceptions' => true,
    'trace' => true,
    'cache_wsdl' => WSDL_CACHE_NONE,
];

$client = new Soapclient($wsdl, $options);

$client->UpdateClients([
    'UserName' => 'user',
    'Password' => 'name',
    'Clients' => [
        [
             'Id' => 1,
             'Number' => 3,
             'Name' => 'John',
        ]
     ],
    'Extra' => []
]);

SOAP-ERROR: Кодировка: объект не имеет свойства 'Country'

...