Selama beberapa hari terakhir, kepalaku terbentur server SOAP yang bodoh.
Di log kesalahan saya, saya mendapatkan pengecualian/tracelog yang terlihat seperti ini: "Pengecualian: (Widget, Tidak Ada, ), harus qref" -- (frasa kuncinya adalah "harus qref").
Pertama, saya mengetahui bahwa kami memiliki cache yang busuk. Jadi saya menonaktifkan caching, namun masalah terus berlanjut.
Kedua, saya menemukan bahwa itu sebenarnya kesalahan server karena gagal memberi saya WSDL yang tepat, secara acak; terutama saat menggunakan beberapa instance pekerja. Sekilas berita - kontak operator server saya mengonfirmasi kesalahan "server terlalu sibuk" di lognya. "Wunderbar!" Rupanya, server mengalihkan ke halaman HTTP 200 padahal seharusnya menyediakan HTTP 503.
Saya bertanya-tanya bagaimana caranya agar lebih anggun dalam menangani perilaku buruk yang luar biasa ini, dan ternyata saya menemukan solusi yang berguna dan cukup umum. Posting di sini untuk referensi di masa mendatang.