У меня есть некоторые проблемы с ответом в SOAP. В общем, я не могу понять, как получить ответ в виде многомерного ассоциативного массива для моего SOAP-клиента.
Я использовал библиотеку NuSOAP v 1.123.
Итак, у меня есть этот код в SOAP-сервере:
$server->wsdl->addComplexType(
'ReturnDataInside',
'complexType',
'struct',
'all',
'',
array(
'message' => array('name' => 'message', 'type' => 'xsd:string', 'nillable' => 'true'),
'value' => array('name' => 'value', 'type' => 'xsd:string', 'nillable' => 'true'),
)
);
$server->wsdl->addComplexType(
'ReturnDataOutside',
'complexType',
'array',
'all',
'',
array(),
array(),
'tns:ReturnDataInside'
);
$server->register('test',
array('param_1' => 'xsd:int', 'param_2' => 'xsd:string'),
array('return' => 'tns:ReturnDataOutside')
);
function test($param_1, $param_2)
{
$data = array(
'test' => array(
'message' => 'string',
'value' => 'string',
),
);
return $data;
}
Мой ответ выглядит так:
Array
(
[0] => Array
(
[message] => string
[value] => string
)
)
Так что изменить, чтобы получить «тест» в качестве ключа в моем ответе m.array?
Прежде всего тело моей функции было неверным.
$data[] = array(
'message' => 'string',
'value' => 'string',
);
И ответ на мой вопрос:
Мыло не отправляет ключи для многомерных массивов.
Других решений пока нет …