多维关联数组作为 NuSOAP 中的响应

Multidimensional associative array as response in NuSOAP

我在 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
        )

)

那么要更改什么才能将 'test' 作为我的回复中的关键字 m.array?

首先,我的函数主体不正确。

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

我的问题的答案是: soap 不发送多维数组的键。