| Предыдущий | Следующий |
| ERROR_TRANSACTION_REQUEST_NOT_VALID | ERROR_TRANSACTION_ALREADY_ABORTED |
ERROR_TRANSACTION_NOT_REQUESTED
ERROR_TRANSACTION_NOT_REQUESTED — это ошибка парности протокола. Диспетчер ресурсов или вышестоящий диспетчер транзакций вызвал API ответа, хотя KTM не выдавал соответствующий запрос. В KTM ответы, такие как завершение или голосование, являются реакциями на конкретные уведомления, а не самостоятельными командами.
Что проверить
- Зафиксируйте полученное значение
TRANSACTION_NOTIFICATIONдо диспетчеризации обратного вызова. - Свяжите уведомление с точным дескриптором включения, переданным функции ответа.
- Не делайте вывод об отсутствующем запросе из локального состояния транзакции; дождитесь уведомления, реально доставленного KTM.
- Сделайте обработку обратных вызовов идемпотентной, чтобы задержанный, отменённый или дублированный рабочий элемент не отправил второй ответ.
Это отличается от обычного прерывания транзакции. Ошибка означает, что у ответа нет основания на стороне запроса в протоколе KTM, поэтому повтор того же ответа без нового полученного уведомления не исправит ситуацию.
См. GetNotificationResourceManager, определения маски уведомлений ,и Группы функций KTM.
Нужно найти другой код? Найти другой код состояния или ошибки.