[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: WSDL массивы
maguga
Добрый день.
Есть веб сервис. В нем есть элемент ArrayProperty который является массивом.

     		<xsd:element name="Parametr" type="tns:tParametr" minOccurs="1" maxOccurs="unbounded" nillable="true"></xsd:element>


веб сервису передаются данные

-<SimpleGood EAN13="4606144005374">
-<ArrayProperty>
<Parametr
Value="50гр" Property="вес"/>
</ArrayProperty>
</SimpleGood>


-<SimpleGood EAN13="7891024128954">
-<ArrayProperty>
<Parametr
Value="тройное действие" Property="название зубной пасты"/><Parametr Value="100гр" Property="вес"/></ArrayProperty>
</SimpleGood>



Структура создается объектными средствами 1с, по четкому описанию wsdl и проверяется на момент отправки.

Сервер получает эти данные, я во время обработки сохраняю полученные данные

$masProperty=$SimpleGood->ArrayProperty;
fwrite($fp, "vx=".var_export($masProperty,true).chr(10).chr(13));


vx=stdClass::__set_state(array(
'Parametr' =>
stdClass::__set_state(array(
'Property' => 'вес',
'Value' => '50гр',
)),
))

vx=stdClass::__set_state(array(
))

vx=stdClass::__set_state(array(
'Parametr' =>
array (
0 =>
stdClass::__set_state(array(
'Property' => 'название зубной пасты',
'Value' => 'тройное действие',
)),
1 =>
stdClass::__set_state(array(
'Property' => 'вес',
'Value' => '100гр',
)),
),
))


И получается на мой взгляд какая то фигня. Структура данных в случае если в массиве лишь одно значение свойств и если их несколько выглядит существенно по разному. В случаее с двумя и более значениями создается вложенный массив, что не происходит при 1 элементе в массиве. Как заставить пхп понимать 1 элемент в массиве как массив, а не как значение?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.