2010-12-09 34 views
0

Je voudrais retourner un objet en utilisant Zend_Soap. Je veux aussi l'objet donné dans le fichier WSDL. Mais je ne peux pas faire travailler les deux ensemble. C'est l'un ou l'autre.Retour objet avec Zend_Soap

1. travail WSDL, mais objet non retour

Si dans le phpdoc de ma fonction sur le script serveur de savon, j'écris

@return Application_Model_Soap_Test 

Je peux le voir dans le fichier WSDL

<message name="getPostcodeOut"> 
    <part name="return" type="tns:Application_Model_Soap_Test"/> 
</message> 

mais quand je lance le script, il retourne une classe vide:

stdClass Object 
(
) 

2. Obtenez objet, mais mal WSDL

Si je change l'information phpdoc de la fonction serveur

@return mixed Application_Model_Soap_Test 

je reçois un objet de retour avec info:

stdClass Object 
(
    [name] => Fred 
    [age] => 40 
) 

mais le fichier WSDL est faux

<message name="getPostcodeOut"> 
    <part name="return" type="xsd:anyType"/> 
</message> 

Des idées? Merci.

Répondre

0

Avez-vous essayé de désactiver la mise en cache?

In PHP how can you clear a WSDL cache?

J'ai eu le même problème. Chaque demande que j'ai faite m'a renvoyé une classe de classe vide, même si le WSDL était correct. Après avoir désactivé la mise en cache, cela a bien fonctionné pour moi. Essaie.