Администрирование · 9 мин
Как установить веб-сервис 1С: подробное руководство
Как установить веб-сервис 1С: публикация через Apache и IIS, настройка default.vrd, права доступа, проверка работы и решение типичных ошибок.
Веб-сервис в 1С позволяет внешним системам — сайтам, мобильным приложениям, другим учётным базам — обращаться к данным и функциям информационной базы по протоколу HTTP. Установка такого сервиса сводится к двум задачам: описать сам веб-сервис в конфигураторе и опубликовать информационную базу на веб-сервере (Apache или IIS), чтобы снаружи был доступен WSDL-описание и точка вызова операций.
Ошибки на этом пути обычно связаны не с кодом сервиса, а с инфраструктурой: не установлены модули расширения веб-сервера, не хватает прав у папки публикации, неверно указан путь к базе в файле default.vrd. Ниже разобран полный цикл — от подготовки компонентов до проверки работоспособности и типичных сбоев.
Инструкция ориентирована на клиент-серверный и файловый варианты работы 1С:Предприятие 8.3. Команды и пути приведены для типовых установок; в вашей среде имена каталогов могут отличаться — сверяйтесь с фактическим расположением платформы.
Что потребуется перед началом работы
Для публикации веб-сервиса необходимы три компонента: установленная платформа 1С:Предприятие, веб-сервер и модуль расширения веб-сервера из комплекта поставки 1С. Без модуля расширения веб-сервер не сможет передавать запросы в платформу, и публикация работать не будет.
Учётная запись, из-под которой выполняется установка, должна обладать правами администратора на сервере: потребуется устанавливать программные компоненты, править конфигурацию веб-сервера и перезапускать его службы. Также заранее определите, какой веб-сервер будете использовать — Apache 2.2/2.4 или IIS. Для Windows-среды чаще выбирают IIS, для Linux — Apache.
Шаг 1. Создание веб-сервиса в конфигураторе
Откройте конфигуратор, в дереве конфигурации найдите ветку «Общие» → «Web-сервисы» и добавьте новый объект. Задайте имя сервиса, пространство имён (обычно используют формат вида http://example.org/имя_сервиса) и имя файла публикации — по умолчанию оно формируется автоматически.
В свойствах сервиса создайте операции, а внутри каждой операции — параметры. Для каждой операции платформа предложит создать одноимённую функцию в модуле сервиса. Именно в этом модуле пишется прикладной код: чтение данных из базы, создание документов, возврат результата вызывающей системе.
После написания кода обновите конфигурацию базы данных (F7). Без обновления сервис существует только в конфигурации разработчика и не будет доступен при публикации.
Шаг 2. Установка веб-сервера и модуля расширения 1С
Вариант с IIS на Windows
Установите IIS через «Компоненты Windows»: понадобятся службы «Веб-сервер (IIS)», включая CGI и ISAPI-расширения. Затем при установке или изменении комплекта платформы 1С отметьте компонент «Модули расширения веб-сервера». Если платформа уже установлена без этого компонента, запустите установщик повторно в режиме изменения.
Вариант с Apache
Скачайте Apache поддерживаемой версии (для 32-битного модуля расширения — 32-битный Apache, для 64-битного — соответственно). Модуль расширения 1С поставляется в составе платформы и подключается директивой LoadModule в файле httpd.conf, однако проще всего выполнить публикацию штатным диалогом конфигуратора — он сам внесёт нужные строки в конфигурацию Apache.
Шаг 3. Публикация информационной базы
В конфигураторе откройте меню «Администрирование» → «Публикация на веб-сервере». Укажите имя публикации (латиницей, без пробелов — оно станет частью URL), тип веб-сервера и каталог, в котором будет размещён файл default.vrd. Для IIS дополнительно выберите сайт и приложение.
На вкладке «Web-сервисы» отметьте флажками сервисы, которые нужно опубликовать. Обратите внимание: флажок «Публиковать Web-сервисы по умолчанию» влияет на доступность сервисов, не перечисленных явно. После нажатия «Опубликовать» платформа создаст или обновит файл default.vrd и настройки веб-сервера.
После публикации перезапустите веб-сервер: для IIS — командой iisreset, для Apache — перезапуском службы. Без перезапуска изменения конфигурации могут не примениться.
- 1Создайте веб-сервис и операции в конфигураторе, обновите конфигурацию БД
- 2Установите веб-сервер и модули расширения 1С той же разрядности
- 3Откройте «Администрирование» → «Публикация на веб-сервере», укажите имя и каталог
- 4Отметьте нужные веб-сервисы и нажмите «Опубликовать»
- 5Перезапустите веб-сервер и проверьте WSDL в браузере
Шаг 4. Проверка файла default.vrd
Файл default.vrd — центральный элемент публикации: он указывает платформе, к какой базе подключаться при обработке HTTP-запросов. Откройте его в текстовом редакторе и проверьте строку подключения: для клиент-серверного варианта там должны быть указаны сервер 1С и имя базы, для файлового — путь к каталогу базы.
Типичная структура включает элемент point с именем публикации и элемент ws с перечисленными сервисами. Если база требует аутентификации, учётные данные можно задать в строке подключения либо передавать при каждом обращении — второй вариант безопаснее, так как пароль не хранится в файле открытым текстом.
<point name="MyBase" ib="Srvr="Server1C";Ref="TradeBase";">
<ws pointEnableCommon="false">
<point name="GoodsService" alias="ws1.1cws"/>
</ws>
</point>Шаг 5. Проверка работоспособности сервиса
Откройте в браузере адрес вида http://имя_сервера/имя_публикации/ws/ИмяСервиса?wsdl. Если всё настроено верно, браузер отобразит XML-описание сервиса. Запрос логина и пароля пользователя 1С — нормальное поведение: веб-сервис выполняется в контексте сеанса информационной базы.
Для полноценной проверки операций удобно использовать специализированные инструменты тестирования SOAP-сервисов: они загружают WSDL, формируют шаблон запроса и показывают ответ. Так вы отделите ошибки публикации от ошибок в коде операции: если WSDL отдаётся, а операция возвращает исключение — проблема в прикладном коде или правах пользователя внутри базы.
Как проверить результат
Возвращается XML с описанием сервиса
Ошибка 404 — публикация не создана или неверный URL; ошибка 500 — проблема модуля расширения или default.vrd
Возвращается осмысленный SOAP-ответ
SOAP-фолт с текстом исключения — ошибка в коде операции или недостаточно прав у пользователя
Запросы фиксируются с кодом 200
Коды 401/403 — проблема аутентификации или прав на каталог
Права доступа и безопасность
Пользователь 1С, под которым выполняются вызовы веб-сервиса, должен иметь права на все объекты, затрагиваемые кодом операций: справочники, документы, регистры. Частая ситуация — сервис опубликован, WSDL доступен, но операция падает с ошибкой нарушения прав доступа. Решение — создать отдельного служебного пользователя с минимально необходимым набором прав.
Каталогу публикации и файлу default.vrd нужны права на чтение для учётной записи, под которой работает веб-сервер (для IIS — пул приложений, для Apache — служебная учётная запись). При этом не храните в default.vrd пароли в открытом виде, если каталог доступен посторонним.
Для доступа извне корпоративной сети используйте HTTPS: Basic-аутентификация 1С передаёт логин и пароль в закодированном, но легко раскрываемом виде, и без шифрования канала учётные данные можно перехватить.
Частые вопросы
Чем веб-сервис отличается от HTTP-сервиса в 1С?
Веб-сервис работает по стандарту SOAP с автоматической публикацией WSDL-описания и строгой типизацией операций. HTTP-сервис даёт свободную обработку произвольных HTTP-запросов (GET, POST и других) и подходит для REST-подобных интеграций, но требует вручную формировать и разбирать тела запросов.
Можно ли опубликовать веб-сервис без установки веб-сервера?
Нет, для доступа извне веб-сервер обязателен — именно он принимает HTTP-запросы и передаёт их платформе через модуль расширения. Альтернатива — использование готовой публикации в облачном сервисе 1С:Фреш, если база размещена там.
Почему браузер показывает ошибку 404 при запросе WSDL?
Чаще всего неверно составлен URL (проверьте имя публикации и имя сервиса с учётом регистра), публикация не выполнена или веб-сервер не был перезапущен после неё. Также проверьте, что в default.vrd присутствует секция ws с нужным сервисом.
Как изменить опубликованный сервис после доработки?
Измените код или состав операций в конфигураторе, обновите конфигурацию базы данных и выполните публикацию повторно, чтобы обновился default.vrd. Если менялся только код операций без изменения состава сервисов, достаточно обновления конфигурации БД.
Нужна ли отдельная лицензия 1С для веб-сервиса?
Сеансы, открываемые при вызове веб-сервисов, расходуют клиентские лицензии на общих основаниях. При большом числе одновременных обращений учитывайте это при расчёте необходимого количества лицензий.
Что важно запомнить
Установка веб-сервиса 1С — это создание объекта в конфигураторе, установка веб-сервера с модулем расширения той же разрядности, публикация базы и проверка WSDL в браузере. Ключевые точки контроля: файл default.vrd, права служебного пользователя, перезапуск веб-сервера и HTTPS для внешнего доступа.