2012-10-03 27 views
0

我做了一個肥皂客戶端和服務器,並添加了一個樣本類,它返回了方法找到的原則。 然而,當我將其更改爲持續或沖洗對象,錯誤:Zend SOAP與教條2.1問題FLush,Soap__未知錯誤

我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(); 
} 

當我做了電話,我得到:

Message: Unknown error

Stack trace:

#0 /library/Zend/Soap/Client.php(1121): SoapClient->__soapCall('updateUser', Array, NULL, NULL, Array) 

在我的updateDoc類中,我有一個標準的教條更新:

public function updateUser(){ $userEntity = 

$ this-> em-> getRepos itory( 「應用程序\實體\成員」) - > findOneById(23); $ userEntity-> first_name =「更新的名字」;
$ this-> em-> persist($ userEntity); $這 - > EM->沖洗(); }

但是,如果我把我的getUser()

public function getUser() 
{ 
    $userEntity = $this->em->getRepository("Application\Entities\Members")->findOneById(23); 
    return $userEntity; 
} 

它的作品,沒有肥皂未知錯誤..

與更新,如果刪除了$ userEntity-> FIRST_NAME = 「更新的名字」;

它的工作,沒有任何錯誤,但顯然,它不會更新實體... 該實體也具有私有屬性。不知道它是否有所作爲

更新: 另外,我剛纔已經注意到,如果我更新與當前值相同的值的實體,它的工作原理......例如, lastname ='alison',我更新$ entity-> lastname ='alison'...它的作品,但如果我改變它不同的姓氏它不.. ..沒有教條的錯誤....也,我可以使用相同的功能,在應用

+0

這任何控制器或模型改變這種實體與「Zend_Soap」沒有關係,但與Doctrine2相關。 SOAP客戶端因服務器出現故障而失敗!你必須找到Doctrine錯誤(如果你想得到一些幫助,可以把它粘貼到這裏) – Florent

+0

不,因爲這個稱爲'updateUsers'的函數在應用程序的任何控制器內都可以工作......但是當用肥皂調用它時,它不會...... –

+0

也,我剛纔已經注意到,如果我更新與當前的值相同的實體,它的工作原理...例如lastname ='alison',我更新$ entity-> lastname ='alison'...它的作品,但如果我改變它不同的姓氏它不.. ..沒有教條的錯誤....也,我可以改變這個實體使用任何控制器或模型中的應用程序相同的功能 –

回答

0

固定......如果用肥皂,世界上沒有會話,我的用戶需要的實體,因爲它記錄所有更新有效的會話..