Sunday, October 13, 2013

Synapse get-property function


Get property function retrieves a property from the message context at the given scope. If the scope is not specified, property is retrieved from the default synapse scope.

Syntax:
get-property(String scope, String propertyName)
get-property(String propertyName)


Supported Scopes

  • default
  • axis2
  • transport
  • registry
  • system


Default scope

Message context properties resides in synapse scope can be retrieved from the default scope. Apart from user defined properties, following special properties can be retrieved from the default scope.
Syntax:

get-property('default', String propertyName)
get-property(String propertyName)


Special Properties supported by get-property function in Default Scope
(Extracted from http://docs.wso2.org/display/ESB470/XPath+Extension+Functions)

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 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 . 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.


Axis2 scope

Message context properties resides in axis2 scope can be retrieved from the axis2 scope.
Syntax:
get-property('axis2', String propertyName)


Transport scope

Message context properties resides in transport scope can be retrieved from the transport scope.
Syntax:
get-property('transport', String propertyName)


Registry scope

Properties resides in 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.

No comments:

Post a Comment