Я создаю полный плагин в Wordpress, используя ZendFramework, и теперь я хотел бы предоставить веб-сервис для доступа к данным, потому что мне нужно создать приложение для импорта ac #.
Проблема, с которой я сталкиваюсь, заключается в том, чтонесмотря на то, что я установил тип возвращаемого веб-сервиса определенного типа, таблица классов не включает и не трансформирует тип.Например:
/**
* Retursn all events registered on the sgm web interface
*
* @return models_event[]
*/
public function getAllEvents(){
return models_event::getEvents();
}
определяет, что класс возвращен в массиве models_event.Если я запускаю секцию WSDL, я получаю сложный тип, добавляемый как "models_event", но вот что не так:
$autodiscover = new Zend_Soap_AutoDiscover(array(
'classmap' => array(
'event' => "models_event",
),
'encoding' => 'utf-8'
));
$autodiscover->setComplexTypeStrategy(new Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex());
$autodiscover->setClass('models_webservice');
$autodiscover->handle();
Я классифицирую сопоставленный models_event с событием.Так что мой WSDL должен экспортировать сложный тип:
<xsd:complexType name="ArrayOfmodels_event">
<xsd:complexContent>
<xsd:restriction base="soap-enc:Array">
<xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:models_event[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="models_event">
<xsd:all/>
</xsd:complexType>
Но, как вы можете видеть, он возвращает сложный тип models_event [] и сложный тип models_event ... я все испортил ... Почемуэто делает это?