Class XPathPayloadEndpointMapping
java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.ws.server.endpoint.mapping.AbstractEndpointMapping
org.springframework.ws.server.endpoint.mapping.AbstractMapBasedEndpointMapping
org.springframework.ws.server.endpoint.mapping.XPathPayloadEndpointMapping
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware,org.springframework.core.Ordered,EndpointMapping
public class XPathPayloadEndpointMapping
extends AbstractMapBasedEndpointMapping
implements org.springframework.beans.factory.InitializingBean
Implementation of the
EndpointMapping interface that maps to endpoint using an
XPath expression. Supports both mapping to bean instances and mapping to bean names:
the latter is required for prototype endpoints.
The XPath expression can be set using the expression property. Setting this
property is required. There is also an optional namespaces property, which
defines to set namespace bindings that are used in the expression.
The endpointMap property is suitable for populating the endpoint map with bean
references, e.g. via the map element in XML bean definitions.
Mappings to bean names can be set via the mappings property, in a form accepted
by the java.util.Properties class, like as follows:
BookFlight=bookFlightEndpoint GetFlights=getFlightsEndpointThe syntax is XPATH_EVALUATION=ENDPOINT_BEAN_NAME. The key is the evaluation of the XPath expression for the incoming message, the value is the name of the endpoint.
- Since:
- 1.0.0
- See Also:
-
Field Summary
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
loggerFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected StringgetLookupKeyForMessage(MessageContext messageContext) Returns the endpoint key for the given message context.voidsetExpression(String expression) Sets the XPath expression to be used.voidsetNamespaces(Map<String, String> namespaces) Sets the namespaces bindings used in the expression.protected booleanvalidateLookupKey(String key) Validates the given endpoint key.Methods inherited from class org.springframework.ws.server.endpoint.mapping.AbstractMapBasedEndpointMapping
getEndpointInternal, initApplicationContext, lookupEndpoint, registerEndpoint, setEndpointMap, setLazyInitEndpoints, setMappings, setRegisterBeanNamesMethods inherited from class org.springframework.ws.server.endpoint.mapping.AbstractEndpointMapping
createEndpointInvocationChain, getDefaultEndpoint, getEndpoint, getInterceptors, getOrder, initInterceptors, resolveStringEndpoint, setDefaultEndpoint, setInterceptors, setOrderMethods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, isContextRequired, obtainApplicationContext, requiredContextClass, setApplicationContext
-
Constructor Details
-
XPathPayloadEndpointMapping
public XPathPayloadEndpointMapping()
-
-
Method Details
-
setExpression
Sets the XPath expression to be used. -
setNamespaces
Sets the namespaces bindings used in the expression. Keys are prefixes, values are namespaces. -
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-
getLookupKeyForMessage
Description copied from class:AbstractMapBasedEndpointMappingReturns the endpoint key for the given message context. Returnsnullif a key cannot be found.- Specified by:
getLookupKeyForMessagein classAbstractMapBasedEndpointMapping- Returns:
- the registration key; or
null - Throws:
Exception
-
validateLookupKey
Description copied from class:AbstractMapBasedEndpointMappingValidates the given endpoint key. Should returntrueis the given string is valid.- Specified by:
validateLookupKeyin classAbstractMapBasedEndpointMapping
-