If you do skip the intermediate queue, and do
Then if any error calling the soap, the FTP can "rollback".
If you use a queue in between, then the FTP will "commit" if the message can safely be sent to the queue.
Unfortunately the message has to pass through the queue.
I ended up using a manual roll-back strategy by setting noop=true and deleting the file with a processor- using the "CamelFileName" if the soap request is successful.
Yeah good idea, as that would be your choice then.
You can also use onCompletion and filter it to trigger on failure only
The Camel in Action book, chapter 9, section 9.5 has more details about this as well.