synchronous web service - determine sent status

I am calling a synchronous web service (service consumer) in ECC, the message is routed through a middleware (not SAP XI) to the target system.

My question is, if there's a transparent solution to determine during the program run if the message has been generated and sent out from SAP?

In case there's a system error, the error can be caught by exception class CX_AI_SYSTEM_FAULT.

However, since various errors can occur and no exact documentation about the possible errors is available (at least I was not able to find it), the analysis of the error does not seem a transparent and feasible solution to achieve my goal.