IN PROGRESS - issue INT-389: Allow configuration of a WebServiceMessageSender instance for WS handlers
http://jira.springframework.org/browse/INT-389 added setter methods on AbstractWebServiceHandler and namespace support
This commit is contained in:
@@ -91,6 +91,19 @@ public class WebServiceHandlerParser extends AbstractSingleBeanDefinitionParser
|
||||
if (StringUtils.hasText(faultMessageResolverRef)) {
|
||||
builder.addPropertyReference("faultMessageResolver", faultMessageResolverRef);
|
||||
}
|
||||
|
||||
String messageSenderRef = element.getAttribute("message-sender");
|
||||
String messageSenderListRef = element.getAttribute("message-senders");
|
||||
if(StringUtils.hasText(messageSenderRef) && StringUtils.hasText(messageSenderListRef)){
|
||||
throw new ConfigurationException("Only one of message-sender or mesage-senders should be specified");
|
||||
}
|
||||
|
||||
if (StringUtils.hasText(messageSenderRef)) {
|
||||
builder.addPropertyReference("messageSender", messageSenderRef);
|
||||
}
|
||||
if (StringUtils.hasText(messageSenderListRef)) {
|
||||
builder.addPropertyReference("messageSenders", messageSenderListRef);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -33,6 +33,8 @@
|
||||
<xsd:attribute name="request-callback" type="xsd:string"/>
|
||||
<xsd:attribute name="message-factory" type="xsd:string"/>
|
||||
<xsd:attribute name="fault-message-resolver" type="xsd:string"/>
|
||||
<xsd:attribute name="message-sender" type="xsd:string"/>
|
||||
<xsd:attribute name="message-senders" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import org.springframework.ws.client.core.WebServiceMessageCallback;
|
||||
import org.springframework.ws.client.core.WebServiceTemplate;
|
||||
import org.springframework.ws.soap.SoapMessage;
|
||||
import org.springframework.ws.soap.client.core.SoapActionCallback;
|
||||
import org.springframework.ws.transport.WebServiceMessageSender;
|
||||
|
||||
/**
|
||||
* Base class for outbound Web Service-invoking adapters.
|
||||
@@ -65,7 +66,15 @@ public abstract class AbstractWebServiceHandler extends AbstractMessageHandlingE
|
||||
public void setFaultMessageResolver(FaultMessageResolver faultMessageResolver) {
|
||||
this.webServiceTemplate.setFaultMessageResolver(faultMessageResolver);
|
||||
}
|
||||
|
||||
public void setMessageSender(WebServiceMessageSender messageSender) {
|
||||
this.webServiceTemplate.setMessageSender(messageSender);
|
||||
}
|
||||
|
||||
public void setMessageSenders(WebServiceMessageSender[] messageSenders) {
|
||||
this.webServiceTemplate.setMessageSenders(messageSenders);
|
||||
}
|
||||
|
||||
protected WebServiceTemplate getWebServiceTemplate() {
|
||||
return this.webServiceTemplate;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user