If the endpoint regularly times out, but a second attempt goes through, you can code around that as you are describing using a try-catch, try again approach. If it is a particular patient CDA that is timing out, you could increase the timeout for the call.
Sometimes an endpoint goes down, which causes timeouts and connection refused errors until the endpoint comes up. In this situation, you can suspend the channel for a period of time when you begin to notice this behavior.
Go to the Channel Properties for your channel. (Double clicking on the Channel name or select Properties from the right-click menu)
In the Error Management tab, you can temporarily stop the channel channel when you have consecutive errors. The configuration below will stop the channel after two erred messages. The channel will be automatically restarted after 5 minutes.