Всем привет, проблема такая:
Создали http сервис, метод POST, обращаемся к нему -
ХТТП = Новый HTTPСоединение(АдресСервера,Порт, Логин, Пароль,,,ЗащищенноеСоединениеOpenSSL,);
ХТТПЗапрос = Новый HTTPЗапрос(ИмяБазы + "/hs/" + URLСсылка);
ДанныеОтправки = ПолучитьДанныеОтправки();
ЗапросОтправки = СформироватьСтрокуJSON(ДанныеОтправки);
ХТТПЗапрос.УстановитьТелоИзСтроки(ЗапросОтправки);
HTTPОтвет = ХТТП.ОтправитьДляОбработки(ХТТПЗапрос);
Ответ = Новый Структура("Код, Заголовки, Текст", HTTPОтвет.КодСостояния, HTTPОтвет.Заголовки, HTTPОтвет.ПолучитьТелоКакСтроку());
Показать
База серверная
На сервере отладка включена,
http сервис опубликован,
автоматическое подключение к HTTP-сервисам на сервере - галка стоит
Приходит ответ, но отладки нет.
В адрес отладчика писал и рабочий компьютер, и локал хост, запускал напрямую с сервера - тщетно.
В предметах отладки виден http сервис, но перехода в модуль http сервиса не происходит.
(1) А если замер производительности включить в отладчике и глянуть, какие процедуры вызываются? Может банально обработчик в 1Ске другой используется и не туда точку останова ставите?
(1)
в windows для отладки нужно у службы в конце на писать -debug
например
"C:\Program Files\1cv8\8.3.12.1529\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
(14)
Для Linux:
/etc/sysconfig/srv1cv83
Добавляем (раскомментируем) строку:
SRV1CV8_DEBUG=1
источник и ещё
ссылка
нажми, чтобы увидеть код
Если в отладочный режим необходимо перевести сервер «1С:Предприятия» работающего в режиме «демона» в ОС Centos 7, то необходимо выполнить следующие операции:
1. Остановить сервер «1С:Предприятия».
systemctl stop srv1cv83.service
2. В конфигурационном файле /etc/sysconfig/srv1cv83 установить значение параметра SRV1CV8_DEBUG в значение 1.
SRV1CV8_DEBUG=1
3. Сохранить конфигурационный файл.
4. Запустить сервер «1С:Предприятия».
systemctl start srv1cv83.service
Возможная проблема:
Если после изменения настроек и перезапуска сервера «1С:Предприятия» изменений не произошло, т.е. отладка не включилась, то надо проверить наличие в строке запуска параметра “-debug”. Например, посредством ввода команды:
ps faux | grep 1C
Если в строках вывода этой команды нет параметра “-debug”, то отладка не включена.
Также стоит обратить внимание на время старта процессов сервера «1С:Предприятия». Если время старта процессов отличается от времени, когда была введена команда “systemctl start srv1cv83.service”, то это значит что данные процессы не управляются посредством systemd.
Решение:
1. Остановить сервер «1С:Предприятия».
systemctl stop srv1cv83.service
2. Получить список процессов сервера «1С:Предприятия».
ps faux | grep 1C
3. Завершить все процессы сервера «1С:Предприятия».
kill -9 <PID процесса>
4. Запустить сервер «1С:Предприятия».
systemctl start srv1cv83.service
5. Проверить наличие параметра “-debug” в процессах сервера «1С:Предприятия».
ps faux | grep 1C
В общем прошло 3 дня, когда я последний раз прикасался к настройкам сервера. 18.10 Отладка не запускалась, сегодня неожиданно заработала. Настройки не менял, Системный администратор сказал, что не службу сервера 1с не сам сервер не перезагружал
Настройки теже остались:
Адрес отладчика: tcp://localhost
В публикации стоят галки Публиковать по умолчанию и у моего сервиса.
По скринам, которые выкладывал было видно что сервис подымается в отладке, но в модуль сервиса я попасть не мог.
(23) Добрый день. В общем промучался я с также с этой отладкой http-сервисов целый день ... аж пообедать забыл (забил) - что не есть хорошо )))
Как обычно после всех мучений и нервотрепок пришло понимание ... но это лирика, а на самом деле все мучения из-за отсутствия опыта в этом новом для меня лично направлении (но походу дела очень перспективном направлении).
Итак:
1. Почти все видосы на трубе содержат устаревшую инфу (но не значит что она не верная и плохая) - из-за этого я практически и промучался целый день (но тут и моя вина - полное отсутствие опыта и не знание как и что делать).
2. Практически все рекомендации касаются на сегодняшний день ФАЙЛОВОй базы - да именно так и есть и в конце будет ссылка на вендора. Т.е. получается в начале это работало может и на серверных базах ... но это было в начале.
3. В части видео и статей народ пишет про отладку по http, но делает это на самом деле через отладку tcp - это позволит на самом деле поставить точку останова в модуле http-сервиса и зайти в эту точку. Но ведь на самом деле это все равно не есть настоящая отладка по http.
4 Читаем:
http://v8.1c.ru/o7/201506debug/index.htm Тут все подробно описано и благодаря этой статье я до конца понял как запустить отладку и у меня все получилось именно на серверной базе!
5. Я как-то привык что 1С всегда выпускает очень сухие новости и статьи, и в который раз убеждаюсь что они очень сильно выросли в этом плане и надо стараться менять свое мнение и первым делом всегда искать первичную инфуна сайте разработчика а уже потом лезть на другие ресурсы.
6. Надеюсь мой пост будет кому-то полезен и избавит от мучений по первичной настройке http-отладки.
(25) подскажите пожалуйста, как вы решили эту проблему? У меня post запрос из postman ни в какую не хочет ловиться. Подключение HTTP сервиса происходит, а вот точка остановы не срабатывает. база на SQL, метод debug подключен.
Всем привет.
Натнкулся на подобную проблему.
Решение оказалось следующим: точка останова не отрабатывала по той причине, что метод из общего модуля, который я вызывал из модуля http-сервиса, компилился с ошибкой в момент вызова процедуры (так как модуль не глобальный). При этом ошибок никаких не возникало
Всем привет.
Натнкулся на подобную проблему.
Решение оказалось следующим: точка останова не отрабатывала по той причине, что метод из общего модуля, который я вызывал из модуля http-сервиса, компилился с ошибкой в момент вызова процедуры (так как модуль не глобальный). При этом ошибок никаких не возникало
Перестала стартовать отладка HTTP сервиса после обновления платформы. Переопубликовал с указанием протокола HTTP, отладка заработала. В параметрах конфигуратора отладка по прежнему по протоколу TCP стоит.