Дилер
Иркутск, "Эсмиком и К"
Регистрация: 20.03.2017
Сообщений: 342
|
Сообщение от Romanches
|
Доброго времени суток, коллеги. Возвращаясь к прошлой ситуации с невозможностью получения данных по HTTP API предоставляемого AutoGRAPH.NET service - проблема крылась в версионности программного обеспечения. Исходно, схемы на сервер загружались из клиентского ПО AutoGRAPH 5 2016. Но данная версия ПО не работает с современным API картографических сервисов. После того, как меня закрепили за сопровождением системы, я проверил возможность работы последнего доступного релиза клиентского ПО с существующим сервером, пришел к выводу, что система работоспособна. Эта же версия использовалась для редактирования схемы. Выяснилось, что компонент AutoGRAPH.NET Service не поддерживает работу с новым форматом схемы.
Собственно, устаревание ПО и сподвигло меня прорабатывать варианты модернизации системы. Я запросил КП на обновление серверного по и переход с толстых клиентов на web-приложение, созванивался с менеджером ЕВРААСа, присылал развернутое описание объекта автоматизации на почту техотдела. Прошло пол года, КП мы так и не получили. За это время я набросал простенькое MVP web-приложения, презентовал руководству и получил карт-бланш на разработку web-ui для существующей системы спутникового мониторинга.
Прошу извинить за столь длинную прелюдию к следующему вопросу. Имеем версию серверного по 5.2.53 и версию службы Autograph.NET Service 2016.9.15. HTTP API работает так, как описано в документации, за исключением методов GetReport и GetReports. В первом случае возникает исключение
Нажмите для просмотра содержимого...
Код:
|
xx:xx:xx ERROR JSON 192.168.xx.xx:xxxxxx Схема1 GetReport SD=08.12.2023 08:00:00 ED=08.12.2023 10:00:00 IDs=xxxx94f8f-7bb1-49d4-a72a-18a6408cxxxx Report=coordinates.frx Split= Format=PDF
Exception[DryIoc.ContainerException]: Unable to resolve DBDomain.Interfaces.IReportFactory.
Where no service registrations found
and number of Rules.FallbackContainers: 0
and number of Rules.UnknownServiceResolvers: 0
xx:xx:xx ERROR JSON 192.168.xx.xx:xxxxxx Схема1 GetReport SD=08.12.2023 08:00:00 ED=08.12.2023 10:00:00 IDs=xxxx94f8f-7bb1-49d4-a72a-18a6408cxxxx Report=coordinates.frx Split= Format=PDF
Exception[DryIoc.ContainerException]: в DryIoc.Throw.It(Int32 error, Object arg0, Object arg1, Object arg2, Object arg3)
в DryIoc.Container.ThrowUnableToResolve(Request request)
в DryIoc.Container.DryIoc.IContainer.ResolveFactory(Request request)
в DryIoc.Container.ResolveAndCacheDefaultDelegate(Type serviceType, Boolean ifUnresolvedReturnDefault, IScope scope)
в AutoGRAPHService.AutoGRAPHSvcCommon.(GlobalSettings , REnumDevices , String , String , Guid[] , DateTime , DateTime , Int32 , ReportFormat )
в AutoGRAPHService.AutoGRAPHSvcBase.
.() |
Во втором случае всегда возвращается пустой массив. Понимаю, что прошу помощи с EOL продуктом, и скорее всего сломался DI внутри приложения и починить его не имея исходника невозможно. Но может кто то сталкивался с подобным или есть способы обхода ошибки "малой кровью" путем регистрации или установки недостающих компонентов. Спасибо всем откликнувшимся!
|
Вы используете устаревшую версию, причём из периода времени, когда для ПО активно искались направления развития. С тех пор сменилась программная платформа (с .NET на .NET Core), произошли глобальные изменения в основных модулях программы, производительность расчетного ядра выросла, наверное, на порядок. Появилась официальная поддержка внешних модулей, заметно изменился диалект API.
Ну и изменилась схема лицензирования ПО.
На данный момент мне кажется, что вы проделали большую, но очень бесперспективную работу.
Вы не думали над тем, чтобы обратиться к другому дилеру или производителю за помощью в этой ситуации? Или этому есть препятствия в действующем договоре?
Из самого приложения отчёты вызываются корректно?
ООО "Эсмиком и К", г. Иркутск, Иркутская область, Россия
Мартыненко Евгений Сергеевич, главный инженер
Последний раз редактировалось MartynenkoES; 13.12.2023 в 05:39.
|