Как определяется возвращаемое значение в вашей декларации SOAP?Например, вот что у меня есть в моем wsdl:
$server->wsdl->addComplexType('ResultObject',
'complexType',
'struct',
'all',
'',
array(
'result' => array('name' => 'result',
'type' => 'xsd:string'),
'addl_info' => array('name' => 'addl_info',
'type' => 'xsd:string')
)
);
Вот моя регистрация функции в том же wsdl:
$server->register('addGroupRequest', // method name
array('auth_name' => 'xsd:string',
'password' => 'xsd:string',
'group_objid' => 'xsd:int', // input parameters
'source_character_objid' => 'xsd:int', // input parameters
'message' => 'xsd:string'), // input parameters
array('ResultObject' => 'tns:ResultObject'), // output parameters
'urn:Groupwsdl', // namespace
'urn:Groupwsdl#addGroupRequest', // soapaction
'rpc', // style
'encoded', // use
'add group request for the character ' // documentation
);
А чтобы получить массив, я просто вызываю $return['addl_info']
или $return['result']
.