112. Для сигнализации об этапах обработки сообщений используются сигналы-подтверждения и сигналы-исключения, указанные в настоящем подразделе.
Сигналы-подтверждения и сигналы-исключения формируются в соответствии с описанием структуры и реквизитного состава согласно приложению N 5 и схемой данных согласно приложению N 6.
113. Сигналы-подтверждения "Получено" и "Принято в обработку" используются в тех случаях, когда необходимо обеспечить гарантированность доставки сообщений общего процесса.
114. Сигнал-подтверждение "Получено" посылает получатель сообщения общего процесса в тот момент, когда выполнена стадия структурного контроля блока содержимого.
При формировании заголовка wsa:Action, идентифицирующего содержимое сообщения общего процесса, для сигнала-подтверждения "Получено" используется код сообщения P.MSG.RCV. Остальные компоненты сведений о содержимом сообщения указываются в соответствии с правилами формирования заголовка wsa:Action для прикладных сообщений.
115. Сигнал-подтверждение "Принято в обработку" посылает получатель сообщения общего процесса перед выполнением стадии обработки данных блока содержимого.
При формировании заголовка wsa:Action, идентифицирующего содержимое сообщения общего процесса, для сигнала-подтверждения "Принято в обработку" используется код сообщения P.MSG.PRS. Остальные компоненты сведений о содержимом сообщения указываются в соответствии с правилами формирования заголовка wsa:Action для прикладных сообщений.
116. Ситуации, когда получатель сообщения направляет отправителю сигнал-исключение "Ошибка" независимо от используемого шаблона транзакции, возникают в следующих случаях:
а) получатель принял сообщение общего процесса, которое не ожидал получить при выполнении транзакции общего процесса;
б) получатель обнаружил ошибки при проведении структурного контроля блока содержимого либо форматно-логического контроля блока содержимого;
в) на стадии обработки данных прикладного уровня возникла неустранимая ошибка, которая не позволяет выполнить обработку данных.
117. Ситуация, когда получатель принял сообщение общего процесса, которое не ожидал получить при выполнении транзакции общего процесса, возникает в следующих случаях:
полученное сообщение является сообщением общего процесса либо сигналом-подтверждением и при этом не относится к выполняемым получателем транзакциям;
получатель не уполномочен обрабатывать полученное сообщение (если он не является участником общего процесса, процедуры или транзакции).
В указанных случаях кодовому обозначению ошибки контроля (поле sgn:Code) сигнала-исключения "Ошибка" присваивается значение (код) "Common:UnexpectedMessage".
118. В случае обнаружения получателем ошибки при проведении структурного контроля блока содержимого кодовому обозначению ошибки контроля (поле sgn:Code) сигнала-исключения "Ошибка" присваивается значение (код) "Common:DataError".
119. В случае обнаружения получателем ошибки при проведении форматно-логического контроля сообщения общего процесса кодовому обозначению ошибки контроля (поле sgn:Code) сигнала-исключения "Ошибка" присваивается значение кода правила, при проверке которого возникла ошибка, согласно регламенту информационного взаимодействия.
120. В случае возникновения ситуации, когда на стадии обработки данных блока содержимого возникла неустранимая ошибка, которая не позволяет выполнить обработку данных, кодовому обозначению ошибки контроля (поле sgn:Code) сигнала-исключения "Ошибка" присваивается значение (код) "Common:FatalError".
Перечень неустранимых ошибок определяется участником общего процесса самостоятельно.
121. При формировании заголовка wsa:Action, идентифицирующего содержимое сообщения общего процесса, для сигнала-исключения "Ошибка" используется код сообщения P.MSG.ERR. Остальные компоненты сведений о содержимом сообщения указываются в соответствии с правилами формирования заголовка wsa:Action для прикладных сообщений.