Apache CXF API

org.apache.cxf.ws.addressing
Class ContextUtils

java.lang.Object
  extended by org.apache.cxf.ws.addressing.ContextUtils

public final class ContextUtils
extends Object

Holder for utility methods relating to contexts.


Field Summary
static String ACTION
           
static ObjectFactory WSA_OBJECT_FACTORY
           
 
Method Summary
static void applyReferenceParam(EndpointReferenceType toEpr, Object el)
           
static Destination createDecoupledDestination(Exchange exchange, EndpointReferenceType reference)
           
static Message createMessage(Exchange exchange)
          Create a Binding specific Message.
static String generateUUID()
           
static AttributedURIType getAttributedURI(String uri)
          Helper method to get an attributed URI.
static Conduit getConduit(Conduit conduit, Message message)
          Retreive Conduit from Exchange if not already available
static JAXBContext getJAXBContext()
          Retrieve a JAXBContext for marshalling and unmarshalling JAXB generated types.
static String getMAPProperty(boolean isRequestor, boolean isProviderContext, boolean isOutbound)
          Get appropriate property name for message addressing properties.
static EndpointReferenceType getNoneEndpointReference()
           
static RelatesToType getRelatesTo(String uri)
          Helper method to get a RealtesTo instance.
static boolean hasEmptyAction(AddressingProperties maps)
          Helper method to determine if an MAPs Action is empty (a null action is considered empty, whereas a zero length action suppresses the propagation of the Action property).
static boolean isAnonymousAddress(EndpointReferenceType ref)
          Helper method to determine if an EPR address is anon (either null, anonymous).
static boolean isFault(Message message)
          Determine if message is fault.
static boolean isGenericAddress(EndpointReferenceType ref)
          Helper method to determine if an EPR address is generic (either null, none or anonymous).
static boolean isNoneAddress(EndpointReferenceType ref)
          Helper method to determine if an EPR address is none.
static boolean isOutbound(Message message)
          Determine if message is outbound.
static boolean isRequestor(Message message)
          Determine if current messaging role is that of requestor.
static void propogateReceivedMAPs(AddressingProperties inMAPs, Exchange exchange)
          Propagate inbound MAPs onto full reponse & fault messages.
static void propogateReceivedMAPs(AddressingProperties inMAPs, Message responseMessage)
          Propogate inbound MAPs onto reponse message if applicable (not applicable for oneways).
static boolean retrieveAsyncPostResponseDispatch(Message message)
          Retrieve indication that an async post-response service invocation is required.
static boolean retrieveDeferredUncorrelatedMessageAbort(Message message)
          Retrieve indication that a deferred uncorrelated message abort should occur.
static boolean retrieveDeferUncorrelatedMessageAbort(Message message)
          Retrieve indication that a deferred uncorrelated message abort is supported
static String retrieveMAPFaultName(Message message)
          Retrieve MAP fault name from the message.
static String retrieveMAPFaultReason(Message message)
          Retrieve MAP fault reason from the message.
static AddressingProperties retrieveMAPs(Message message, boolean isProviderContext, boolean isOutbound)
           
static AddressingProperties retrieveMAPs(Message message, boolean isProviderContext, boolean isOutbound, boolean warnIfMissing)
           
static boolean retrievePartialResponseSent(Message message)
          Retrieve indication that a partial response has been sent.
static void setJAXBContext(JAXBContext ctx)
          Set the encapsulated JAXBContext (used by unit tests).
static void storeDeferredUncorrelatedMessageAbort(Message message)
          Store indication that a deferred uncorrelated message abort should occur
static void storeDeferUncorrelatedMessageAbort(Message message)
          Store indication that a deferred uncorrelated message abort is supported
static void storeMAPFaultName(String faultName, Message message)
          Store bad MAP fault name in the message.
static void storeMAPFaultReason(String reason, Message message)
          Store MAP fault reason in the message.
static void storeMAPs(AddressingProperties maps, Message message, boolean isOutbound)
          Store MAPs in the message.
static void storeMAPs(AddressingProperties maps, Message message, boolean isOutbound, boolean isRequestor)
          Store MAPs in the message.
static void storeMAPs(AddressingProperties maps, Message message, boolean isOutbound, boolean isRequestor, boolean isProviderContext)
          Store MAPs in the message.
