При настройке синхронизации мобильного приложения «1С:Заказы» с типовой конфигурацией «1С:Управление торговлей 11.4» технические специалисты часто сталкиваются со следующей проблемой. Публикация базы на веб-сервере (IIS или Apache) выполнена успешно, WSDL-описание веб-сервиса по адресу вида /ws/CustomerOrdersExchange?wsdl без проблем открывается на компьютере через любой браузер. Однако при попытке первичного подключения с мобильного устройства приложение выдает критические ошибки: «Превышено время ожидания» (Timeout) или «Connection reset».
В этой статье мы подробно разберем, почему возникают подобные сбои связи, проанализируем неочевидные сетевые нюансы и по шагам настроим всю цепочку взаимодействия между мобильным клиентом и базой 1С.
Проанализируем классическую ситуацию, описанную пользователями на практике. Сервер с опубликованной базой 1С имеет IP-адрес 192.169.0.230, а мобильный телефон, подключенный по корпоративному Wi-Fi, получает адрес 192.68.22.1. На первый взгляд оба устройства находятся внутри одной организации, но их IP-адреса принадлежат к абсолютно разным подсетям.
Рассмотрим, почему это критично:
Решение: Для устранения этой преграды переведите мобильное устройство в ту же физическую подсеть, где находится веб-сервер (первые три октета IP-адреса должны совпадать, например, оба устройства в подсети 192.168.1.x). Если это невозможно из соображений безопасности, обратитесь к системному администратору для настройки статической маршрутизации между подсетями на вашем сетевом оборудовании.
Даже если маршрутизация между подсетями настроена верно, вы все равно можете столкнуться с ошибкой сброса соединения. В современных операционных системах, таких как Windows 10 или Windows Server, встроенный защитник (Windows Defender Firewall) имеет одну жесткую особенность безопасности.
По умолчанию предустановленные правила для веб-служб (порты 80 и 443) разрешают входящие подключения исключительно из локальной подсети (Local Subnet). Любые запросы, приходящие со стороны других подсетей (например, с вашего мобильного телефона из сети 192.168.22.x), брандмауэр будет молча игнорировать или сбрасывать.
Разберем по шагам, как добавить правильное исключение вручную:
wf.msc в строке выполнения).80, 443 (или порты, на которых работает ваш Apache/IIS).Современные версии мобильных операционных систем (Android 9+ и iOS) предъявляют повышенные требования к безопасности передаваемых данных. По умолчанию они полностью блокируют незащищенный трафик (Cleartext HTTP traffic). Если вы пытаетесь подключить приложение «1С:Заказы» по адресу, начинающемуся с http://, операционная система телефона может принудительно разорвать соединение еще до отправки первого пакета. Это выглядит как мгновенная ошибка Connection reset или Connection refused.
Для решения этой проблемы мы рекомендуем:
https://.Первичный обмен мобильного приложения с базой 1С:УТ — это очень ресурсоемкая операция. В этот момент конфигурация подготавливает огромный массив информации: список номенклатуры с иерархией, контрагентов, актуальные цены, остатки на складах и договоры. Подготовка и передача такого объема данных может занимать от нескольких минут до получаса.
Стандартные настройки веб-серверов часто рассчитаны на быстрые транзакции и прерывают сессию по таймауту уже через 60 секунд. Выясним, как увеличить время ожидания.
Откройте конфигурационный файл httpd.conf в текстовом редакторе и найдите (или добавьте) следующие директивы, увеличив время ожидания соединения до 10–15 минут:
Timeout 900
KeepAliveOn
KeepAliveTimeout 900
В диспетчере служб IIS перейдите в настройки вашего сайта, выберите пункт «Пределы» (Limits) в правой панели управления и измените значение параметра «Таймаут подключения» (Connection Timeout) с дефолтных 120 секунд до 900 секунд.
Также на IIS необходимо увеличить максимальный размер передаваемого контента. В файле настроек web.config, расположенном в каталоге публикации базы, добавьте или отредактируйте секцию:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="104857600" />
</requestFiltering>
</security>
</system.webServer>
Этот параметр увеличивает лимит на размер одного пакета обмена до 100 Мегабайт.
Иногда веб-сервис опубликован корректно, но сама платформа 1С тратит слишком много времени на инициализацию каждого нового сеанса. Чтобы оптимизировать этот процесс и избежать таймаутов, настройте пул соединений в файле публикации default.vrd.
Откройте файл default.vrd в папке публикации и убедитесь, что веб-сервис обмена включен, а параметры повторного использования сеансов настроены оптимальным образом. Пример структуры файла:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/TradeBase"
ib="Srvr="Server1C";Ref="TradeBase";">
<ws enable="true" reuseSessions="autouse" sessionMaxAge="20" poolSize="10" poolTimeout="5">
<point name="CustomerOrdersExchange" alias="CustomerOrdersExchange.1cws" enable="true"/>
</ws>
</point>
Параметр reuseSessions="autouse" заставляет платформу повторно использовать уже созданные рабочие сеансы 1С для обслуживания запросов мобильных устройств, что сокращает время отклика в разы.
В завершение обязательно проверим настройки на стороне самой учетной системы 1С:
Последовательно применив описанные шаги — от проверки сетевой доступности устройств и настройки брандмауэра Windows до тонкой настройки веб-сервера и файла публикации — мы гарантированно избавимся от ошибок ожидания и обеспечим быструю и стабильную синхронизацию мобильного приложения «1С:Заказы».