Проверка того, что транзакция не
Проверка того, что транзакция не зафиксировала ошибку и не оказалась аннулированной. Предполагается следующий контроль:
o |
предыдущие посланные или полученные сообщения не содержат серьезных (Hard) ошибок; |
o |
транзакция не была анулирована покупателем или торговой ролью сервера. |
Если это имеет место, сообщение игнорируется. Транзакция с серьезной ошибкой или аннулированная транзакция не может быть перезапущена.
Если с транзакцией все в порядке, производится поиск ошибок на уровне сообщения. Это включает в себя:
- проверку формат XML;
- проверку того, что все элементы, атрибуты и содержимое блока ссылок транзакции не содержат ошибок и соответствуют спецификации IOTP;
- проверку цифровой подписи, которая в свою очередь предполагает:
- проверку того, что корректно вычислена электронная подпись;
- проверку того, что значение дайджеста вычислено правильно.
Проверка ошибок уровня блоков включает:
- проверку в пределах каждого блока (помимо блока ссылок транзакции) того что:
- атрибуты, элементы и содержимое элементов корректно;
- значения атрибутов, элементы и содержимого элементов не противоречат друг другу в пределах блока.
- проверку того, что комбинации блоков корректны
- проверку того, что значения атрибутов, элементы и содержимое элементов взаимосогласованы на межблочном уровне в пределах входного сообщения с блоками, полученными или отправленными ранее. Это включает проверку уместности данного блока для этого типа транзакции.
Если сообщение содержит какие-то инкапсулированные данные, то, если возможно, они проверяются на наличие ошибок.
4. Проверка ошибок в последовательности блоков
Далее при объяснении поиска ошибок в последовательностях блоков выражение типа "относится к транзакции IOTP" следует интерпретировать как "содержится в сообщении IOTP, где TransRef Block включает в себя IotpTransId, который указывает на данную танзакцию". Так, например, "Если ошибка или аннулированный блок относится к транзакции IOTP, которая не распознана, тогда..." следует интерпретировать как "Если ошибка или аннулированный блок содержатся в сообщении IOTP, TransRefBlock включает в себя IotpTransId, который относится к транзакции IOTP, которая не распознана, тогда...”.
Содержание Назад Вперед