it's not the HTTP producer endpoint that keeps retrying the message. That
endpoint just fails and then the processing is complete. However this means
that the file consumer in your route does not delete or move the file, so it's
still there and the processing starts again with the next poll interval.
There are different ways how to prevent this. The easiest is probably to set a
parameter moveFailed=.error to the file endpoint (that will move failed files
to a subfolder named .error).