К статье
Практический материал

Администрирование · 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. 1
    Создайте веб-сервис и операции в конфигураторе, обновите конфигурацию БД
  2. 2
    Установите веб-сервер и модули расширения 1С той же разрядности
  3. 3
    Откройте «Администрирование» → «Публикация на веб-сервере», укажите имя и каталог
  4. 4
    Отметьте нужные веб-сервисы и нажмите «Опубликовать»
  5. 5
    Перезапустите веб-сервер и проверьте WSDL в браузере

Шаг 4. Проверка файла default.vrd

Файл default.vrd — центральный элемент публикации: он указывает платформе, к какой базе подключаться при обработке HTTP-запросов. Откройте его в текстовом редакторе и проверьте строку подключения: для клиент-серверного варианта там должны быть указаны сервер 1С и имя базы, для файлового — путь к каталогу базы.

Типичная структура включает элемент point с именем публикации и элемент ws с перечисленными сервисами. Если база требует аутентификации, учётные данные можно задать в строке подключения либо передавать при каждом обращении — второй вариант безопаснее, так как пароль не хранится в файле открытым текстом.

xml
<point name="MyBase" ib="Srvr=&quot;Server1C&quot;;Ref=&quot;TradeBase&quot;;">
  <ws pointEnableCommon="false">
    <point name="GoodsService" alias="ws1.1cws"/>
  </ws>
</point>

Шаг 5. Проверка работоспособности сервиса

Откройте в браузере адрес вида http://имя_сервера/имя_публикации/ws/ИмяСервиса?wsdl. Если всё настроено верно, браузер отобразит XML-описание сервиса. Запрос логина и пароля пользователя 1С — нормальное поведение: веб-сервис выполняется в контексте сеанса информационной базы.

Для полноценной проверки операций удобно использовать специализированные инструменты тестирования SOAP-сервисов: они загружают WSDL, формируют шаблон запроса и показывают ответ. Так вы отделите ошибки публикации от ошибок в коде операции: если WSDL отдаётся, а операция возвращает исключение — проблема в прикладном коде или правах пользователя внутри базы.

Контрольные точки

Как проверить результат

Открытие ?wsdl в браузере
Норма

Возвращается XML с описанием сервиса

Тревожный признак

Ошибка 404 — публикация не создана или неверный URL; ошибка 500 — проблема модуля расширения или default.vrd

Вызов тестовой операции
Норма

Возвращается осмысленный SOAP-ответ

Тревожный признак

SOAP-фолт с текстом исключения — ошибка в коде операции или недостаточно прав у пользователя

Журнал веб-сервера
Норма

Запросы фиксируются с кодом 200

Тревожный признак

Коды 401/403 — проблема аутентификации или прав на каталог

Права доступа и безопасность

Пользователь 1С, под которым выполняются вызовы веб-сервиса, должен иметь права на все объекты, затрагиваемые кодом операций: справочники, документы, регистры. Частая ситуация — сервис опубликован, WSDL доступен, но операция падает с ошибкой нарушения прав доступа. Решение — создать отдельного служебного пользователя с минимально необходимым набором прав.

Каталогу публикации и файлу default.vrd нужны права на чтение для учётной записи, под которой работает веб-сервер (для IIS — пул приложений, для Apache — служебная учётная запись). При этом не храните в default.vrd пароли в открытом виде, если каталог доступен посторонним.

Для доступа извне корпоративной сети используйте HTTPS: Basic-аутентификация 1С передаёт логин и пароль в закодированном, но легко раскрываемом виде, и без шифрования канала учётные данные можно перехватить.

Типичные ошибки
01
Публикация без перезапуска веб-сервера — изменения не применяются, сервис недоступен
02
Несовпадение разрядности Apache и модуля расширения — веб-сервер не стартует
03
Вызовы под пользователем без прав на объекты — операции падают с ошибкой доступа
04
Неверная строка подключения в default.vrd — ошибка 500 при любом обращении
05
Публикация по HTTP без шифрования при доступе из интернета — риск перехвата учётных данных

Частые вопросы

Чем веб-сервис отличается от 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 для внешнего доступа.