diff --git a/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpInboundEndpointParser.java b/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpInboundEndpointParser.java index ecc4763523..0e4703298a 100644 --- a/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpInboundEndpointParser.java +++ b/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpInboundEndpointParser.java @@ -33,6 +33,7 @@ import org.w3c.dom.Element; * 'inbound-channel-adapter' and 'true' for the 'inbound-gateway'. * * @author Mark Fisher + * @author Oleg Zhurakousky */ public class HttpInboundEndpointParser extends AbstractSingleBeanDefinitionParser { diff --git a/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpOutboundChannelAdapterParser.java b/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpOutboundChannelAdapterParser.java index 562a3a6e0c..3493c491e7 100644 --- a/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpOutboundChannelAdapterParser.java +++ b/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpOutboundChannelAdapterParser.java @@ -72,9 +72,7 @@ public class HttpOutboundChannelAdapterParser extends AbstractOutboundChannelAda else if (StringUtils.hasText(mappedRequestHeaders)) { BeanDefinitionBuilder headerMapperBuilder = BeanDefinitionBuilder.genericBeanDefinition( "org.springframework.integration.http.support.DefaultHttpHeaderMapper"); - if (StringUtils.hasText(mappedRequestHeaders)) { - IntegrationNamespaceUtils.setValueIfAttributeDefined(headerMapperBuilder, element, "mapped-request-headers", "outboundHeaderNames"); - } + IntegrationNamespaceUtils.setValueIfAttributeDefined(headerMapperBuilder, element, "mapped-request-headers", "outboundHeaderNames"); builder.addPropertyValue("headerMapper", headerMapperBuilder.getBeanDefinition()); } IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "charset"); diff --git a/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpOutboundGatewayParser.java b/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpOutboundGatewayParser.java index 3d98ff9f82..077fcafd90 100644 --- a/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpOutboundGatewayParser.java +++ b/spring-integration-http/src/main/java/org/springframework/integration/http/config/HttpOutboundGatewayParser.java @@ -34,6 +34,7 @@ import org.springframework.util.xml.DomUtils; * Parser for the 'outbound-gateway' element of the http namespace. * * @author Mark Fisher + * @author Oleg Zhurakousky */ public class HttpOutboundGatewayParser extends AbstractConsumerEndpointParser { @@ -71,7 +72,7 @@ public class HttpOutboundGatewayParser extends AbstractConsumerEndpointParser { } builder.addPropertyReference("headerMapper", headerMapper); } - else {//if (StringUtils.hasText(mappedRequestHeaders) || StringUtils.hasText(mappedResponseHeaders)) { + else { BeanDefinitionBuilder headerMapperBuilder = BeanDefinitionBuilder.genericBeanDefinition( "org.springframework.integration.http.support.DefaultHttpHeaderMapper"); headerMapperBuilder.setFactoryMethod("outboundMapper"); diff --git a/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java b/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java index 92e51fe0ac..3996640aea 100644 --- a/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java +++ b/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java @@ -44,6 +44,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; import org.springframework.integration.MessageHeaders; +import org.springframework.integration.context.IntegrationContextUtils; import org.springframework.integration.mapping.HeaderMapper; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; @@ -344,7 +345,8 @@ public class DefaultHttpHeaderMapper implements HeaderMapper, BeanF public void afterPropertiesSet() throws Exception { if (this.beanFactory != null && this.beanFactory instanceof DefaultListableBeanFactory){ - this.conversionService = ((DefaultListableBeanFactory)this.beanFactory).getConversionService(); + + this.conversionService = IntegrationContextUtils.getConversionService(this.beanFactory); } } diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundGatewayParserTests-context.xml b/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundGatewayParserTests-context.xml index da7cd79465..c3c55524c1 100644 --- a/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundGatewayParserTests-context.xml +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundGatewayParserTests-context.xml @@ -29,15 +29,11 @@ - - - - - - - - - + + + + + diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundGatewayParserTests.java b/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundGatewayParserTests.java index 904db08985..f46fcaaf97 100644 --- a/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundGatewayParserTests.java +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundGatewayParserTests.java @@ -35,12 +35,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.DirectFieldAccessor; -import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.core.convert.converter.Converter; -import org.springframework.core.convert.support.GenericConversionService; import org.springframework.http.HttpHeaders; import org.springframework.integration.Message; import org.springframework.integration.MessageHeaders; @@ -63,9 +60,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration public class HttpInboundGatewayParserTests { - @Autowired - private DefaultListableBeanFactory beanFactory; - + @Autowired @Qualifier("inboundGateway") private HttpRequestHandlingMessagingGateway gateway; diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/support/DefaultHttpHeaderMapperFromMessageInboundTests.java b/spring-integration-http/src/test/java/org/springframework/integration/http/support/DefaultHttpHeaderMapperFromMessageInboundTests.java index a6bad571df..8a9bbfdd11 100644 --- a/spring-integration-http/src/test/java/org/springframework/integration/http/support/DefaultHttpHeaderMapperFromMessageInboundTests.java +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/support/DefaultHttpHeaderMapperFromMessageInboundTests.java @@ -462,7 +462,7 @@ public class DefaultHttpHeaderMapperFromMessageInboundTests { mapper.setOutboundHeaderNames(new String[] {"customHeader*"}); ConversionService cs = ConversionServiceFactory.createDefaultConversionService(); DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); - beanFactory.setConversionService(cs); + beanFactory.registerSingleton("integrationConversionService", cs); mapper.setBeanFactory(beanFactory); mapper.afterPropertiesSet(); @@ -484,7 +484,7 @@ public class DefaultHttpHeaderMapperFromMessageInboundTests { GenericConversionService cs = ConversionServiceFactory.createDefaultConversionService(); cs.addConverter(new TestClassConverter()); DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); - beanFactory.setConversionService(cs); + beanFactory.registerSingleton("integrationConversionService", cs); mapper.setBeanFactory(beanFactory); mapper.afterPropertiesSet();