Последние пару дней я бился головой о дурацкий SOAP-сервер.
В моих журналах ошибок я получал исключение/журнал трассировки, который выглядел так: «Исключение: (виджет, нет, ), должно быть qref» -- (ключевая фраза «должно быть qref»).
Сначала я разобрался, что у нас сгнил кеш. Поэтому я отключил кеширование, но проблемы остались.
Во-вторых, я понял, что на самом деле это вина сервера за то, что он случайно не предоставил мне правильный WSDL; особенно при использовании нескольких рабочих экземпляров. Новостная вспышка — мой контактный оператор сервера подтверждает ошибку «сервер слишком занят» в своих журналах. "Вандербар!" По-видимому, сервер перенаправляет на страницу HTTP 200, когда он должен был предоставить HTTP 503.
Мне было интересно, как быть более грациозным в обращении с этим удивительно плохим поведением, и я на самом деле придумал полезное, довольно общее решение. Публикация здесь для дальнейшего использования.