Цитата:
Сообщение от
MazZzDaI
При интеграции AX и стороннего приложения (СП) появилась необходимость использования транзакции на несколько последовательных действий, например:
1. СП вызывает сервис создания данных в АХ; АХ создаёт данные и возвращает ответ СП; СП сохраняет у себя результат;
2. СП вызывает сервис разноски ранее созданных данных в АХ; АХ выполняет действие и возвращает результат об успешной разноске; СП фиксирует у себя успех.
Схема простая, но добавив вероятность падения канала связи, СП не получит ответ 2 и откатит (rollback) свою транзакцию, включая результат 1.
Кажется,
это называется chatiness: у вас в СП есть одна транзакция на оба действия (передачу данных и разноску документа), но в AX вы почему-то передаете это отдельными сообщениями вместо того, чтобы передать одним сообщением вида "прими данные и разнеси документ".
Цитата:
Сообщение от
MazZzDaI
Предполагаю необходимость костылизации механизма, например, удаление данных разноски АХ при возобновлении связи, согласование данных, стек данных, время жизни документа; но такое решение не масштабируемое и громоздкое.
В целом, мне кажется, любая синхронная интеграция с выполнением разноски в Аксапте будет не масштабируемой и громоздкой. Но если у вас в СП отправка и получение результата разноски для простоты сделаны в одной транзакции, то и в АХ это должно быть одно сообщение.
А вообще, по поводу разносок в AIF - как раз сейчас
идет обсуждение в другой ветке