Currently Camel only sends credentials when a server explicitly prompts for basic authentication. However there're cases where a URL is available to both authenticated as well as unauthenticated parties. In that case the camel-http component won't sent any credentials to the server, even though the credentials are explicitly provided in the URI or Exchange.
This can be solved by enabling preemptive authentication in Apache HttpClient. In that case the credentials will always be provided whether the server asks for it or not.
Enabling this provides a sensible default.