There are two custom functions supported by the ESB as follows:
...
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. one of the following.
Table of Contents | ||||
---|---|---|---|---|
|
If you provide only the property name without the scope, the default Synapse scope will be used.
synapse:get-property( [(axis2 | axis2-client | transport | system),] <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
Default Scope
Message context properties within the synapse scope can be retrieved from the default scope. In addition to the user defined properties, following special properties can be retrieved from the default scope.
Name | Return Value |
To | Incoming URL as a String or empty string («») if a To address is not defined. |
From | From address as a String or empty string («») if a From address is not defined |
Action | SOAP Addressing Action header value as a String or empty string («») if a Action is not defined |
FaultTo | SOAP FautTo header value as a String or empty string («») if a FaultTo address is not defined |
ReplyTo | ReplyTo header value as a String or empty string («») if a ReplyTo address is not defined |
MessageID | A unique identifier (UUID) for the message as a String or empty string («») if MessageID is not defined. This id is guaranteed to be unique. |
FAULT | TRUE if the message has a fault or empty string if message doesn't have a fault |
MESSAGE_FORMAT | Returns pox, get, soap11, soap12 depending on the message. If a message type is unknown this returns soap12 |
OperationName | Operation 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 |
Axis2 scope
Message context properties within the axis2 scope can be retrieved from the axis2 scope.
Syntax:get-property('axis2', String propertyName)
Transport scope
Message context properties within the transport scope can be retrieved from the transport scope.
Syntax:get-property('transport', String propertyName)
Registry scope
Properties within the registry can be retrieved from the registry scope.
Syntax:get-property('registry', String registryPath@propertyName)
get-property('registry', String registryPath)
System scope
Java System properties can be retrieved from the system scope.
Syntax:get-property('system', String propertyName)
Note: system scope is only available in synapse 3.0 or later versions and WSO2 ESB 4.8.0 or later versions
base64Encode() function
The syntax of the function takes the following format.
...