Spring Integration

org.springframework.integration.ws
Class AbstractWebServiceOutboundGateway

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      extended by org.springframework.integration.handler.AbstractMessageHandler
          extended by org.springframework.integration.handler.AbstractReplyProducingMessageHandler
              extended by org.springframework.integration.ws.AbstractWebServiceOutboundGateway
All Implemented Interfaces:
org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered, NamedComponent, Orderable, MessageHandler, MessageProducer, TrackableComponent
Direct Known Subclasses:
MarshallingWebServiceOutboundGateway, SimpleWebServiceOutboundGateway

public abstract class AbstractWebServiceOutboundGateway
extends AbstractReplyProducingMessageHandler

Base class for outbound Web Service-invoking Messaging Gateways.

Author:
Mark Fisher, Jonas Partner

Nested Class Summary
protected  class AbstractWebServiceOutboundGateway.RequestMessageCallback
           
protected  class AbstractWebServiceOutboundGateway.ResponseMessageExtractor
           
 
Field Summary
protected  SoapHeaderMapper headerMapper
           
 
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
logger
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
AbstractWebServiceOutboundGateway(org.springframework.ws.client.support.destination.DestinationProvider destinationProvider, org.springframework.ws.WebServiceMessageFactory messageFactory)
           
AbstractWebServiceOutboundGateway(java.lang.String uri, org.springframework.ws.WebServiceMessageFactory messageFactory)
           
 
Method Summary
protected abstract  java.lang.Object doHandle(java.lang.String uri, Message<?> requestMessage, org.springframework.ws.client.core.WebServiceMessageCallback requestCallback)
           
protected  org.springframework.ws.client.core.WebServiceTemplate getWebServiceTemplate()
           
 java.lang.Object handleRequestMessage(Message<?> requestMessage)
          Subclasses must implement this method to handle the request Message.
 void onInit()
          Subclasses may implement this for initialization logic.
 void setFaultMessageResolver(org.springframework.ws.client.core.FaultMessageResolver faultMessageResolver)
           
 void setHeaderMapper(SoapHeaderMapper headerMapper)
           
 void setIgnoreEmptyResponses(boolean ignoreEmptyResponses)
          Specify whether empty String response payloads should be ignored.
 void setInterceptors(org.springframework.ws.client.support.interceptor.ClientInterceptor[] interceptors)
           
 void setMessageFactory(org.springframework.ws.WebServiceMessageFactory messageFactory)
           
 void setMessageSender(org.springframework.ws.transport.WebServiceMessageSender messageSender)
           
 void setMessageSenders(org.springframework.ws.transport.WebServiceMessageSender[] messageSenders)
           
 void setReplyChannel(MessageChannel replyChannel)
           
 void setRequestCallback(org.springframework.ws.client.core.WebServiceMessageCallback requestCallback)
           
 void setUriVariableExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> uriVariableExpressions)
          Set the Map of URI variable expressions to evaluate against the outbound message when replacing the variable placeholders in a URI template.
 
Methods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
getMessagingTemplate, handleMessageInternal, setChannelResolver, setOutputChannel, setRequiresReply, setSendTimeout, shouldCopyRequestHeaders
 
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
getComponentType, getOrder, handleMessage, setOrder, setShouldTrack
 
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.integration.context.NamedComponent
getComponentName
 

Field Detail

headerMapper

protected volatile SoapHeaderMapper headerMapper
Constructor Detail

AbstractWebServiceOutboundGateway

public AbstractWebServiceOutboundGateway(java.lang.String uri,
                                         org.springframework.ws.WebServiceMessageFactory messageFactory)

AbstractWebServiceOutboundGateway

public AbstractWebServiceOutboundGateway(org.springframework.ws.client.support.destination.DestinationProvider destinationProvider,
                                         org.springframework.ws.WebServiceMessageFactory messageFactory)
Method Detail

setHeaderMapper

public void setHeaderMapper(SoapHeaderMapper headerMapper)

setUriVariableExpressions

public void setUriVariableExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> uriVariableExpressions)
Set the Map of URI variable expressions to evaluate against the outbound message when replacing the variable placeholders in a URI template.


setReplyChannel

public void setReplyChannel(MessageChannel replyChannel)

setIgnoreEmptyResponses

public void setIgnoreEmptyResponses(boolean ignoreEmptyResponses)
Specify whether empty String response payloads should be ignored. The default is true. Set this to false if you want to send empty String responses in reply Messages.


setMessageFactory

public void setMessageFactory(org.springframework.ws.WebServiceMessageFactory messageFactory)

setRequestCallback

public void setRequestCallback(org.springframework.ws.client.core.WebServiceMessageCallback requestCallback)

setFaultMessageResolver

public void setFaultMessageResolver(org.springframework.ws.client.core.FaultMessageResolver faultMessageResolver)

setMessageSender

public void setMessageSender(org.springframework.ws.transport.WebServiceMessageSender messageSender)

setMessageSenders

public void setMessageSenders(org.springframework.ws.transport.WebServiceMessageSender[] messageSenders)

setInterceptors

public void setInterceptors(org.springframework.ws.client.support.interceptor.ClientInterceptor[] interceptors)

onInit

public void onInit()
Description copied from class: IntegrationObjectSupport
Subclasses may implement this for initialization logic.

Overrides:
onInit in class AbstractReplyProducingMessageHandler

getWebServiceTemplate

protected org.springframework.ws.client.core.WebServiceTemplate getWebServiceTemplate()

handleRequestMessage

public final java.lang.Object handleRequestMessage(Message<?> requestMessage)
Description copied from class: AbstractReplyProducingMessageHandler
Subclasses must implement this method to handle the request Message. The return value may be a Message, a MessageBuilder, or any plain Object. The base class will handle the final creation of a reply Message from any of those starting points. If the return value is null, the Message flow will end here.

Specified by:
handleRequestMessage in class AbstractReplyProducingMessageHandler

doHandle

protected abstract java.lang.Object doHandle(java.lang.String uri,
                                             Message<?> requestMessage,
                                             org.springframework.ws.client.core.WebServiceMessageCallback requestCallback)

Spring Integration