diff --git a/spring-integration-http/src/main/java/org/springframework/integration/http/DefaultHttpHeaderMapper.java b/spring-integration-http/src/main/java/org/springframework/integration/http/DefaultHttpHeaderMapper.java index 67dcc0d45c..064124747f 100644 --- a/spring-integration-http/src/main/java/org/springframework/integration/http/DefaultHttpHeaderMapper.java +++ b/spring-integration-http/src/main/java/org/springframework/integration/http/DefaultHttpHeaderMapper.java @@ -29,6 +29,7 @@ import org.springframework.util.CollectionUtils; * Default {@link HeaderMapper} implementation for HTTP. * * @author Mark Fisher + * @author Jeremy Grelle * @since 2.0 */ public class DefaultHttpHeaderMapper implements HeaderMapper { @@ -75,7 +76,9 @@ public class DefaultHttpHeaderMapper implements HeaderMapper { public Map toHeaders(HttpHeaders source) { Map target = new HashMap(); for (String name : this.inboundHeaderNames) { - List values = source.get(name); + String prefixedName = name.startsWith(USER_DEFINED_HEADER_PREFIX) ? name + : USER_DEFINED_HEADER_PREFIX + name; + List values = source.containsKey(prefixedName) ? source.get(prefixedName) : source.get(name); if (!CollectionUtils.isEmpty(values)) { if (values.size() == 1) { target.put(name, values.get(0));