Я остановился на сценарии, который связывается с веб-сервисом через SOAP.
Я получил приведенный ниже код (извлечение), успешно работающий (присваивание параметров, создание объекта, передача параметров через объект и получение ответа int $ result)
$param[category]='1';
$param[name][firstname]='Thomas';
$param[name][lastname]='A.';
$client = new SoapClient("KFZ/2013/1/_impl/AD...........");
$result = $client->listvisitors($param);
А теперь где я застрял
У меня есть пример запроса веб-службы в формате XML.
Пример приведен ниже:
<category>1</category>
<name>
<firstname>Thomas</firstname>
<lastname>A.</lastname>
</name>
<name>
<firstname>Mike</firstname>
<lastname>K.</lastname>
</name>
Разница с моим кодом выше в том, что данные XML содержат второго человека.
Как я могу назначить второго человека на объект?
Должно быть что-то вроде этого (я знаю, что это не сработает, так как «Майк К.» перезапишет «Томас А.»)
$param[category]='1';
$param[name][firstname]='Thomas';
$param[name][lastname]='A.';
$param[name][firstname]='Mike';
$param[name][lastname]='K.';
Вот выдержка из файла xsd (определение веб-сервиса):
<xsd:element name="name" type="xxx" minOccurs="0" maxOccurs="unbounded"/>
Должна быть возможность назначить несколько имен (человек)
Задача ещё не решена.
Других решений пока нет …