Вопрос нестандартный сразу скажу, т.к. в после недели поисков в гугле и яндексе была найдена лишь одна статься и то, не раскрывающая полностью решение моей проблемы:
Your text to link here...
Если по-русски, то суть следующая:
1) Есть SOAP-сервер, есть WSDL, есть клиент
2) Клиент стучится на сервер запрашивая метод, который возвращает, допустим такой объект:
class Peoples {
/**
* Массив объектов People
*/
public $list;
}
…
class People {
public $Name;
public $Phone;
public $Info;
}
В структуру класса вдаваться не надо (он был придуман только что в качестве примера).
Т.е. примерно такой или любой другой объект будет возвращать метод.
Но SOAP клиент получая такой объект переиначивает его и возвращает как
stdClass Object ( /* а должно быть Peoples Object */
list => Array (
0 => stdClass Object ( /* а должно быть People Object */
Name => 'Какое-то имя'
Phone => '888-888-888'
Info => 'Какая-то информация'
)
1 => ..
)
)
Я использую Zend Framework 1.11.11, в частности библиотеки Zend_Soap_Autodiscover для генерации WSDL,
Zend_Soap_Server в качестве сервера и Zend_Soap_Client - в качестве клиента.
Прочитал, что есть некий ClassMap (protected $_classmap, пару методов getClassMap(), setClassMap()) в классе Zend_Soap_Server, но они не используются.
Может у кого-то получилось побороть SOAP чтобы он возвращал именно те объекты которые к нему приходят а не сборище stdClass-ов.
Заранее спасибо!