Romanches |
13.12.2023 01:25 |
Доброго времени суток, коллеги. Возвращаясь к прошлой ситуации с невозможностью получения данных по 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 внутри приложения и починить его не имея исходника невозможно. Но может кто то сталкивался с подобным или есть способы обхода ошибки "малой кровью" путем регистрации или установки недостающих компонентов. Спасибо всем откликнувшимся!
|