diff --git a/build.gradle b/build.gradle index fbc2d4d4c0..48504f5cfb 100644 --- a/build.gradle +++ b/build.gradle @@ -53,7 +53,7 @@ subprojects { subproject -> springGemfireVersion = '1.1.1.RELEASE' springSecurityVersion = '3.1.0.RELEASE' springSocialTwitterVersion = '1.0.1.RELEASE' - springWsVersion = '2.0.3.RELEASE' + springWsVersion = '2.1.0.RELEASE' } eclipse { diff --git a/spring-integration-ws/src/main/java/org/springframework/integration/ws/AbstractWebServiceOutboundGateway.java b/spring-integration-ws/src/main/java/org/springframework/integration/ws/AbstractWebServiceOutboundGateway.java index c27e198348..439c5a491d 100644 --- a/spring-integration-ws/src/main/java/org/springframework/integration/ws/AbstractWebServiceOutboundGateway.java +++ b/spring-integration-ws/src/main/java/org/springframework/integration/ws/AbstractWebServiceOutboundGateway.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2011 the original author or authors. + * Copyright 2002-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -55,9 +55,10 @@ import org.springframework.xml.transform.TransformerObjectSupport; /** * Base class for outbound Web Service-invoking Messaging Gateways. - * + * * @author Mark Fisher * @author Jonas Partner + * @author Oleg Zhurakousky */ public abstract class AbstractWebServiceOutboundGateway extends AbstractReplyProducingMessageHandler { @@ -74,7 +75,7 @@ public abstract class AbstractWebServiceOutboundGateway extends AbstractReplyPro private volatile WebServiceMessageCallback requestCallback; private volatile boolean ignoreEmptyResponses = true; - + protected volatile SoapHeaderMapper headerMapper = new DefaultSoapHeaderMapper(); public AbstractWebServiceOutboundGateway(String uri, WebServiceMessageFactory messageFactory) { @@ -198,12 +199,12 @@ public abstract class AbstractWebServiceOutboundGateway extends AbstractReplyPro } return this.uriTemplate.expand(uriVariables); } - + protected abstract class RequestMessageCallback extends TransformerObjectSupport implements WebServiceMessageCallback { - + private final WebServiceMessageCallback requestCallback; private final Message requestMessage; - + public RequestMessageCallback(WebServiceMessageCallback requestCallback, Message requestMessage){ this.requestCallback = requestCallback; this.requestMessage = requestMessage; @@ -218,20 +219,20 @@ public abstract class AbstractWebServiceOutboundGateway extends AbstractReplyPro requestCallback.doWithMessage(message); } } - - } - + + } + public abstract void doWithMessageInternal(WebServiceMessage message, Object payload) throws IOException, TransformerException; } - + protected abstract class ResponseMessageExtractor extends TransformerObjectSupport implements WebServiceMessageExtractor { - + public Object extractData(WebServiceMessage message) throws IOException, TransformerException { - + Object resultObject = this.doExtractData(message); - - if (message instanceof SoapMessage){ + + if (message instanceof SoapMessage){ Map mappedMessageHeaders = headerMapper.toHeadersFromReply((SoapMessage) message); Message siMessage = MessageBuilder.withPayload(resultObject).copyHeaders(mappedMessageHeaders).build(); return siMessage; @@ -239,8 +240,8 @@ public abstract class AbstractWebServiceOutboundGateway extends AbstractReplyPro else { return resultObject; } - } - + } + public abstract Object doExtractData(WebServiceMessage message) throws IOException, TransformerException; } @@ -255,6 +256,7 @@ public abstract class AbstractWebServiceOutboundGateway extends AbstractReplyPro super(uriTemplate); } + @SuppressWarnings("deprecation") @Override protected URI encodeUri(String uri) { try { @@ -270,5 +272,5 @@ public abstract class AbstractWebServiceOutboundGateway extends AbstractReplyPro } } } - + }