static void storePartialResponseSent(Message message)
          Store an indication that a partial response has been sent.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WSA_OBJECT_FACTORY

public static final ObjectFactory WSA_OBJECT_FACTORY

ACTION

public static final String ACTION
Method Detail

isOutbound

public static boolean isOutbound(Message message)
Determine if message is outbound.

Parameters:
message - the current Message
Returns:
true iff the message direction is outbound

isFault

public static boolean isFault(Message message)
Determine if message is fault.

Parameters:
message - the current Message
Returns:
true iff the message is a fault

isRequestor

public static boolean isRequestor(Message message)
Determine if current messaging role is that of requestor.

Parameters:
message - the current Message
Returns:
true if the current messaging role is that of requestor

getMAPProperty

public static String getMAPProperty(boolean isRequestor,
                                    boolean isProviderContext,
                                    boolean isOutbound)
Get appropriate property name for message addressing properties.

Parameters:
isProviderContext - true if the binding provider request context available to the client application as opposed to the message context visible to handlers
isRequestor - true if the current messaging role is that of requestor
isOutbound - true if the message is outbound
Returns:
the property name to use when caching the MAPs in the context

storeMAPs

public static void storeMAPs(AddressingProperties maps,
                             Message message,
                             boolean isOutbound)
Store MAPs in the message.

Parameters:
message - the current message
isOutbound - true if the message is outbound

storeMAPs

public static void storeMAPs(AddressingProperties maps,
                             Message message,
                             boolean isOutbound,
                             boolean isRequestor)
Store MAPs in the message.

Parameters:
maps - the MAPs to store
message - the current message
isOutbound - true if the message is outbound
isRequestor - true if the current messaging role is that of requestor
handler - true if HANDLER scope, APPLICATION scope otherwise

storeMAPs

public static void storeMAPs(AddressingProperties maps,
                             Message message,
                             boolean isOutbound,
                             boolean isRequestor,
                             boolean isProviderContext)
Store MAPs in the message.

Parameters:
maps - the MAPs to store
message - the current message
isOutbound - true if the message is outbound
isRequestor - true if the current messaging role is that of requestor
handler - true if HANDLER scope, APPLICATION scope otherwise
isProviderContext - true if the binding provider request context

retrieveMAPs

public static AddressingProperties retrieveMAPs(Message message,
                                                boolean isProviderContext,
                                                boolean isOutbound)
Parameters:
message - the current message
isProviderContext - true if the binding provider request context available to the client application as opposed to the message context visible to handlers
isOutbound - true if the message is outbound
Returns:
the current addressing properties

retrieveMAPs

public static AddressingProperties retrieveMAPs(Message message,
                                                boolean isProviderContext,
                                                boolean isOutbound,
                                                boolean warnIfMissing)
Parameters:
message - the current message
isProviderContext - true if the binding provider request context available to the client application as opposed to the message context visible to handlers
isOutbound - true if the message is outbound
warnIfMissing - log a warning message if properties cannot be retrieved
Returns:
the current addressing properties

getAttributedURI

public static AttributedURIType getAttributedURI(String uri)
Helper method to get an attributed URI.

Parameters:
uri - the URI
Returns:
an AttributedURIType encapsulating the URI

getRelatesTo

public static RelatesToType getRelatesTo(String uri)
Helper method to get a RealtesTo instance.

Parameters:
uri - the related URI
Returns:
a RelatesToType encapsulating the URI

isGenericAddress

public static boolean isGenericAddress(EndpointReferenceType ref)
Helper method to determine if an EPR address is generic (either null, none or anonymous).

Parameters:
ref - the EPR under test
Returns:
true if the address is generic

isAnonymousAddress

public static boolean isAnonymousAddress(EndpointReferenceType ref)
Helper method to determine if an EPR address is anon (either null, anonymous).

Parameters:
ref - the EPR under test
Returns:
true if the address is generic

isNoneAddress

public static boolean isNoneAddress(EndpointReferenceType ref)
Helper method to determine if an EPR address is none.

Parameters:
ref - the EPR under test
Returns:
true if the address is generic

hasEmptyAction

public static boolean hasEmptyAction(AddressingProperties maps)
Helper method to determine if an MAPs Action is empty (a null action is considered empty, whereas a zero length action suppresses the propagation of the Action property).

