У меня есть мыльная служба, которая доставляет мне неприятности клиентам. Один конкретный вызов API возвращает ошибку Неустранимая ошибка: Uncaught Исключение SoapFault: [HTTP] Ошибка при получении заголовков http
Я прочитал достаточно, чтобы увидеть, что иногда проблемы с соединением или временем выполнения заканчиваются, но я попытался продлить время выполнения до Луны, чтобы подтвердить, и это не работает.
1) Та же версия сервиса, две базы данных, одна работает, а другая — нет.
2) В базе данных клиентов принимает все остальные вызовы, кроме проблемного.
3) Может быть, проблема в структуре вызова и базы данных? Нет, отладьте приложение, и точка останова будет случайно или пропущена в зависимости от того, сколько времени потребуется, чтобы ошибка извлечения была сброшена.
Так что это не единственная точка отсчета в моей процедуре. Я видел в прошлых выпусках, где поврежденная БД потенциально может привести к скачку соединения с ней, но я не знаю, как я мог бы потенциально исследовать это.
Я попытался восстановить резервную копию БД с клиентов, так как восстановление иногда исправляет неприятные вещи, но не игра в кости. Есть предложения, на что посмотреть дальше?
Итак, я понял, что один из запросов к базе данных занимает слишком много времени и должен перепрыгнуть через соединение.
Для меня это не имеет смысла, потому что если я уложу время выполнения в миллион, весь вызов все равно никогда не закончится. Я все еще могу сделать это после запроса, а также отладки, прежде чем он падает. Так что с логической точки зрения я мог бы неправильно понимать порядок операций, перехват ошибок или то, как обрабатываются запросы службы и sql, но оптимизация одного из запросов SQL к мгновенно выполняемым перестала вызывать проблемы.
Других решений пока нет …