Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau membre du Club
    Zend_Soap_AutoDiscover ne prends pas en compte les annotation phpdoc
    Bonjour,

    suite a un changement d'hébergeur, je dois migrer un vieux projet en ZF 1.10 depuis un serveur php 5.3.3 vers un nouveau serveur php 5.6.

    Ce projet contient un webservice soap et le wsdl est généré par la classe Zend_Soap_AutoDiscover et stocké dans un fichier de cache:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    if ( !file_exists($cacheFilename)) {
               $wsdlUri = 'http://'.$_SERVER['SERVER_NAME'].'/soap/'.$wsdlAction;
                $discover = new Zend_Soap_AutoDiscover(true, $wsdlUri);
                $discover->setClass($className);
                $discover->dump($cacheFilename);
    ...


    Sur le nouveau serveur les annotations qui servaient a définir le type des paramètres et des retour de fonctions ne sont pas pris en compte.

    Pour cette fonction:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    /**
    * 
    * @param string $site 
    * @param string $lang 
    * @param array  $params Tabeau des paramètres dynamiques
    * @return Array
    */
    public function request($site, $lang, $params)
    {
    ...
    }

    Sur l'ancien serveur, le wsdl prend en compte les annotations,
    sur le nouveau serveur, dans le fichier wsdl généré, tous les paramètres sont en "xsd:anyType" et le retour n'est pas défini.
    Si j'enlève les annotations le wsdl est exactement le même.


    Est-ce qu'il me manque une extension ?

  2. #2
    Nouveau membre du Club
    J'ai trouvé:
    c'est opcache qui enlevais les commentaires dont j'avais besoin pour générer le wsdl.

    Résolu, en passant l'option: opcache.save_comments à 1