1.1 Общие требования
СМО взаимодействует с ФЕРЗЛ посредством SOAP-сервисов, использующих XML.
Взаимодействие осуществляется с использованием синхронных и асинхронных SOAP-методов.
Процесс синхронного взаимодействия ФЕРЗЛ с внешними системами состоит из следующих этапов:
-
внешняя система через SOAP-сервисы ФЕРЗЛ посылает запрос;
-
ФЕРЗЛ принимает запрос, обрабатывает его и формирует ответное сообщение, содержащее информацию об успешности или неуспешности проведения операции, а также результаты ФЛК.
Операции, выполняемые асинхронно, выделены в отдельный сервис, где каждая операция представлена двумя методами:
-
Start – запускает операцию и сообщает ее токен - строку, уникально идентифицирующую операцию;
-
Poll – опрашивает готовность операции, предъявляя токен.
Системные результаты выполнения метода возвращаются как код ответа.
В случае, если полученные входные данные не проходят ФЛК, возвращаются коды результата и сообщения об ошибках, препятствующих выполнению операции.
При получении ошибки, данные должны быть откорректированы, и метод должен быть вызван повторно.
Каждому новому отправляемому запросу должен присваиваться новый внешний идентификатор, уникальный в рамках конкретной внешней информационной системы. Для передачи больших объёмов данных используется технология MTOM.
Таблица — Коды и сообщения об ошибках
|
№ |
Код статуса ошибки |
Значение |
Возможные причины возникновения ошибки |
|
|
400 |
Ошибка в формате запроса |
Формируется вне прикладного кода. |
|
|
401 |
Ошибка аутентификации |
Неправильный пароль, истёкший токен доступа и т.п. |
|
|
403 |
Ошибка доступа к ресурсу |
Попытка вызвать запрос, на который у текущей сессии нет прав. |
|
|
409 |
Ошибка бизнес-логики |
Введены противоречивые/некорректные параметры. |
|
|
422 |
Необрабатываемый контент |
Ключи для организации не найдены, Переданное значение не является ОИП, Версия справочника ключей не найдена |
|
|
500 |
Системная ошибка |
Ошибка инфраструктуры. |
|
|
200 |
ОК |
|