private function getArrayArguments(&$postData, WebServiceType $type, $args) { // $postData[0] = array(); if (count($type->getProperties()) > 0) { $i = 0; foreach ($type->getProperties() as $propertyName => $property) { if ($property instanceof WebServiceType) { $this->getArrayArguments($postData[$propertyName], $property, array($args[$i])); } else { $postData[$propertyName] = $args[$i]; } $i++; } } else { if ($type->getType() instanceof WebServiceType) { $this->getArrayArguments($postData, $type->getType(), $args); } else { $postData = $args[$i]; } } }