Por meio de php_info()
onde o cache WSDL é mantido ( /tmp
), mas não necessariamente sei se é seguro excluir todos os arquivos que começam com WSDL.
Sim, devo conseguir excluir tudo de /tmp
, mas não sei o que mais isso poderia afetar se eu excluir todos os arquivos WSDL.
ini_set('soap.wsdl_cache_ttl', 1);
e a deixei parada por uma hora - encontrada aqui: stackoverflow.com/questions/323561/…Remova todos os
wsdl*
arquivos em sua/tmp
pasta no servidor.Os arquivos WSDL são armazenados em cache em seu local padrão para todos os arquivos de cache definidos no php.ini. Mesmo local dos arquivos da sessão.
fonte
se você já implantou o código ou não pode alterar nenhuma configuração, pode remover todos os arquivos temporários do wsdl:
fonte
Eu recomendo usar um inibidor de cache no url wsdl.
Em nossos aplicativos, usamos um ID de revisão SVN no url wsdl para que o cliente saiba imediatamente sobre a alteração de estruturas. Isso funciona em nosso aplicativo porque, toda vez que mudamos o lado do servidor, também precisamos ajustar o cliente de acordo.
Isso requer que o svn seja configurado corretamente. Nem em todos os repositórios, isso é habilitado por padrão.
Caso você não seja responsável por ambos os componentes (servidor, cliente) ou não use o SVN, você pode encontrar outro indicador que pode ser utilizado como um buster de cache em seu url wsdl.
fonte
Apenas por motivo de documentação:
Eu agora (2014) observei que de todas essas abordagens valiosas e corretas, apenas uma foi bem-sucedida. Eu adicionei uma função ao WSDL no servidor e o cliente não estava reconhecendo a nova função.
WSDL_CACHE_NONE
aos parâmetros não ajudou.soap.wsdl_cache_enabled
para o ini PHP ajudou.Não tenho certeza se é a combinação de todos os três, ou se alguns recursos estão terrivelmente implementados de forma que possam permanecer inúteis aleatoriamente, ou se há alguma hierarquia de recursos não compreendida.
Por fim, espere que você tenha que verificar todos os três para resolver problemas como esses.
fonte
Edite seu
php.ini
arquivo, pesquisesoap.wsdl_cache_enabled
e defina o valor para0
fonte