public abstract class AbstractAddressingEndpointMappingHacked
extends org.springframework.xml.transform.TransformerObjectSupport
implements org.springframework.ws.soap.server.SoapEndpointMapping, org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered
EndpointMapping
implementations that handle WS-Addressing. Besides the normal SoapEndpointMapping
properties, this mapping has a versions
property, which defines the WS-Addressing specifications supported. By default, these are Addressing200408
and Addressing10
.
The messageIdStrategy
property defines the strategy to use for
creating reply MessageIDs
. By default, this is the UuidMessageIdStrategy
.
The messageSenders
are used to send out-of-band reply messages.
If a request messages defines a non-anonymous reply address, these senders will be used to send the message.
This mapping (and all subclasses) uses an implicit WS-Addressing EndpointInterceptor
, which is added in every
EndpointInvocationChain
produced. As such, this mapping does not have the standard interceptors
property, but rather a preInterceptors
and postInterceptors
property, which are added before and after the implicit
WS-Addressing interceptor, respectively.Modifier | Constructor and Description |
---|---|
protected |
AbstractAddressingEndpointMappingHacked()
Protected constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
org.springframework.ws.server.EndpointInvocationChain |
getEndpoint(org.springframework.ws.context.MessageContext messageContext) |
protected abstract Object |
getEndpointInternal(org.springframework.ws.soap.addressing.core.MessageAddressingProperties map)
Lookup an endpoint for the given
MessageAddressingProperties , returning null if no specific
one is found. |
protected abstract URI |
getFaultAction(Object endpoint,
org.springframework.ws.soap.addressing.core.MessageAddressingProperties requestMap)
Provides the WS-Addressing Action for response fault messages, given the endpoint, and request Message Addressing
Properties.
|
org.springframework.ws.transport.WebServiceMessageSender[] |
getMessageSenders() |
protected org.springframework.ws.transport.WebServiceMessageSender[] |
getMessageSenders(Object endpoint)
Default implementation
|
protected org.springframework.ws.soap.addressing.messageid.MessageIdStrategy |
getMessageStrategy(Object endpoint)
Default implementation
|
int |
getOrder() |
protected abstract URI |
getResponseAction(Object endpoint,
org.springframework.ws.soap.addressing.core.MessageAddressingProperties requestMap)
Provides the WS-Addressing Action for response messages, given the endpoint, and request Message Addressing
Properties.
|
protected void |
initDefaultStrategies()
Initializes the default implementation for this mapping's strategies: the
Addressing200408 and Addressing10
versions of the specification, and the UuidMessageIdStrategy . |
void |
setActorOrRole(String actorOrRole) |
void |
setActorsOrRoles(String[] actorsOrRoles) |
void |
setMessageIdStrategy(org.springframework.ws.soap.addressing.messageid.MessageIdStrategy messageIdStrategy)
Sets the message id strategy used for creating WS-Addressing MessageIds.
|
void |
setMessageSender(org.springframework.ws.transport.WebServiceMessageSender messageSender)
Sets the single message sender used for sending messages.
|
void |
setMessageSenders(org.springframework.ws.transport.WebServiceMessageSender[] messageSenders) |
void |
setOrder(int order)
Specify the order value for this mapping.
|
void |
setPostInterceptors(org.springframework.ws.server.EndpointInterceptor[] postInterceptors)
Set additional interceptors to be applied after the implicit WS-Addressing interceptor, e.g.
|
void |
setPreInterceptors(org.springframework.ws.server.EndpointInterceptor[] preInterceptors)
Set additional interceptors to be applied before the implicit WS-Addressing interceptor, e.g.
|
void |
setUltimateReceiver(boolean ultimateReceiver) |
void |
setVersions(org.springframework.ws.soap.addressing.version.AddressingVersion[] versions)
Sets the WS-Addressing versions to be supported by this mapping.
|
protected AbstractAddressingEndpointMappingHacked()
protected void initDefaultStrategies()
Addressing200408
and Addressing10
versions of the specification, and the UuidMessageIdStrategy
.public final void setActorOrRole(String actorOrRole)
setActorOrRole
in interface org.springframework.ws.soap.server.SoapEndpointMapping
public final void setActorsOrRoles(String[] actorsOrRoles)
setActorsOrRoles
in interface org.springframework.ws.soap.server.SoapEndpointMapping
public final void setUltimateReceiver(boolean ultimateReceiver)
setUltimateReceiver
in interface org.springframework.ws.soap.server.SoapEndpointMapping
public final int getOrder()
getOrder
in interface org.springframework.core.Ordered
public final void setOrder(int order)
Integer.MAX_VALUE
, meaning that it's non-ordered.Ordered.getOrder()
public final void setPreInterceptors(org.springframework.ws.server.EndpointInterceptor[] preInterceptors)
XwsSecurityInterceptor
.public final void setPostInterceptors(org.springframework.ws.server.EndpointInterceptor[] postInterceptors)
PayloadLoggingInterceptor
.public final void setMessageIdStrategy(org.springframework.ws.soap.addressing.messageid.MessageIdStrategy messageIdStrategy)
UuidMessageIdStrategy
is used.public void setMessageSender(org.springframework.ws.transport.WebServiceMessageSender messageSender)
WebServiceConnection
.#createConnection(URI)
public final void setMessageSenders(org.springframework.ws.transport.WebServiceMessageSender[] messageSenders)
public final org.springframework.ws.transport.WebServiceMessageSender[] getMessageSenders()
public final void setVersions(org.springframework.ws.soap.addressing.version.AddressingVersion[] versions)
the August 2004
and the May 2006
versions of
the specification.public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
Exception
public final org.springframework.ws.server.EndpointInvocationChain getEndpoint(org.springframework.ws.context.MessageContext messageContext) throws TransformerException
getEndpoint
in interface org.springframework.ws.server.EndpointMapping
TransformerException
protected org.springframework.ws.soap.addressing.messageid.MessageIdStrategy getMessageStrategy(Object endpoint)
endpoint
- specific message strategyprotected org.springframework.ws.transport.WebServiceMessageSender[] getMessageSenders(Object endpoint)
endpoint
- protected abstract Object getEndpointInternal(org.springframework.ws.soap.addressing.core.MessageAddressingProperties map)
MessageAddressingProperties
, returning null
if no specific
one is found. This template method is called by getEndpoint(MessageContext)
.map
- the message addressing propertiesnull
protected abstract URI getResponseAction(Object endpoint, org.springframework.ws.soap.addressing.core.MessageAddressingProperties requestMap)
endpoint
- the mapped endpointrequestMap
- the MAP for the requestprotected abstract URI getFaultAction(Object endpoint, org.springframework.ws.soap.addressing.core.MessageAddressingProperties requestMap)
endpoint
- the mapped endpointrequestMap
- the MAP for the requestApache Camel