I assume you mean Spring 3.1.2 not SI 3.1.2.
Spring 3.1 had to make some changes to solve some other issues and this changed the way uris are built.
In Spring Integration 2.2, we introduced 'url-expression' as an alternative to using 'url' with uri-variables to avoid these kinds of issues.
Using uri-expression, you can insert your headers in-line, to build up the full URL.
This is available in Spring Integration 2.2.0, which will be released shortly. 2.2.0.RC3 was released last week; you may find 2.2.0.RELEASE in maven central over the weekend.
url-expression="'http//' + headers['X-CUSTOM-PROVIDER-HOSTNAME'] + "':'" + headers['X-CUSTOM-PROVIDER-HOSTNAME'] ... etc
Gary P. Russell
Spring Integration Team
SpringSource, a division of VMware