всем привет
нужна подсказка: как вернуть массив в клиенте?
есть метод типа такого =
/**
* @return array
* @soap
*/
public function getAlldocs()
{
$arr = array(
'key1'=>array();
...
'keyn'=>array();
);
return isset($arr)?$arr:0;
}
гугл подсказал, что надо добавить нечто этакое =
<wsdl:types>
<xsd:schema targetNamespace="http://schema.example.com">
<xsd:complexType name="resultArray">
<xsd:complexContent>
<xsd:restriction base="SOAP-ENC:Array">
<xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[]" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<message name='getResultRequest'>
<part name='numeropark' type='xsd:int'/>
</message>
<message name='getResultResponse'>
<part name='result' type='tns:resultArray'/>
</message>
но как это сделать - не пойму…
ведь мой wdsl формируется на лету =
public function actions()
{
return array(
'quote'=>array(
'class'=>'CWebServiceAction',
),
);
}
ай нид ё хэлп, так сказать!