2016-12-13 1 views
0

Я сконфигурировал invoker для запроса webservice при изменении или обновлении билета. это хорошо работает. Если билет изменился, и удаленный веб-сервис не запущен, он будет ожидать, пока не произойдет тайм-аут, и после этого он не сделает другой запрос.OTRS invoker удаленный веб-сервис не запускается повторно отправить запрос снова

Теперь одно требование, которое я получил - когда билет изменен, invoker сделает вызов удаленного URL-адреса хоста, если этот удаленный веб-сервис не работает, чем после таймаута, я должен сделать еще один запрос на веб-сервис до того, как удаленный веб-сервис получит запрос ,

Как настроить запрос для повторной отправки запроса на удаленный веб-сервис.

ответ

0

Я довольно долго работал с общим интерфейсом, и по своему опыту вы не можете настроить его таким образом.

Однако вы можете создать собственное решение:

Вы можете добавить динамическое поле для всех билетов типа флажка, давайте назовем его WebserviceUnavailable и установить его в False/Invalid по умолчанию. В вашем invoker первое, что вы делаете, устанавливается в том, что динамическое поле WebserviceUnavailable - True. Затем вы делаете свою обработку и готовите свои данные для универсального интерфейса, как обычно. В коде для ответа вы установите динамическое поле WebserviceUnavailable на False, если ваша обработка прошла успешно.

Затем вы можете написать еще один скрипт, который вызывается периодически (например, с помощью Cronjob). В этом скрипте вы ищите все билеты, у которых есть динамическое поле Webserviceunavailable со значением True. Для каждого из этих билетов вы снова вызываете свой веб-сервис.

Смежные вопросы