Это зависит от того, какой технологический стек вы используете. В .Net WCF предлагает функции транзакций, в противном случае единственное, что вы можете сделать, это минимизировать время, в течение которого может произойти ошибка.
В предыдущих приложениях я предоставлял сервис токен веб-сервису. Когда служба возвращается (синхронная или асинхронная), она возвращает токен. Маркер имеет встроенную метку времени. Если отметка времени истекла, то транзакция прерывается, если нет, я предполагаю, что вызов веб-службы прошел успешно.
После успешного возврата вызова веб-службы вызов метода NEXT предназначен для записи транзакции в вашей системе. Это создает очень маленькое окно, в котором система позади веб-службы и ваша система будут не синхронизированы. Это также уменьшает вероятность возникновения непредвиденной ошибки, которая помешает обновлению / вставке на вашей стороне.