Настройка web-service invoker

Обсуждение вопросов и решений

Модератор: ykolesnikov

Ответить
Volkodav
OTRS Новобранец
Сообщения: 2
Зарегистрирован: 16 окт 2014, 03:41

Настройка web-service invoker

Сообщение Volkodav »

Добрый день,

Стоит задача в OTRS6 при обновлении состояния заявки послать данные во внешнюю систему.
В случае, если веб-сервис отработает с ошибкой, состояние заявки не менять.

Кто-нибудь имел опыт настройки подобного рода решения?

Я создал REST invoker, добавил в него инициатор вызова на основе контроллера Ticket::Generic, куда добавил срабатывание по событию TicketStateUpdate, галочку асинхронного вызова убрал в надежде, что вся цепочка действий будет отменена в случае ошибки отсылки запроса, но заявка сменила состояние и но и данные не ушли во внешнюю систему.
alexus
OTRS Гуру
Сообщения: 5220
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 96 раз
Поблагодарили: 84 раза

Re: Настройка web-service invoker

Сообщение alexus »

Добрый день. Скрины настройки веб-сервиса покажите. Логи OTRS, лог веб-сервиса были бы тоже полезны.
С уважением,
Алексей Юсов

Prod: Radiant Service Desk on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Volkodav
OTRS Новобранец
Сообщения: 2
Зарегистрирован: 16 окт 2014, 03:41

Re: Настройка web-service invoker

Сообщение Volkodav »

Добрый день,

Я добавил файл конфигурации веб-сервиса, который я сделал
RestInvoker.zip
(904 байт) 46 скачиваний
Там заведомо неправильно указал endpoint, чтобы сэмулировать недоступность удаленного сервера

Ожидаемо я получил ошибку
Can't connect to zzz.yyy:80 (Name or service not known)
Name or service not known at /opt/znuny/Kernel/cpan-lib/LWP/Protocol/http.pm line 50.
Скриншот лога веб-сервиса я приложил. Там в начале видно, что данные из заявки подтянулись и State":"pending reminder" - это то состояние, которое я выставил и после этого веб сервис начал свою работу.
Потом он закончил свою работу с ошибкой, а состояние у заявки к прежнему не вернулось.

Возможно я что-то упустил в конфигурации веб-сервиса, чтобы он реально был синхронным и вся цепочка действий откатилась после ошибки.
Вложения
otrs.zip
(432 байт) 44 скачивания
19_09_2025_14_35_46.png
19_09_2025_14_35_46.png (143.05 КБ) 2482 просмотра
alexus
OTRS Гуру
Сообщения: 5220
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 96 раз
Поблагодарили: 84 раза

Re: Настройка web-service invoker

Сообщение alexus »

Volkodav писал(а): 18 сен 2025, 10:32
В случае, если веб-сервис отработает с ошибкой, состояние заявки не менять.
Этот момент я упустил. Логика у обработчика событий другая. Есть событие - StateUpdate. Обоработчик событий передаёт его всем "подписантам", и на этом всё. Обработчик ошибок надо писать отдельно
С уважением,
Алексей Юсов

Prod: Radiant Service Desk on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Ответить