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
- Author:
- Arjen Poutsma
- 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
-