1c отладка веб-сервисов
Как включить\настроить отладку в 1С Предприятие через веб сервер (Apache и IIS).
Иногда необходимо отладить веб сервис\приложение либо саму конфигурацию 1С и не спасают логи и прочие варианты что бы проверить какие входные данные мы получаем с веб сервисов.
Для этого есть отладка 1С через веб сервис, и как ее правильно настроить в случае когда у нас каждый сервер отвечает за свою часть.
Т.е. есть веб-сервер который интерпретирует передачу данных от входящего потока, затем сервер 1С предприятия и другой сервер уже с непосредственно с БД, в нашем случае это будет (MS SQL).
Итак, исходя из того что у нас 3 сервера, начнем с сервера 1С, на нем делает следующее:
- запустить редактор реестра regedit
- открыть в нём раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\1C:Enterprise 8.3 Server Agent
- найти параметр ImagePath
- изменить его, добавив параметр –debug .
Например, было:
«C:\Program Files (x86)\1cv83\*[Ваша версия]\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files (x86)\1cv83\srvinfo»
стало:
«C:\Program Files (x86)\1cv83\*[Ваша версия]\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 –debug -d «C:\Program Files (x86)\1cv83\srvinfo»
- перезапустить службу 1C:Enterprise 8.3 Server Agent.
Теперь на сервере который у нас Веб сервер:
В файл default.vrd добавить строку <debug enable=”true” url=”tcp://localhost” />
Пример файла:
Например Ваш код 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="/Base" ib="File="D:\work\Base";">
<ws>
<point name="Files" alias="files.1cws" enable="false"/>
<point name="myservice" alias="myservice.1cws"/>
</ws>
<debug enable="true" url="tcp://localhost" />
</point>
Обратите внимание, что тут слушается TCP не http. и главное укажите вместо localhost Ваше имя сервера с 1С (либо IP) у меня сработало и так и так.
После этого Breakpoint в 1С должен останавливаться.