Di php_info()
mana cache WSDL disimpan ( /tmp
), tetapi saya tidak selalu tahu apakah aman untuk menghapus semua file yang dimulai dengan WSDL.
Ya, saya seharusnya bisa menghapus semuanya dari /tmp
, tapi saya tidak tahu apa lagi efeknya jika saya menghapus semua file WSDL.
ini_set('soap.wsdl_cache_ttl', 1);
dan membiarkannya selama satu jam - ditemukan di sini: stackoverflow.com/questions/323561/…Hapus semua
wsdl*
file di/tmp
folder Anda di server.File WSDL di-cache di lokasi default Anda untuk semua file cache yang ditentukan di php.ini. Lokasi yang sama dengan file sesi Anda.
sumber
jika Anda sudah menerapkan kode atau tidak dapat mengubah konfigurasi apa pun, Anda dapat menghapus semua file sementara dari wsdl:
sumber
Saya merekomendasikan menggunakan cache-buster di url wsdl.
Di aplikasi kami, kami menggunakan ID Revisi SVN di url wsdl sehingga klien segera mengetahui perubahan struktur. Ini berfungsi di aplikasi kami karena, setiap kali kami mengubah sisi server, kami juga perlu menyesuaikan klien.
$client = new SoapClient('http://somewhere.com/?wsdl&rev=$Revision$');
Ini membutuhkan svn untuk dikonfigurasi dengan benar. Tidak di semua repositori, ini diaktifkan secara default.
Jika Anda tidak bertanggung jawab atas kedua komponen (server, klien) atau Anda tidak menggunakan SVN, Anda dapat menemukan indikator lain yang dapat digunakan sebagai perusak cache di url wsdl Anda.
sumber
Hanya karena alasan dokumentasi:
Saya sekarang (2014) mengamati bahwa dari semua pendekatan yang berharga dan benar ini hanya satu yang berhasil. Saya telah menambahkan fungsi ke WSDL di server, dan klien tidak mengenali fungsi baru tersebut.
WSDL_CACHE_NONE
ke parameter tidak membantu.soap.wsdl_cache_enabled
ke PHP ini membantu.Saya sekarang tidak yakin apakah ini adalah kombinasi dari ketiganya, atau jika beberapa fitur diterapkan dengan buruk sehingga mereka mungkin tetap tidak berguna secara acak, atau jika ada beberapa hierarki fitur yang tidak dipahami.
Jadi akhirnya, harap Anda harus memeriksa ketiganya untuk menyelesaikan masalah seperti ini.
sumber
Edit
php.ini
file Anda , carisoap.wsdl_cache_enabled
dan setel nilainya menjadi0
[soap] ; Enables or disables WSDL caching feature. ; http://php.net/soap.wsdl-cache-enabled soap.wsdl_cache_enabled=0
sumber