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
Nested Classes Modifier and Type Class Description protected classAbstractWebServiceOutboundGateway.RequestMessageCallbackprotected classAbstractWebServiceOutboundGateway.ResponseMessageExtractorNested classes/interfaces inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
AbstractReplyProducingMessageHandler.RequestHandlerNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides -
Field Summary
Fields Modifier and Type Field Description protected DefaultUriBuilderFactoryuriFactoryFields inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
messagingTemplateFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors Constructor Description AbstractWebServiceOutboundGateway(String uri, WebServiceMessageFactory messageFactory)AbstractWebServiceOutboundGateway(DestinationProvider destinationProvider, WebServiceMessageFactory messageFactory) -
Method Summary
Modifier and Type Method Description protected abstract ObjectdoHandle(String theUri, Message<?> requestMessage, WebServiceMessageCallback reqCallback)protected voiddoInit()protected voiddoSetWebServiceTemplate(WebServiceTemplate template)protected WebServiceTemplategetWebServiceTemplate()ObjecthandleRequestMessage(Message<?> requestMessage)Subclasses must implement this method to handle the request Message.voidsetEncodeUri(boolean encodeUri)Deprecated.since 5.3 in favor ofsetEncodingMode(org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode)voidsetEncodingMode(DefaultUriBuilderFactory.EncodingMode encodingMode)Set the encoding mode to use.voidsetFaultMessageResolver(FaultMessageResolver faultMessageResolver)voidsetHeaderMapper(SoapHeaderMapper headerMapper)voidsetIgnoreEmptyResponses(boolean ignoreEmptyResponses)Specify whether empty String response payloads should be ignored.voidsetInterceptors(ClientInterceptor... interceptors)voidsetMessageFactory(WebServiceMessageFactory messageFactory)voidsetMessageSender(WebServiceMessageSender messageSender)Deprecated.in favor ofsetMessageSenders(WebServiceMessageSender...)voidsetMessageSenders(WebServiceMessageSender... messageSenders)voidsetReplyChannel(MessageChannel replyChannel)voidsetRequestCallback(WebServiceMessageCallback requestCallback)voidsetUriVariableExpressions(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.voidsetWebServiceTemplate(WebServiceTemplate webServiceTemplate)Methods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
doInvokeAdvisedRequestHandler, getBeanClassLoader, getIntegrationPatternType, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplyMethods inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadersMethods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribeMethods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getComponentType, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods 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, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Field Details
-
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.
-
setEncodeUri
Deprecated.since 5.3 in favor ofsetEncodingMode(org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode)Specify whether the URI should be encoded after anyuriVariablesare expanded and before sending the request. The default value istrue.- Parameters:
encodeUri- true if the URI should be encoded.- Since:
- 4.1
- See Also:
UriComponentsBuilder
-
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 tofalseif you want to send empty String responses in reply Messages.- Parameters:
ignoreEmptyResponses- true if empty responses should be ignored.
-
setWebServiceTemplate
-
doSetWebServiceTemplate
-
setMessageFactory
-
setRequestCallback
-
setFaultMessageResolver
-
setMessageSender
Deprecated.in favor ofsetMessageSenders(WebServiceMessageSender...)Specify theWebServiceMessageSenderto use.- Parameters:
messageSender- the sender.
-
setMessageSenders
-
setInterceptors
-
doInit
protected void doInit()- Overrides:
doInitin classAbstractReplyProducingMessageHandler
-
getWebServiceTemplate
-
handleRequestMessage
Description copied from class:AbstractReplyProducingMessageHandlerSubclasses 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:
handleRequestMessagein 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)
-