À travers php_info()
où se trouve le cache WSDL ( /tmp
), mais je ne sais pas nécessairement s'il est sûr de supprimer tous les fichiers commençant par WSDL.
Oui, je devrais pouvoir tout supprimer /tmp
, mais je ne sais pas ce que cela pourrait avoir d'autre si je supprimais tous les fichiers WSDL.
ini_set('soap.wsdl_cache_ttl', 1);
et que je le laisse reposer pendant une heure - trouvé ici: stackoverflow.com/questions/323561/…Supprimez tous les
wsdl*
fichiers de votre/tmp
dossier sur le serveur.Les fichiers WSDL sont mis en cache dans votre emplacement par défaut pour tous les fichiers de cache définis dans php.ini. Même emplacement que vos fichiers de session.
la source
si vous avez déjà déployé le code ou que vous ne pouvez modifier aucune configuration, vous pouvez supprimer tous les fichiers temporaires de wsdl:
la source
Je recommande d'utiliser un cache-buster dans l'url wsdl.
Dans nos applications, nous utilisons un identifiant de révision SVN dans l'url wsdl afin que le client soit immédiatement informé des changements de structures. Cela fonctionne sur notre application car, chaque fois que nous changeons le côté serveur, nous devons également ajuster le client en conséquence.
Cela nécessite que svn soit configuré correctement. Ce n'est pas activé par défaut sur tous les référentiels.
Dans le cas où vous n'êtes pas responsable des deux composants (serveur, client) ou si vous n'utilisez pas SVN, vous pouvez trouver un autre indicateur qui peut être utilisé comme cache-buster dans votre URL wsdl.
la source
Juste pour des raisons de documentation:
J'ai maintenant (2014) observé que de toutes ces approches valables et correctes, une seule a réussi. J'ai ajouté une fonction au WSDL sur le serveur et le client ne reconnaissait pas la nouvelle fonction.
WSDL_CACHE_NONE
des paramètres n'a pas aidé.soap.wsdl_cache_enabled
de l'ini PHP a aidé.Je ne sais maintenant pas s'il s'agit de la combinaison des trois, ou si certaines fonctionnalités sont terriblement implémentées de sorte qu'elles peuvent rester inutiles au hasard, ou s'il existe une hiérarchie de fonctionnalités non comprises.
Alors enfin, attendez-vous à ce que vous deviez cocher les trois pour résoudre de tels problèmes.
la source
Modifiez votre
php.ini
fichier, recherchezsoap.wsdl_cache_enabled
et définissez la valeur sur0
la source