Попробуйте создать класс ответа, который имеет только один атрибут, следующим образом:
class Response
{
/** @var string[] */
public $items;
}
Затем определите свой класс обслуживания, чтобы он возвращал объект типа Response
следующим образом:
class Service
{
/**
* @param string
* @return Response
*/
public function process( $input )
{
$response = new Response();
// Populate $response->items[] object with strings...
return $response;
}
}
Затем используйте стратегию 'Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex'
при использовании Zend_Soap_Autodiscover
для создания WSDL. Хотя это, вероятно, не приведет к получению именно того результата, который вам нужен, он должен произвести нечто семантически ближе, чем то, что вы получаете в настоящее время. Ключом к этому подходу является правильное получение PHPDoc.
Если это по-прежнему не работает, опубликуйте ключевые биты своего кода, так как это поможет быстрее решить проблему.