This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

XPath Extension Functions

There are two custom functions supported by the ESB as follows:

  1. synapse:get-property() function
  2. base64Encode() function

synapse:get-property()

The get-property() function allows any XPath expression used in a configuration to look up information from the current message context. Using property mediator, you can retrieve properties previously set, and/or information from the Synapse, Axis2 message contexts or transport header.

The syntax of the function takes the following format.

  • get-property(String propertyName)
  • get-property(String scope, String propertyName)

The function accepts scope as an optional parameter. It retrieves a message property at the given scope, which can be synapse, axis2 or transport. If you provide only the property name without the scope, the default Synapse scope will be used.

synapse:get-property( [(axis2 | axis2-client | transport),] <property_name> [,<dateformat>] )

You can use the get-property() function to retrieve Axis2 message context properties or transport headers. For example, synapse:get-property('transport', 'USER_AGENT'). Given below are special properties supported by the get-property() function.

NameReturn Value
ToIncoming URL as a String or empty string («») if a To address is not defined.
FromFrom address as a String or empty string («») if a From address is not defined
ActionSOAP Addressing Action header value as a String or empty string («») if a Action is not defined
FaultToSOAP FautTo header value as a String or empty string («») if a FaultTo address is not defined
ReplyToReplyTo header value as a String or empty string («») if a ReplyTo address is not defined
MessageIDA unique identifier (UUID) for the message as a String or empty string («») if MessageID is not defined. This id is guaranteed to be unique.
FAULTTRUE if the message has a fault or empty string if message doesn't have a fault
MESSAGE_FORMATReturns pox, get, soap11, soap12 depending on the message. If a message type is unknown this returns soap12
OperationNameOperation name corresponding to the message. A proxy service with a WSDL can have different operations. If the WSDL is not defined ESB defines fixed operations

base64Encode() function

The syntax of the function takes the following format.

  • base64Encode(string)

It returns the base64 encoded value of the string argument.

Next, see Synapse XPath Variables.