Проблемы Zend SOAP с Doctrine 2.1 FLush, Soap__ неизвестная ошибка

я сделал мыльный клиент и сервер и добавил образец класса, который возвращает результаты поиска доктрин с помощью методов. однако, когда я изменяю это, чтобы сохранить или сбросить объекты, ошибка:

мой мыльный сервер: (мыльный контроллер)

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'... это работает, но если я изменяю его на другую фамилию, это не так... нет ошибки доктрины.... также, я можно изменить этот объект, используя ту же функцию в любом контроллере или модели в приложении.


person dean jase    schedule 03.10.2012    source источник
comment
Это связано не с Zend_Soap, а с Doctrine2. Клиент SOAP выходит из строя, потому что сервер тоже выходит из строя! Вы должны найти ошибку Doctrine (и вставить ее сюда, если вам нужна помощь!)   -  person Florent    schedule 03.10.2012
comment
Нет, потому что эта функция под названием «updateUsers» работает с любым контроллером в приложении... но при вызове из мыла она не работает...   -  person dean jase    schedule 03.10.2012
comment
Кроме того, я только что заметил, что если я обновляю объект с теми же значениями, что и его текущие, он работает... например. the lastname = 'alison' , я обновляю $entity-›lastname = 'alison'... это работает, но если я изменю его на другую фамилию, это не сработает... нет ошибки доктрины.... также, я можно изменить этот объект, используя ту же функцию в любом контроллере или модели в приложении.   -  person dean jase    schedule 03.10.2012
comment
у меня есть это, я только что узнал... Предупреждение PHP: spl_object_hash() ожидает, что параметр 1 будет объектом, логическим значением, заданным в /private/library/Doctrine/ORM/UnitOfWork.php в строке 2459, и Предупреждение PHP: get_class() ожидает параметр 1 должен быть объектом, логическим значением, заданным в /private/library/Doctrine/ORM/UnitOfWork.php в строке 2459.   -  person dean jase    schedule 03.10.2012


Ответы (1)


исправлено... если используется мыло, сеанса нет, моему пользовательскому объекту нужен действительный сеанс, потому что он регистрирует все обновления..

person dean jase    schedule 03.10.2012