Страница 1 из 1

rpc

Добавлено: 27 май 2013, 12:23
risemann
Скажите пожалуйста, кто нибудь плотно занимался удаленным вызовом процедур через rpc.pl в OTRS?
Меня интересует насколько успешен был опыт...

Некоторое время назад мне приходилось удаленно создавать тикеты и в целом задача была реализована успешно, хотя вспомогательный функции, такие как получение списка очередей, получение списка приоритетов, проверка существования кастомера по ID итд пришлось делать прямыми обращениями к БД либо ввиду падения SOAP::Lite при обращении к соответствующим функциям, либо ввиду отсутствия функций вообще...

Сейчас мне понадобилось получить банальный список тикетов для клиента и обнаружились странные, рандомные падения SOAP::Lite на стороне OTRS. Ни версия SOAP поставляемая с отрс ни более свежая системная не работают стабильно, хотя мне трудно сказать виноват ли SOAP или вызываемая через него функция.

Я думал перейти на GI, но не нашел толком документации по работе с ним. Как я понял сейчас через него можно только создавать тикеты, причем там не видно, например, привязки к мастер-тикету? К тому же синтаксис работы с GI становится более сложным вплоть до использования чистого XML...

Может быть я что то не верно делаю и на самом деле rpc в otrs белый и пушистый?
Версия отрс 3.1.4

Re: rpc

Добавлено: 27 май 2013, 13:31
merkushov
Сторонний проект в компании немного использует Web-сервисы OTRS. Жалоб пока не было. Но мы подключаем их через nph-genericinterface.pl

Re: rpc

Добавлено: 27 май 2013, 17:48
risemann
А каким образом вы обращаетесь к GI? из perl?

Re: rpc

Добавлено: 28 май 2013, 10:00
merkushov
Я к GenericInterface из perl не обращаюсь, обращается сторонний проект. У них, кажется C# и какие-то свои библиотеки работы с SOAP. Если бы я обращался к web-сервисам OTRS из perl, я бы использовал SOAP::Lite Сериализовал бы данные с помощью SOAP::Data, десериализовал бы SOAP::Deserializer

Если не хватает каких-то методов, то лучше запрограммировать их на стороне OTRS, в Kernel/GenericInterface/Operation/Ticket/* и выдать наружу, через web-интерфейс.