Default implementation uses standard Camel events that has one possible disadvantage - it's necessary to join request and response together (= two Camel events) and if exchange is changed from sending request until response receive (e.g. using wireTap) then it's not possible to join it. But this limitation is mainly for internal communication, there is no problem with saving request/response to/from external system.
Due to current Camel event emmitting implementation, it is not possible to save only responses, always a request tracking must be enabled as well.
Requests/responses are saved into database, RequestResponseService defines contract. RequestResponseServiceDefaultImpl is default implementation that saves them directly to DB in synchronous manner.