Я пытаюсь портировать существующий веб-сервис, написанный с NuSOAP, на Zend Framework.
Мне удалось добавить сложный тип в сервис, но я не могу получить это значение в своей функции.Вот некоторый код, который поможет вам лучше понять.
Контроллер:
private $_WSDL_URI="http://webservice/?wsdl";
public function indexAction()
{
$this->_helper->viewRenderer->setNoRender();
if(isset($_GET['wsdl'])) {
//return the WSDL
$this->hadleWSDL();
} else {
//handle SOAP request
$this->handleSOAP();
}
}
private function hadleWSDL() {
$autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex');
$autodiscover->setClass('Webservice');
$autodiscover->handle();
}
private function handleSOAP() {
$soap = new Zend_Soap_Server($this->_WSDL_URI);
$soap->setClass('Webservice');
$soap->handle();
}
Класс веб-сервиса:
/**
* desc
*
* @param Type_Authentication
* @return Array
*/
public function get_vehicle_type($authentication) {
var_dump($authentication);
die();
return array('test', 'tsest');
}
Класс Type_Authentication:
/** @var string */
public $username;
/** @var string */
public $password;
В приведенном выше коде $ authentication возвращает
object(stdClass)#25 (0) {
}
Что я делаю не так?