я сделал мыльный клиент и сервер и добавил образец класса, который возвращает результаты поиска доктрин с помощью методов. однако, когда я изменяю это, чтобы сохранить или сбросить объекты, ошибка:
мой мыльный сервер: (мыльный контроллер)
public function server()
{
if (is_null($this->getRequest()->getParam('wsdl'))) {
$server = new Zend_Soap_Server('http://localhost/soap?wsdl');
$server->setClass('Private\Library\Repo\Users');
$server->handle();
} else {
$wsdl = new Zend_Soap_AutoDiscover();
$wsdl->setClass('Private\Library\Repo\Users');
$wsdl->handle();
}
}
public function client()
{
$client = new Zend_Soap_Client('http://localhost/soap?wsdl');
$result = $client->updateUser();
}
Когда я делаю вызов, я получаю:
Сообщение: Неизвестная ошибка
Трассировки стека:
#0 /library/Zend/Soap/Client.php(1121): SoapClient->__soapCall('updateUser', Array, NULL, NULL, Array)
В моем классе updateDoc у меня есть стандартное обновление доктрины:
public function updateUser(){ $userEntity =
$this->em->getRepository("Application\Entities\Members")->findOneById(23); $userEntity->first_name = "обновленное имя";
$this->em->persist($userEntity); $this->em->flush(); }
Однако, если я позвоню своему getUser()
:
public function getUser()
{
$userEntity = $this->em->getRepository("Application\Entities\Members")->findOneById(23);
return $userEntity;
}
работает без мыла неизвестная ошибка..
с обновлением, если удалить $userEntity->first_name = "updated firstname";
он работает без каких-либо ошибок, но, очевидно, он не обновляет объект... этот объект также имеет частные свойства. не уверен, что это имеет значение
ОБНОВЛЕНИЕ: кроме того, я только что заметил, что если я обновляю объект с теми же значениями, что и его текущие, он работает... например. the lastname = 'alison' , я обновляю $entity->lastname = 'alison'... это работает, но если я изменяю его на другую фамилию, это не так... нет ошибки доктрины.... также, я можно изменить этот объект, используя ту же функцию в любом контроллере или модели в приложении.
Zend_Soap
, а с Doctrine2. Клиент SOAP выходит из строя, потому что сервер тоже выходит из строя! Вы должны найти ошибку Doctrine (и вставить ее сюда, если вам нужна помощь!) - person Florent   schedule 03.10.2012