Основно изграждане на SOAP клиент и част от необходимия вход е форматиран така:
<Attributes>
<Attribute>
<AttributeType>HomeType</AttributeType>
<Value>duplex</Value>
</Attribute>
<Attribute>
<AttributeType>Bedrooms</AttributeType>
<Value>2</Value>
</Attribute>
<Attribute>
<AttributeType>Bathrooms</AttributeType>
<Value>2</Value>
</Attribute>
</Attributes>
Това е публикувано чрез масив:
$homeType = array (
'AttributeType' => 'HomeType',
'Value' => $_POST['hometype']
);
$bedrooms = array (
'AttributeType' => 'Bedrooms',
'Value' => $_POST['bedrooms']
);
$bathrooms = array(
'AttributeType' => 'Bathrooms',
'Value' => $_POST['bathrooms']
);
$attributes = array (
'Attribute' => $homeType,
'Attribute' => $bedrooms,
'Attribute' => $bathrooms
);
И както можете да си представите, всички връщания от масива са последният атрибут, така че xml изглежда така:
<Attributes>
<Attribute>
<AttributeType>Bathrooms</AttributeType>
<Value>2</Value>
</Attribute>
</Attributes>
Не мога да измисля никакъв практичен начин да заобиколя това, тъй като атрибутите могат да броят до 30-50, така че не искам да ги въвеждам цифрово, особено след като масивът се извиква само като:
'Attributes' => $attributes,
Всяка помощ ще бъде високо оценена!