Spring Web Services Framework

org.springframework.ws.soap.server.endpoint.mapping
Class SoapActionEndpointMapping

java.lang.Object
  extended by org.springframework.context.support.ApplicationObjectSupport
      extended by org.springframework.ws.server.endpoint.mapping.AbstractEndpointMapping
          extended by org.springframework.ws.server.endpoint.mapping.AbstractMapBasedEndpointMapping
              extended by org.springframework.ws.soap.server.endpoint.mapping.SoapActionEndpointMapping
All Implemented Interfaces:
ApplicationContextAware, Ordered, EndpointMapping, SoapEndpointMapping

public class SoapActionEndpointMapping
extends AbstractMapBasedEndpointMapping
implements SoapEndpointMapping

Implementation of the EndpointMapping interface to map from SOAPAction headers to endpoint beans. Supports both mapping to bean instances and mapping to bean names: the latter is required for prototype handlers.

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:

 http://www.springframework.org/spring-ws/samples/airline/BookFlight=bookFlightEndpoint
 http://www.springframework.org/spring-ws/samples/airline/GetFlights=getFlightsEndpoint
 
The syntax is SOAP_ACTION=ENDPOINT_BEAN_NAME.

This endpoint mapping does not read from the request message, and therefore is more suitable for message factories which directly read from the transport request (such as the AxiomSoapMessageFactory with the payloadCaching disabled).

Since:
1.0.0
Author:
Arjen Poutsma

Field Summary
 
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
SoapActionEndpointMapping()
           
 
Method Summary
protected  EndpointInvocationChain createEndpointInvocationChain(MessageContext messageContext, Object endpoint, EndpointInterceptor[] interceptors)
          Creates a new SoapEndpointInvocationChain based on the given endpoint, and the set interceptors, and actors/roles.
protected  String getLookupKeyForMessage(MessageContext messageContext)
          Returns the the endpoint key for the given message context.
 void setActorOrRole(String actorOrRole)
          Sets a single SOAP actor/actorOrRole to apply to all endpoints mapped by the delegate endpoint mapping.
 void setActorsOrRoles(String[] actorsOrRoles)
          Sets the array of SOAP actors/actorsOrRoles to apply to all endpoints mapped by the delegate endpoint mapping.
 void setUltimateReceiver(boolean ultimateReceiver)
          Indicates whether this the endpoint fulfills the SOAP 1.2 Ultimate Receiver role.
protected  boolean validateLookupKey(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, setRegisterBeanNames
 
Methods inherited from class org.springframework.ws.server.endpoint.mapping.AbstractEndpointMapping
getDefaultEndpoint, getEndpoint, getInterceptors, getOrder, resolveStringEndpoint, setDefaultEndpoint, setInterceptors, setOrder
 
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, isContextRequired, requiredContextClass, setApplicationContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.ws.server.EndpointMapping
getEndpoint
 

Constructor Detail

SoapActionEndpointMapping

public SoapActionEndpointMapping()
Method Detail

setActorOrRole

public final void setActorOrRole(String actorOrRole)
Description copied from interface: SoapEndpointMapping
Sets a single SOAP actor/actorOrRole to apply to all endpoints mapped by the delegate endpoint mapping.

Specified by:
setActorOrRole in interface SoapEndpointMapping

setActorsOrRoles

public final void setActorsOrRoles(String[] actorsOrRoles)
Description copied from interface: SoapEndpointMapping
Sets the array of SOAP actors/actorsOrRoles to apply to all endpoints mapped by the delegate endpoint mapping.

Specified by:
setActorsOrRoles in interface SoapEndpointMapping

setUltimateReceiver

public final void setUltimateReceiver(boolean ultimateReceiver)
Description copied from interface: SoapEndpointMapping
Indicates whether this the endpoint fulfills the SOAP 1.2 Ultimate Receiver role.

Specified by:
setUltimateReceiver in interface SoapEndpointMapping

createEndpointInvocationChain

protected final EndpointInvocationChain createEndpointInvocationChain(MessageContext messageContext,
                                                                      Object endpoint,
                                                                      EndpointInterceptor[] interceptors)
Creates a new SoapEndpointInvocationChain based on the given endpoint, and the set interceptors, and actors/roles.

Overrides:
createEndpointInvocationChain in class AbstractEndpointMapping
Parameters:
endpoint - the endpoint
interceptors - the endpoint interceptors
Returns:
the created invocation chain
See Also:
AbstractEndpointMapping.setInterceptors(org.springframework.ws.server.EndpointInterceptor[]), setActorsOrRoles(String[])

getLookupKeyForMessage

protected String getLookupKeyForMessage(MessageContext messageContext)
                                 throws Exception
Description copied from class: AbstractMapBasedEndpointMapping
Returns the the endpoint key for the given message context. Returns null if a key cannot be found.

Specified by:
getLookupKeyForMessage in class AbstractMapBasedEndpointMapping
Returns:
the registration key; or null
Throws:
Exception

validateLookupKey

protected boolean validateLookupKey(String key)
Description copied from class: AbstractMapBasedEndpointMapping
Validates the given endpoint key. Should return true is the given string is valid.

Specified by:
validateLookupKey in class AbstractMapBasedEndpointMapping

Spring Web Services Framework

Copyright © 2005-2010 The Spring Web Services Framework. All Rights Reserved.