WSO2 Developer’s Guide
上QQ阅读APP看书,第一时间看更新

The property mediator

A property is a variable that stores some information during a time that depends on the scope it has configured.

Here's the syntax:

<property name="string" [action=set|remove] [type="string"] (value="literal" | expression="xpath") [scope=default|transport|axis2|axis2-client] [pattern="regex" [group="integer"]]>
    <xml-element/>?
</property>  

We have three different types of properties:

  1. Static: Get a static value in the creation:
<property name="color" value="red" />
  1. Dynamic: Get a dynamic value:
    • From an xpath expression:
<property name="dynamic1" expression="//xpath"/>
    • From any other property:
<property name="dynamic2"
expression="get-property('dynamic1')"/>
  1. Action: Do an action with an existing property:
<property name="To" action="remove"/>  

The properties can have seven different types of scope:

  • Axis2: It's the shortest scope and is only used to send parameters to Axis2 engine
  • Axis2-client: The same duration as synapse, but the property can be read through custom mediators
  • Synapse: The property will live in the same sequence; it's the default scope
  • Operation: It's the largest scope; the property will live until the end of the service through the different sequences
  • Registry: It is used to get properties from the registry
  • System: To get Java system properties
  • Transport: The property will be sent as a transport header

Depending on the content, the properties can be of eight different types:

  • BOOLEAN
  • DOUBLE
  • FLOAT
  • INTEGER
  • LONG
  • OM
  • SHORT
  • STRING