Skip to content

AndreyMenshikov/vetisapi

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 

vetisapi

ФГИС "Меркурий" Россельхохнадзора предназначена для электронной сертификации и обеспечения прослеживаемости поднадзорных государственному ветеринарному надзору грузов при их производстве, обороте и перемещении по территории Российской Федерации. ФГИС Меркурий работает с ветеринарно-сопроводительными документыми в электронной форме (эВСД, ВСД). Работа с ВСД осуществляется либо в веб-интерфейсе системы Меркурий, либо через интеграционный шлюз по протоколу SOAP, называемый Ветис.API.

Эта библиотека JAVA классов предназначена для взаимодействия с ФГИС Меркурий через интеграционный шлюз Ветис.API.

Основной маасив классов сгенерирован утилитой wsdl

Вспомогательные классы помещены в ru.vdsmobile

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

ru.vsdmobile.samples.RegistryFactory - сборник примеров обращения к синхронным сервисами Ветис.API

ru.vsdmobile.samples.ProfileFactory - пример генерации реквизитов профиля.

Для работы с асинхронным сервисом обработки заявок создан специальный класс VetisApplicationService, который выполняет асинхронную обработку заявок.

Процесс обработки выглядит так:

  1. Создается объект запроса, например GetVetDocumentChangesListRequest и заполняются его поля.
  2. Запрос оборачивается в ApplicationDataWrapper и затем в Application
  3. Объект Application оборачивается во вспомогательный класс ApplicationTask, в котором будет отслеживаться статус обработки заявки в интеграционном шлюзе Ветис.API
  4. ApplicationTask добавляется к списку задач для обработки VetisApplicationService. Таким образом можно сформировать пакет заявок для отправки.
  5. После того, как список сформирован выполняется метод VetisApplicationService::execute и запускается процесс отправки заявок и отслеживания их статуса. Отправка заявок выполняется в одном потоке, а вот отслеживание их дальнейшего состояния выполнятеся уже в потоках таймера, поэтому может порождаться несколько одновременных потоков выполнения. И получение результата обработки заявки, если он будет получен, будет производиться в другом потоке, отличном от вызывающего. Этот момент нужно учитывать при использовании этой библиотеки!
  6. По завершении обработки заявки будет вызван callback метод IApplicationServiceEvents::onRequestCompleted, в котором в качестве параметры будет передан полученный результат обработки. Его нужно будет преобразовать к типу ответа, например GetVetDocumentChangesListResponse и вытащить из него всю нужную информаци.

Пример реализации этого алгоритма приведен в классе VetDocsRequestTest

Я использую эту библиотеку в своем сервисе ВСД Мобайл. Веб-помощник, так что по мере внесения изменений будут и модификации самой библиотеки.

Вопросы, предложения можно либо здесь, либо на страничке проекта в соцсетях:

https://vk.com/vsdmobile

https://www.facebook.com/vetismobile

** И да! На Android это не работает!!! **

About

Библиотека Java классов для Ветис.API ФГИС Меркурий Россельхознадзора

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages