Merge pull request #475 from olegz/INT-2593

This commit is contained in:
Gary Russell
2012-06-04 18:32:02 -04:00
2 changed files with 20 additions and 18 deletions

View File

@@ -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 {

View File

@@ -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<Object> {
public Object extractData(WebServiceMessage message)
throws IOException, TransformerException {
Object resultObject = this.doExtractData(message);
if (message instanceof SoapMessage){
if (message instanceof SoapMessage){
Map<String, Object> 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
}
}
}
}