Протокол IGRP

Обработка ошибок IOTP - часть 9


Предполагается следующий контроль:

o

предыдущие посланные или полученные сообщения не содержат серьезных (Hard) ошибок;

o

транзакция не была анулирована покупателем или торговой ролью сервера.

Если это имеет место, сообщение игнорируется. Транзакция с серьезной ошибкой или аннулированная транзакция не может быть перезапущена.

Если с транзакцией все в порядке, производится поиск ошибок на уровне сообщения. Это включает в себя:

  • проверку формат XML;
  • проверку того, что все элементы, атрибуты и содержимое блока ссылок транзакции не содержат ошибок и соответствуют спецификации IOTP;
  • проверку цифровой подписи, которая в свою очередь предполагает:
 

- проверку того, что корректно вычислена электронная подпись;

 

- проверку того, что значение дайджеста вычислено правильно.

Проверка ошибок уровня блоков включает:

о

проверку в пределах каждого блока (помимо блока ссылок транзакции) того что:

 

- атрибуты, элементы и содержимое элементов корректно;

 

- значения атрибутов, элементы и содержимого элементов не противоречат друг другу в пределах блока.

о

проверку того, что комбинации блоков корректны

o

проверку того, что значения атрибутов, элементы и содержимое элементов взаимосогласованы на межблочном уровне в пределах входного сообщения с блоками, полученными или отправленными ранее. Это включает проверку уместности данного блока для этого типа транзакции.

Если сообщение содержит какие-то инкапсулированные данные, то, если возможно, они проверяются на наличие ошибок.

4.5.2.4. Проверка ошибок в последовательности блоков

Далее при объяснении поиска ошибок в последовательностях блоков выражение типа "относится к транзакции IOTP" следует интерпретировать как "содержится в сообщении IOTP, где TransRef Block включает в себя IotpTransId, который указывает на данную танзакцию". Так, например, "Если ошибка или аннулированный блок относится к транзакции IOTP, которая не распознана, тогда..." следует интерпретировать как "Если ошибка или аннулированный блок содержатся в сообщении IOTP, TransRefBlock включает в себя IotpTransId, который относится к транзакции IOTP, которая не распознана, тогда...”.




- Начало -  - Назад -  - Вперед -