Администрирование · 10 мин
Как проверить веб-сервис 1С в браузере
Как проверить работу веб-сервиса 1С через браузер: публикация на веб-сервере, получение WSDL, проверка операций, типичные ошибки и способы их устранения.
Веб-сервис 1С позволяет внешним системам обращаться к информационной базе по протоколу SOAP и получать данные в формате XML. Прежде чем передавать адрес сервиса разработчикам сторонней системы, нужно убедиться, что он опубликован, доступен из сети и корректно отвечает на запросы. Самый быстрый способ такой проверки — обычный браузер, без установки дополнительных инструментов.
Проверка через браузер не заменяет полноценное тестирование операций, но позволяет за минуту ответить на главный вопрос: «жив ли сервис». Если браузер открывает страницу описания сервиса (WSDL), значит, публикация работает, веб-сервер принимает запросы, а 1С отвечает. Если вместо описания вы видите ошибку — текст ошибки подскажет, на каком этапе искать проблему.
Материал рассчитан на администраторов и разработчиков 1С, которые публикуют веб-сервисы на IIS или Apache и хотят быстро диагностировать типовые сбои: недоступность публикации, ошибки аутентификации, проблемы с правами и сертификатами.
Что нужно подготовить перед проверкой
Для проверки потребуются три вещи: адрес публикации информационной базы, имя веб-сервиса и учётная запись пользователя 1С с правом на использование этого сервиса. Адрес публикации совпадает с адресом, по которому база открывается в браузере через веб-клиент, например http://server/base1c. Имя веб-сервиса можно посмотреть в конфигураторе: в дереве конфигурации откройте ветку «Общие» → «Web-сервисы» и найдите нужный объект — адрес формируется по его имени, а не по синониму.
Убедитесь, что база действительно опубликована на веб-сервере. Публикация выполняется из конфигуратора: меню «Администрирование» → «Публикация на веб-сервере». В диалоге публикации на вкладке «Web-сервисы» должны быть отмечены нужные сервисы либо установлен флаг публикации всех веб-сервисов. Если сервис добавили в конфигурацию после публикации, публикацию нужно обновить — иначе сервер о нём просто не узнает.
Как открыть WSDL-описание сервиса в браузере
Основной способ проверки — запрос WSDL-описания. В адресной строке браузера введите URL по шаблону: http://сервер/ИмяПубликации/ws/ИмяСервиса?wsdl. Например, если база опубликована как trade, а сервис называется Exchange, адрес будет http://server/trade/ws/Exchange?wsdl. Регистр букв в имени сервиса имеет значение — копируйте его из конфигуратора точно.
После ввода адреса браузер запросит логин и пароль — это стандартная HTTP-аутентификация. Введите имя и пароль пользователя информационной базы. Если аутентификация настроена через операционную систему или сертификаты, поведение может отличаться, но для типовой публикации достаточно пары «логин/пароль» пользователя 1С.
Признак успеха — в окне браузера отображается XML-документ, начинающийся с тега definitions или wsdl:definitions. Внутри перечислены операции сервиса, типы данных и точка подключения. Это и есть контракт сервиса: его можно сохранить в файл и передать разработчику внешней системы.
- 1Откройте конфигуратор и убедитесь, что веб-сервис существует и опубликован
- 2Сформируйте URL по шаблону http://сервер/Публикация/ws/ИмяСервиса?wsdl
- 3Вставьте адрес в браузер и введите логин и пароль пользователя 1С
- 4Убедитесь, что открылся XML с описанием операций сервиса
- 5Сохраните WSDL в файл для передачи потребителю сервиса
Проверка сервиса без параметра wsdl
Если открыть адрес http://сервер/Публикация/ws/ИмяСервиса без параметра ?wsdl, поведение зависит от веб-сервера и настроек. Чаще всего вы получите ошибку, потому что сервис ожидает SOAP-запрос методом POST, а браузер при открытии адреса отправляет GET. Это нормально: отсутствие содержимого при GET-запросе не означает, что сервис сломан.
Полноценно вызвать операцию сервиса из адресной строки нельзя — SOAP требует тела запроса в формате XML. Для такой проверки используют инструменты вроде Postman, SoapUI или встроенную обработку тестирования, но первичная диагностика «публикуется ли сервис вообще» решается именно запросом WSDL в браузере.
Как расшифровать коды ошибок
Код ответа HTTP в браузере — главный диагностический инструмент. У каждой типовой ошибки есть конкретная причина и свой путь исправления.
| Код / признак | Вероятная причина | Что делать |
|---|---|---|
| 404 Not Found | Сервис не опубликован, неверное имя сервиса или публикации | Проверить имя в конфигураторе, обновить публикацию |
| 401 Unauthorized | Неверный логин/пароль или пользователь не существует | Проверить учётные данные, наличие пользователя в базе |
| 403 Forbidden | Нет права на использование веб-сервиса у пользователя | Выдать право в роли или настроить default.vrd |
| 500 Internal Server Error | Ошибка в коде модуля сервиса или недоступна база | Смотреть журнал регистрации и логи веб-сервера |
| Страница не открывается вовсе | Веб-сервер не запущен, закрыт порт, неверный адрес | Проверить IIS/Apache, файрвол, доступность хоста |
Отдельный случай — ответ 1С с текстом «Web-сервис не найден» или «Операция не найдена» в теле XML. Это означает, что веб-сервер и публикация работают, но конфигурация не содержит запрошенного объекта. Проверьте точное имя сервиса и не переименовывался ли он в последнем обновлении конфигурации.
Как выбрать действие
Проверка прав доступа и аутентификации
Даже работающий сервис может отвечать отказом, если у пользователя нет права на его использование. В конфигураторе откройте роль пользователя и проверьте, что для объекта «Web-сервис» установлено право «Использование». Дополнительно в файле публикации default.vrd может быть явно задан список доступных сервисов через элемент point — если список есть, а сервиса в нём нет, доступ будет закрыт.
Для интеграций рекомендуется заводить отдельного технического пользователя с минимально необходимыми правами: только на нужный веб-сервис и на те объекты данных, которые читает или изменяет его код. Так проще и безопаснее, чем публиковать сервис под административной учётной записью.
Проверка по HTTPS и типичные проблемы с сертификатами
Если публикация работает по HTTPS, браузер дополнительно проверяет сертификат сервера. Предупреждение «Подключение не защищено» при самоподписанном сертификате — ожидаемое поведение: для диагностики можно временно продолжить переход, но внешняя система при таком сертификате, скорее всего, откажется соединяться, если не отключить у неё проверку или не добавить сертификат в доверенные.
Если WSDL открывается по HTTP, но не открывается по HTTPS, проверьте привязку сертификата к сайту в IIS или конфигурацию виртуального хоста Apache, а также открыт ли порт 443 на файрволе. Смешанная схема, когда WSDL получен по HTTPS, а точка подключения внутри него указана с http-адресом, — частая причина сбоев у потребителей: исправляется настройкой публикации или перезаписью адреса в файле default.vrd.
Что делать, если WSDL открывается, но операции не работают
Доступность WSDL подтверждает только публикацию и аутентификацию, но не работоспособность кода операций. Если внешняя система получает WSDL, а при вызове операции приходит ошибка, откройте журнал регистрации в конфигураторе и отфильтруйте события по пользователю интеграции за время вызова — там будут тексты исключений из модуля веб-сервиса.
Для ручной проверки операции сформируйте SOAP-запрос и отправьте его методом POST на адрес сервиса. В Postman это делается выбором метода POST, заголовком Content-Type: text/xml и телом запроса с SOAP-конвертом. Ответ с тегом Fault укажет на ошибку выполнения, корректный XML с данными — на успешный вызов.
curl -u Пользователь:Пароль "http://server/base/ws/Exchange?wsdl" -o service.wsdl -vКоманда curl с ключом -v покажет коды ответа и заголовки, что полезно, когда браузер скрывает детали. Сохранённый файл service.wsdl можно сравнить с тем, что получает внешняя система.
FAQ
Можно ли проверить веб-сервис 1С без логина и пароля?
Нет, если анонимный доступ специально не настроен в файле default.vrd. По умолчанию каждый запрос к веб-сервису проходит аутентификацию пользователя информационной базы, и браузер обязательно запросит учётные данные.
Почему WSDL открывается, а внешняя система подключиться не может?
Частые причины: недостаточные права технического пользователя, адрес точки подключения внутри WSDL указывает на внутреннее имя сервера, недоступное извне, либо система-потребитель не доверяет сертификату HTTPS. Сверьте URL внутри WSDL и проверьте журнал регистрации.
Что означает ошибка «Операция не найдена» при вызове?
Публикация и сервис работают, но запрошенная операция отсутствует в описании сервиса. Проверьте имя операции в конфигураторе и убедитесь, что конфигурация базы обновлена после изменений в сервисе.
Нужно ли перезапускать веб-сервер после изменения веб-сервиса?
Обычно достаточно обновить публикацию из конфигуратора. Перезапуск IIS или Apache требуется редко — например, после смены настроек пула приложений или конфигурации самого веб-сервера.
Как проверить сервис, если база работает в файловом режиме?
Файловая база тоже публикуется на веб-сервере через конфигуратор, и проверка в браузере выполняется так же — по адресу публикации с параметром ?wsdl. Различие только в том, что обработкой запросов занимается веб-сервер совместно с модулем расширения 1С.
Что важно запомнить
Базовая проверка веб-сервиса 1С — запрос адреса http://сервер/Публикация/ws/ИмяСервиса?wsdl в браузере с логином пользователя базы. XML-описание в ответ означает, что сервис опубликован и доступен; коды 404, 401, 403 и 500 точно указывают этап, где искать неисправность. Для внешнего доступа обязательно используйте HTTPS и отдельного технического пользователя с минимальными правами.