2015-10-15 11 views
0

У меня есть некоторые проблемы с ответом в SOAP. В общем, я не могу понять, как получить ответ как многомерный ассоциативный массив для моего SOAP-клиента. Я использовал библиотеку NuSOAP v 1.123.Многомерный ассоциативный массив как ответ в NuSOAP

Так что я этот код в 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 
     ) 

) 

Так что нужно изменить, чтобы получить «тест» в качестве ключа в моем ответе м .array?

ответ

0

Прежде всего тело моей функции было неправильным.

$data[] = array(
'message' => 'string', 
'value' => 'string', 
); 

И ответ на мой quastion является: мыло не посылает ключи для многомерных массивов.