Правильная обработка ошибок IDoc?

Я реализовал JCoIDocHandler для SAP, все работало нормально, но наша партнерская компания что-то изменила с правами пользователя и теперь handleRequest() не работает с исключением

Моя проблема в том, что даже я получил исключение, компания-партнер пометила свои IDoc как ОК. В моем JCoServerTIDHandler вызывался метод rollback, поэтому я предполагаю, что система SAP распознала ошибку.

Мой код для отката просто:

void rollback(JCoServerContext serverCtx, String tid) {
            //some logging stuff here
}

В моем методе handleRequest для JCoIDocHandler я ловлю исключение, а также просто веду журнал.

Мой вопрос: есть ли что-нибудь, что я должен сделать в handleRequest или откате, чтобы сообщить системе SAP об ошибке?

Или в самой SAP-системе есть ошибка, что IDoc не помечен ошибкой, даже если чужая SAP-система выдает исключение?

У меня нет доступа к системе SAP и я не знаю SAP, поэтому мне интересно, моя ли это вина или вина системы SAP в том, что IDoc не помечен какой-либо ошибкой.


person Peter    schedule 17.06.2020    source источник


Ответы (1)


Если handleRequest() завершится с исключением, отправляющая партнерская система увидит ошибку. Я не думаю, что отправитель является системой SAP, использующей стандартный механизм ALE, если статус IDoc в этом случае помечен как OK на другой стороне.

person Trixx    schedule 08.08.2020