Тема: AutoGRAPH.Service
Показать сообщение отдельно
Старый 13.12.2023, 01:25    | »»» |  #140
Romanches
Начинающий
 
Аватар для Romanches
 
АО Саянскхимпласт
Регистрация: 02.02.2023
Сообщений: 4
Romanches is on a distinguished road
По умолчанию

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