Администрирование · 9 мин
Как узнать адрес веб-сервиса 1С
Где найти URL веб-сервиса 1С: в конфигураторе, в файле публикации default.vrd, в настройках IIS и Apache. Проверка WSDL и типичные ошибки.
Адрес веб-сервиса 1С нужен в трёх типовых ситуациях: при настройке обмена между базами, при подключении внешнего приложения к опубликованному сервису и при диагностике ошибки «сервис недоступен». Во всех случаях URL складывается из трёх частей: адреса веб-сервера, имени публикации базы и имени самого сервиса, заданного в конфигурации.
Главная сложность в том, что единого места, где 1С «показывает» готовый адрес, нет: конфигуратор хранит имя сервиса, веб-сервер — имя публикации, а итоговый URL существует только как комбинация этих данных. Поэтому адрес либо собирают по частям, либо извлекают из файлов публикации и настроек веб-сервера.
Ниже разобраны все рабочие способы: через конфигуратор, через файл default.vrd, через консоли IIS и Apache, а также проверка адреса через браузер и отладку. Материал подходит для 1С:Предприятие 8.3, опубликованного на IIS или Apache.
Из каких частей состоит адрес веб-сервиса 1С
Типовой URL веб-сервиса выглядит так: http://server/base/ws/ServiceName. Здесь server — имя или IP-адрес компьютера с веб-сервером, base — виртуальный каталог публикации информационной базы, ws — служебный префикс, по которому 1С отличает обращение к веб-сервисам от обращения к HTTP-сервисам (hs) и к тонкому клиенту.
Если сервис опубликован с указанием пространства имён, для вызова методов потребуется ещё и оно, но для проверки доступности достаточно базового URL. Для защищённого соединения протокол меняется на https, а к адресу может добавиться нестандартный порт, например :8443.
Как найти имя сервиса в конфигураторе
Откройте конфигуратор под пользователем с правами администратора и разверните дерево конфигурации: Общие → Web-сервисы. В списке будут все веб-сервисы, определённые в конфигурации. Имя объекта в дереве — это и есть та часть URL, которая идёт после /ws/.
Откройте свойства нужного сервиса. На закладке «Прочее» указано пространство имён (например, http://company.ru/erp) и имя файла публикации. Пространство имён не входит в URL, но обязательно для корректного вызова операций: внешняя система указывает его в SOAP-запросе.
Обратите внимание: имя в дереве конфигурации и имя, под которым сервис виден снаружи, могут различаться, если при публикации использовался нестандартный файл настроек. В типовых конфигурациях имена совпадают, но в доработанных решениях стоит свериться с файлом публикации.
Как узнать имя публикации через default.vrd
При публикации базы на веб-сервере 1С создаёт файл default.vrd в каталоге публикации. Именно этот файл описывает, какие сервисы доступны и под какими именами. Путь к каталогу зависит от веб-сервера: для IIS это обычно подкаталог в C:\inetpub\wwwroot\, для Apache — каталог, указанный в директиве публикации.
Откройте default.vrd любым текстовым редактором. Строка вида <ws pointEnableCommon="true"> с вложенными элементами <point name="ИмяСервиса" ...> показывает список опубликованных веб-сервисов. Атрибут name — это имя точки подключения, которое подставляется в URL после /ws/.
Имя самой публикации (часть URL между сервером и /ws/) совпадает с именем каталога, в котором лежит default.vrd. Например, если файл находится в C:\inetpub\wwwroot\trade\default.vrd, то адрес сервиса начинается с http://server/trade/ws/.
<?xml version="1.0" encoding="UTF-8"?>
<point name="trade" xmlns="http://v8.1c.ru/8.3/virtual-resource-system">
<ws pointEnableCommon="true">
<point name="Exchange" alias="ws/Exchange"/>
</ws>
</point>Как посмотреть публикацию в IIS и Apache
Просмотр в диспетчере служб IIS
Откройте «Диспетчер служб IIS» (команда inetmgr). В дереве слева разверните узел сервера → «Сайты» → нужный сайт. Каждое приложение или виртуальный каталог внутри сайта — это отдельная публикация 1С. Имя узла в дереве и есть имя публикации в URL.
Выделив приложение, проверьте через пункт «Основные параметры» физический путь — там должен лежать default.vrd. Через «Проверка подлинности» убедитесь, какие методы аутентификации включены: от этого зависит, запросит ли сервис логин и пароль при обращении.
Просмотр в конфигурации Apache
Для Apache публикации описаны в файле httpd.conf. Найдите блоки <Directory> и директивы Alias, добавленные мастером публикации 1С. Строка вида Alias "/trade" "C:/pub/trade/" означает, что база доступна по адресу http://server/trade/, а веб-сервисы — по http://server/trade/ws/ИмяСервиса.
Если публикаций несколько, каждая будет иметь свой Alias и свой каталог с default.vrd. После любых правок httpd.conf требуется перезапуск службы Apache, иначе изменения не применятся.
Как проверить адрес через браузер
Самый быстрый способ убедиться, что адрес собран правильно, — открыть в браузере URL с суффиксом ?wsdl: http://server/trade/ws/Exchange?wsdl. Если всё настроено корректно, сервер вернёт XML-документ с описанием сервиса. Браузер может запросить логин и пароль пользователя 1С — это нормально при включённой аутентификации.
Ошибка 404 означает, что неверно имя публикации или имя сервиса. Ошибка 500 чаще указывает на проблему внутри 1С: сервис не опубликован в default.vrd, база недоступна или у пользователя нет прав. Пустая страница без ?wsdl — ожидаемое поведение: без этого параметра сервис ждёт SOAP-запрос, а не обычный GET.
Как проверить результат
Возвращается XML с описанием сервиса
Ошибка 404 — проверьте имя публикации и сервиса
Ошибка о неверном запросе или пустой ответ
404 или перенаправление на страницу входа
Браузер запрашивает логин и пароль 1С
Доступ без запроса при закрытой базе — риск безопасности
Как узнать адрес программно и при отладке
Если веб-сервис вызывается из другой базы 1С, адрес часто зашит в настройках обмена или в константах. Проверьте функциональность «Настройки обмена данными», параметры WS-ссылок (Общие → WS-ссылки в конфигураторе) и константы, связанные с интеграцией. WS-ссылка хранит URL источника WSDL — это и есть искомый адрес с суффиксом ?wsdl.
При отладке внешнего подключения полезно посмотреть фактические обращения через журнал веб-сервера: логи IIS лежат в C:\inetpub\logs\LogFiles\, логи Apache — в каталоге, заданном директивой ErrorLog/CustomLog. По строкам запросов видно, по какому URL реально обращается клиент и какой код ответа получает.
Ограничения и меры безопасности
Веб-сервис, доступный без аутентификации, — прямой канал утечки данных из базы. Убедитесь, что в настройках веб-сервера включена проверка подлинности, а в 1С создан отдельный пользователь с минимально необходимыми правами только на вызываемые операции. Не используйте для интеграций учётную запись администратора.
Для доступа извне локальной сети применяйте HTTPS: логин и пароль в SOAP-запросах передаются в открытом виде и легко перехватываются в незашифрованном канале. Ограничьте доступ к публикации по IP-адресам средствами веб-сервера, если круг потребителей сервиса известен заранее.
Что важно запомнить
Адрес веб-сервиса 1С собирается из трёх частей: сервер + имя публикации + /ws/ИмяСервиса. Имя сервиса смотрят в конфигураторе, имя публикации — в default.vrd или в консоли веб-сервера, а корректность адреса проверяют запросом с ?wsdl в браузере.
Частые вопросы
Можно ли узнать адрес веб-сервиса, не имея доступа к серверу?
Частично. Имя сервиса видно в конфигураторе, а имя публикации часто совпадает с адресом, по которому пользователи открывают базу через браузер. Если веб-клиент работает по адресу http://server/trade, веб-сервисы обычно доступны по http://server/trade/ws/ИмяСервиса. Точный список опубликованных сервисов без доступа к default.vrd получить нельзя.
Почему ?wsdl возвращает ошибку, хотя сервис есть в конфигураторе?
Наличие объекта в конфигурации не означает его публикацию. Откройте диалог «Публикация на веб-сервере» и проверьте, что на закладке «Web-сервисы» нужный сервис отмечен флажком, затем выполните публикацию заново. Также убедитесь, что после изменения конфигурации выполнено обновление конфигурации базы данных.
Чем отличается адрес веб-сервиса от адреса HTTP-сервиса?
Веб-сервисы работают по протоколу SOAP и доступны по префиксу /ws/, HTTP-сервисы обрабатывают произвольные REST-подобные запросы и доступны по /hs/ с шаблоном URL, заданным в свойствах HTTP-сервиса. Это разные механизмы, и подставлять один адрес вместо другого нельзя.
Как узнать адрес, если база опубликована на сервере 1С:Фреш или в облаке?
В облачных сервисах адрес публикации выдаёт оператор сервиса, и прямого доступа к default.vrd и настройкам веб-сервера у пользователя нет. Адрес веб-сервиса уточняйте в личном кабинете сервиса или в документации оператора; имя сервиса по-прежнему видно в конфигураторе.
Нужен ли отдельный порт для веб-сервиса?
Нет. Веб-сервисы используют тот же порт, что и вся публикация базы: 80 для HTTP, 443 для HTTPS либо нестандартный порт, указанный в настройках сайта IIS или Apache. Достаточно, чтобы этот порт был открыт в брандмауэре между клиентом и сервером.