There are many components that use improper URIs, which is kinda tolerated by Camel and in some instances encouraged by the examples and we provide. Camel uses URIs for both identifying and configuring endpoints, which is good. However, we should accept valid, properly encoded URIs. See URI spec for more detailed explanation. For some components properly encoding URIs is a solution, but URIs may be become harder to understand. For instance curly braces are not allowed in URIs, yet we support something like "serviceName=
service" in a uri (see CAMEL-4405). Properly encoding uris would work (giving us in the example above "%7Bnamespace%7Dservice" which is not all that easy to read), but better is to come up with alternatives like "targetNamespace=namespace&serviceName=service". This problem exists in a few other components, not just camel-cxf, so this issue is meant as an umbrella for all components.
As this could have a significant impact on existing applications, I propose a solution that will still accept existing syntax for URIs (i.e. no immediate impact on existing applications), and come up with configuration alternatives per component. When invalid URIs are used, a warning should alert users, giving them time to upgrade/migrate their URIs. This fallback mechanism may be removed in 3.0.