Parameters:
ref - the MAPs Action under test
Returns:
true if the Action is empty

propogateReceivedMAPs

public static void propogateReceivedMAPs(AddressingProperties inMAPs,
                                         Exchange exchange)
Propagate inbound MAPs onto full reponse & fault messages.

Parameters:
inMAPs - the inbound MAPs
exchange - the current Exchange

propogateReceivedMAPs

public static void propogateReceivedMAPs(AddressingProperties inMAPs,
                                         Message responseMessage)
Propogate inbound MAPs onto reponse message if applicable (not applicable for oneways).

Parameters:
inMAPs - the inbound MAPs
responseMessage -

storeMAPFaultName

public static void storeMAPFaultName(String faultName,
                                     Message message)
Store bad MAP fault name in the message.

Parameters:
faultName - the fault name to store
message - the current message

retrieveMAPFaultName

public static String retrieveMAPFaultName(Message message)
Retrieve MAP fault name from the message.

Parameters:
message - the current message

storeMAPFaultReason

public static void storeMAPFaultReason(String reason,
                                       Message message)
Store MAP fault reason in the message.

Parameters:
reason - the fault reason to store
message - the current message

retrieveMAPFaultReason

public static String retrieveMAPFaultReason(Message message)
Retrieve MAP fault reason from the message.

Parameters:
message - the current message

storePartialResponseSent

public static void storePartialResponseSent(Message message)
Store an indication that a partial response has been sent. Relavant if *both* the replyTo & faultTo are decoupled, and a fault occurs, then we would already have sent the partial response (pre-dispatch) for the replyTo, so no need to send again.

Parameters:
message - the current message

retrievePartialResponseSent

public static boolean retrievePartialResponseSent(Message message)
Retrieve indication that a partial response has been sent.

Parameters:
message - the current message

storeDeferUncorrelatedMessageAbort

public static void storeDeferUncorrelatedMessageAbort(Message message)
Store indication that a deferred uncorrelated message abort is supported

Parameters:
message - the current message

retrieveDeferUncorrelatedMessageAbort

public static boolean retrieveDeferUncorrelatedMessageAbort(Message message)
Retrieve indication that a deferred uncorrelated message abort is supported

Parameters:
message - the current message

storeDeferredUncorrelatedMessageAbort

public static void storeDeferredUncorrelatedMessageAbort(Message message)
Store indication that a deferred uncorrelated message abort should occur

Parameters:
message - the current message

retrieveDeferredUncorrelatedMessageAbort

public static boolean retrieveDeferredUncorrelatedMessageAbort(Message message)
Retrieve indication that a deferred uncorrelated message abort should occur.

Parameters:
message - the current message

retrieveAsyncPostResponseDispatch

public static boolean retrieveAsyncPostResponseDispatch(Message message)
Retrieve indication that an async post-response service invocation is required.

Parameters:
message - the current message

getJAXBContext

public static JAXBContext getJAXBContext()
                                  throws JAXBException
Retrieve a JAXBContext for marshalling and unmarshalling JAXB generated types.

Returns:
a JAXBContext
Throws:
JAXBException

setJAXBContext

public static void setJAXBContext(JAXBContext ctx)
                           throws JAXBException
Set the encapsulated JAXBContext (used by unit tests).

Parameters:
ctx - JAXBContext
Throws:
JAXBException

generateUUID

public static String generateUUID()
Returns:
a generated UUID

getConduit

public static Conduit getConduit(Conduit conduit,
                                 Message message)
Retreive Conduit from Exchange if not already available

Parameters:
conduit - the current value for the Conduit
message - the current message
Returns:
the Conduit if available

getNoneEndpointReference

public static EndpointReferenceType getNoneEndpointReference()

applyReferenceParam

public static void applyReferenceParam(EndpointReferenceType toEpr,
                                       Object el)

createMessage

public static Message createMessage(Exchange exchange)
Create a Binding specific Message.

Parameters:
message - the current message
Returns:
the Method from the BindingOperationInfo

createDecoupledDestination

public static Destination createDecoupledDestination(Exchange exchange,
                                                     EndpointReferenceType reference)

Apache CXF API

Apache CXF