Настроена синхронизация через интернет подключение. Базы файловые через веб-сервер. Пользователи регулярно обращаются с жалобой на то, что при попытке синхронизации выдается ошибка "отсутствует доступ в сеть интернет"
В журнале видим: Не удалось проверить доступность web-сервиса (АдресБазы)/ws/Exchange_3_0_1_1?wsdl по причине: Ошибка работы с Интернет: Превышено время ожидания
При этом настроено все на вид правильно и при повторной синхронизации все нормально работает. Настроек синхронизации несколько и везде такое.
Причина оказалась:
Общий модуль "Общего назначения", функция "СоздатьWSПрокси". Написано следующее: Если ДелатьКонтрольныйВызов И Таймаут <> Неопределено И Таймаут > 20 Тогда ПараметрыПодключения.Таймаут = 7; WSПроксиPing = РегистрыСведений.КэшПрограммныхИнтерфейсов.ВнутренняяWSПрокси(ПараметрыПодключения); Попытка WSПроксиPing.Ping(); Исключение
%D0%95%D1%81%D0%BB%D0%B8%20%D0%94%D0%B5%D0%BB%D0%B0%D1%82%D1%8C%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%D0%92%D1%8B%D0%B7%D0%BE%D0%B2%20%D0%98%20%D0%A2%D0%B0%D0%B9%D0%BC%D0%B0%D1%83%D1%82%20%3C%3E%20%D0%9D%D0%B5%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BE%20%D0%98%20%D0%A2%D0%B0%D0%B9%D0%BC%D0%B0%D1%83%D1%82%20%3E%2020%20%D0%A2%D0%BE%D0%B3%D0%B4%D0%B0%0A%20%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F.%D0%A2%D0%B0%D0%B9%D0%BC%D0%B0%D1%83%D1%82%20%3D%207%3B%0A%20WS%D0%9F%D1%80%D0%BE%D0%BA%D1%81%D0%B8Ping%20%3D%20%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D1%8B%D0%A1%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B9.%D0%9A%D1%8D%D1%88%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D1%8B%D1%85%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%BE%D0%B2.%D0%92%D0%BD%D1%83%D1%82%D1%80%D0%B5%D0%BD%D0%BD%D1%8F%D1%8FWS%D0%9F%D1%80%D0%BE%D0%BA%D1%81%D0%B8%28%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%29%3B%0A%20%D0%9F%D0%BE%D0%BF%D1%8B%D1%82%D0%BA%D0%B0%0A%20WS%D0%9F%D1%80%D0%BE%D0%BA%D1%81%D0%B8Ping.Ping%28%29%3B%0A%20%D0%98%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5 То есть для проверки доступности таймаут - 7 секунд. Но если речь идет о файловой базе и современных конфигурациях типа бухгалтерии, УНФ, зарплаты, и ее еще нет в памяти веб сервера (первый запуск после загрузки компьютера, перезапуска службы веб-сервера и т.п.), то первый запуск это никак не 7 секунд.(За 7 секунд из текущих конфигураций разве что УТ 10.3 запустится). Конечно же возникает ошибка. Причем очень интересно сделано - если таймаут через параметры передан 19 секунд, так 19 и останется, а если передано 300 секунд, то будет 7.
Соответственно для избежания возникновения ошибки таймаут в этой процедуре надо увеличивать до разумного. Примечание: эта процедура ориентирована в т.ч. и на обычные веб-сервисы (не только публикации баз 1с, поэтому наиболее правильно делать это только для случая подключения к базе 1с. |