Class AbstractWebServiceOutboundGateway
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
org.springframework.integration.handler.AbstractReplyProducingMessageHandler
org.springframework.integration.ws.AbstractWebServiceOutboundGateway
- All Implemented Interfaces:
org.reactivestreams.Subscriber<Message<?>>
,Aware
,BeanClassLoaderAware
,BeanFactoryAware
,BeanNameAware
,DisposableBean
,InitializingBean
,ApplicationContextAware
,Ordered
,ExpressionCapable
,Orderable
,MessageProducer
,HeaderPropagationAware
,IntegrationPattern
,NamedComponent
,IntegrationManagement
,TrackableComponent
,MessageHandler
,reactor.core.CoreSubscriber<Message<?>>
- 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, Oleg Zhurakousky, Gary Russell, Artem Bilan
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
protected class
Nested classes/interfaces inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
AbstractReplyProducingMessageHandler.RequestHandler
Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides
-
Field Summary
Fields inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
messagingTemplate
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, logger
Fields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorDescriptionAbstractWebServiceOutboundGateway
(String uri, WebServiceMessageFactory messageFactory) AbstractWebServiceOutboundGateway
(DestinationProvider destinationProvider, WebServiceMessageFactory messageFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract Object
doHandle
(String theUri, Message<?> requestMessage, WebServiceMessageCallback reqCallback) protected void
doInit()
protected final void
doSetWebServiceTemplate
(WebServiceTemplate template) protected WebServiceTemplate
final Object
handleRequestMessage
(Message<?> requestMessage) Subclasses must implement this method to handle the request Message.void
setEncodingMode
(DefaultUriBuilderFactory.EncodingMode encodingMode) Set the encoding mode to use.void
setFaultMessageResolver
(FaultMessageResolver faultMessageResolver) void
setHeaderMapper
(SoapHeaderMapper headerMapper) void
setIgnoreEmptyResponses
(boolean ignoreEmptyResponses) Specify whether empty String response payloads should be ignored.void
setInterceptors
(ClientInterceptor... interceptors) void
setMessageFactory
(WebServiceMessageFactory messageFactory) void
setMessageSenders
(WebServiceMessageSender... messageSenders) void
setReplyChannel
(MessageChannel replyChannel) void
setRequestCallback
(WebServiceMessageCallback requestCallback) void
setUriVariableExpressions
(Map<String, Expression> uriVariableExpressions) Set the Map of URI variable expressions to evaluate against the outbound message when replacing the variable placeholders in a URI template.void
setWebServiceTemplate
(WebServiceTemplate webServiceTemplate) Methods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
doInvokeAdvisedRequestHandler, getBeanClassLoader, getIntegrationPatternType, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReply
Methods inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, setupMessageProcessor, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeaders
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConvention
Methods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getComponentType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface reactor.core.CoreSubscriber
currentContext
Methods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAs
Methods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Field Details
-
uriFactory
-
-
Constructor Details
-
AbstractWebServiceOutboundGateway
-
AbstractWebServiceOutboundGateway
public AbstractWebServiceOutboundGateway(DestinationProvider destinationProvider, WebServiceMessageFactory messageFactory)
-
-
Method Details
-
setHeaderMapper
-
setUriVariableExpressions
Set the Map of URI variable expressions to evaluate against the outbound message when replacing the variable placeholders in a URI template.- Parameters:
uriVariableExpressions
- The URI variable expressions.
-
setEncodingMode
Set the encoding mode to use. By default, this is set toDefaultUriBuilderFactory.EncodingMode.TEMPLATE_AND_VALUES
.- Parameters:
encodingMode
- the mode to use for uri encoding- Since:
- 5.3
-
setReplyChannel
-
setIgnoreEmptyResponses
public void setIgnoreEmptyResponses(boolean ignoreEmptyResponses) Specify whether empty String response payloads should be ignored. The default istrue
. Set this tofalse
if you want to send empty String responses in reply Messages.- Parameters:
ignoreEmptyResponses
- true if empty responses should be ignored.
-
setWebServiceTemplate
-
doSetWebServiceTemplate
-
setMessageFactory
-
setRequestCallback
-
setFaultMessageResolver
-
setMessageSenders
-
setInterceptors
-
doInit
protected void doInit()- Overrides:
doInit
in classAbstractReplyProducingMessageHandler
-
getWebServiceTemplate
-
handleRequestMessage
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 classAbstractReplyProducingMessageHandler
- Parameters:
requestMessage
- The request message.- Returns:
- The result of handling the message, or
null
.
-
doHandle
protected abstract Object doHandle(String theUri, Message<?> requestMessage, WebServiceMessageCallback reqCallback)
-