Пошаговая Настройка Веб-Сервисов В Otrs 5

В этой статье я расскажу, как настроить веб-сервис в OTRS 5, куда и что вводить и как проверить работоспособность сервиса с помощью SoapUI. Мы будем настраивать SOAP, а не REST. Настраиваем OTRS как провайдера, т.е.

система будет предоставлять данные по запросу.

Если вам интересно, пожалуйста, обратитесь к кат.

Пошаговая настройка веб-сервисов в OTRS 5

Итак, мы установили замечательный OTRS и начали в нем работать.

И тогда руководству потребовалась отчетность.

И не какой-нибудь, а очень сложный.

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

Итак, переходим в администрирование → веб-сервисы.



Пошаговая настройка веб-сервисов в OTRS 5



Пошаговая настройка веб-сервисов в OTRS 5

Создайте новый веб-сервис: 1) Введите имя интерфейса 2) Выберите сетевой транспорт HTTP::SOAP 3) Нажмите «Сохранить».



Пошаговая настройка веб-сервисов в OTRS 5

После сохранения вы можете выбрать Операции .

Для работы с билетами нам понадобилось всего три: СеансСоздать — позволяет создать сессию и использовать ее идентификатор в дальнейшем, а не переносить каждый раз логин и пароль.

Поиск билетов — позволяет найти билеты по заданным критериям (в нашем случае открытые и закрытые за определенный период).

Возвращает список идентификаторов билетов (в частности, идентификаторов, а не номеров).

БилетПолучить — позволяет получить конкретный билет (или несколько) по идентификатору билета.



Пошаговая настройка веб-сервисов в OTRS 5

При создании Операция вы указываете имя, которым будете называть его в дальнейшем.



Пошаговая настройка веб-сервисов в OTRS 5

И последний штрих — переходим к настройке сетевого транспорта и устанавливаем пространство имен и длину сообщения.

Длина 1000 нас вполне устроила.



Пошаговая настройка веб-сервисов в OTRS 5



Пошаговая настройка веб-сервисов в OTRS 5

Пространство имен представляет собой следующую ссылку: example.com/otrs/nph-genericinterface.pl/Webservice/InterfaceName Где example.com - ваш домен, ИмяИнтерфейса — имя вашего интерфейса.

Если настроено шифрование, то https, а не http. Всё, все настройки на стороне OTRS выполнены.

Как теперь получить доступ к сервису извне? Для этого установите SoapUI, возьмите схему wsdl и отправьте ее в SoapUI. Многие в Интернете жаловались, что OTRS сам по себе не предоставляет схему WSDL, и это, по сути, проблема.

Спасибо добрым людям, которые выложили это в открытый доступ.

github.com/OTRS/otrs/tree/master/development/webservices Поэтому мы немного перерабатываем предложенный нам файл.

Измените заголовки файла GenericTicketConnectorSOAP.wsdl. имя определения от имени вашего веб-сервиса.

  
  
   

<Эxml version="1.0" encoding="UTF-8"?>< wsdl:definitions name="GenericTicketConnectorSOAP" targetNamespace=" http://www.otrs.org/TicketConnector/ " xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/ " xmlns:tns="http://www.otrs.org/TicketConnector/ " xmlns:xsd="http://www.w3.org/2001/XMLSchema " xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/ "> < wsdl:documentation >

Далее во всем мыло: операция В мылоДействие изменять http://www.otrs.org/TicketConnector в ваше пространство имен.



< soap:operation soapAction=" http://www.otrs.org/TicketConnector/TicketCreate " />

И в самом конце документа в wsdl:порт укажите свое пространство имен в расположение .



< wsdl:port name="GenericTicketConnector_Port" binding=" tns:GenericTicketConnector_Binding "> < soap:address location=" http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorSOAP " /> </ wsdl:port >

Запускаем Soap UI, создаем новый SOAPProject, указываем файл со схемой.

Результат должен выглядеть примерно так.

SoapUI автоматически сгенерирует базовые запросы.



Пошаговая настройка веб-сервисов в OTRS 5

И последний аккорд — проверка работоспособности сервиса.

Сервис вернул нам SessionID, который уже можно использовать в других запросах, не передавая каждый раз логин и пароль.



Пошаговая настройка веб-сервисов в OTRS 5

Некоторые нюансы: 1) Как уже говорилось, OTRS не предоставляет схему WSDL, что очень неудобно.

2) По запросу TicketSearch выдаёт не более 500 ID. Таким образом, если вы должны получить больше 500, вы все равно получите только 500. Я не нашел способа обойти эту проблему.

3) Чтобы TicketGet вернул SolutionDiffInMin (на сколько время разрешения запроса отличается от целевого SLA), нужно что-то передать в запросе Extended. Если у кого-то есть интересные комментарии, комментарии приветствуются :) P.S. По поводу того, что при поиске возвращалось не более 500 сообщений, помогло увеличение параметра GenericInterface::Operation::TicketSearch###SearchLimit. Спасибо Еисаев для вашей помощи.

P.P.S здесь вторая статья , как настроить OTRS в качестве соискателя.

Теги: #Системное администрирование #руководство #otrs #webservice

Вместе с данным постом часто просматривают: