17 $result = json_decode(json_encode($command->
getResponse()->xml()),
true);
29 if (isset($value[$sentAs])) {
31 if ($name != $sentAs) {
32 $value[$name] = $value[$sentAs];
33 unset($value[$sentAs]);
48 if (!is_array($value)) {
49 if ($type ==
'array') {
52 $value = array($value);
54 } elseif ($type ==
'object') {
56 } elseif ($type ==
'array') {
58 } elseif ($type ==
'string' && gettype($value) ==
'array') {
62 if ($value !==
null) {
63 $value = $param->
filter($value);
76 if (!isset($value[0])) {
82 if ($param->
getItems() && isset($value[$param->
getItems()->getWireName()])) {
84 $value = $value[$param->
getItems()->getWireName()];
86 if (!isset($value[0]) || !is_array($value)) {
87 $value = array($value);
89 } elseif (!empty($value)) {
92 $value = array($value);
96 foreach ($value as &$item) {
110 if (!isset($value[0]) && ($properties = $param->
getProperties())) {
111 $knownProperties = array();
112 foreach ($properties as $property) {
113 $name = $property->getName();
114 $sentAs = $property->getWireName();
115 $knownProperties[$name] = 1;
116 if ($property->getData(
'xmlAttribute')) {
118 } elseif (isset($value[$sentAs])) {
120 if ($name != $sentAs) {
121 $value[$name] = $value[$sentAs];
122 unset($value[$sentAs]);
129 $value = array_intersect_key($value, $knownProperties);
143 if (isset($value[
'@attributes'][$sentAs])) {
144 $value[$property->
getName()] = $value[
'@attributes'][$sentAs];
145 unset($value[
'@attributes'][$sentAs]);
146 if (empty($value[
'@attributes'])) {
147 unset($value[
'@attributes']);