ESB Properties and Parameters Catalog [ Documentation Index ]

WSO2 Enterprise Service Bus (ESB) and Parameters Catalog

Contents

Introduction

Properties provide the means of accessing various information regarding a message passing through the ESB. Also properties can be used to control the behaviour of the ESB for a particular message as well.

Generic Properties

Property: synapse.isresponse

Name synapse.isresponse
Possible Values "true", "false"
Default Behavior none
Scope axis2
Description Once this property is set to 'true' on a message, the ESB will start treating it as a response message. It is generally used to route a request message back to its source as the response.
Example
<property name="synapse.isresponse" value="true" scope="axis2"/>

Property: PRESERVE_WS_ADDRESSING

Name PRESERVE_WS_ADDRESSING
Possible Values "true", "false"
Default Behavior none
Scope synapse
Description By default the ESB adds a new set of WS-Addressing headers to the messages forwarded from the ESB. If this property is set to 'true' on a message the ESB will forward it without altering its existing WS-Addressing headers.
Example
<property name="PRESERVE_WS_ADDRESSING" value="true"/>

Property: RESPONSE

Name RESPONSE
Possible Values "true", "false"
Default Behavior none
Scope synapse
Description Same as synapse.isresponse property. It is recommended to use this property to flag messages as responses instead of the synapse.isresponse property.
Example
<property name="RESPONSE" value="true"/>

Property: OUT_ONLY

Name OUT_ONLY
Possible Values "true", "false"
Default Behavior none
Scope synapse
Description Set this property to 'true' on a message to indicate that no response message is expected for it once it is forwarded from the ESB. In other words the ESB will do an out-only invocation with such messages. It is very important to set this property on messages that are involved in out-only invocations to prevent the ESB from registering unnecessary callbacks for response handling and eventually running out of memory.
Example
<property name="OUT_ONLY" value="true"/>

Property: ERROR_CODE

Name ERROR_CODE
Possible Values string
Default Behavior none
Scope synapse
Description Use this property to set a custom error code on a message which can be later processed by a Synapse fault handler. If the Synapse encounters an error while mediation or routing this property will be automatically populated.
Example
<property name="ERROR_CODE" value="100100"/>

Property: ERROR_MESSAGE

Name ERROR_MESSAGE
Possible Values string
Default Behavior none
Scope synapse
Description Use this property to set a custom error message on a message which can be later processed by a Synapse fault handler. If the Synapse encounters an error while mediation or routing this property will be automatically populated.
Example
<log level="custom">
                      <property name="Cause" value="get-property('ERROR_MESSAGE')"/>
                  </log>

Property: ERROR_DETAIL

Name ERROR_DETAIL
Possible Values string
Default Behavior none
Scope synapse
Description Use this property to set the exception stacktrace in case of an error. If the ESB encounters an error while mediation or routing this property will be automatically populated.
Example
<log level="custom">
                          <property name="Trace" value="get-property('ERROR_DETAIL')"/>
                      </log>

Property: ERROR_EXCEPTION

Name ERROR_EXCEPTION
Possible Values java.lang.Exception
Default Behavior none
Scope synapse
Description Contains the actual exception thrown in case of a runtime error
Example

Property: TRANSPORT_HEADERS

Name TRANSPORT_HEADERS
Possible Values java.util.Map
Default Behavior Populated with the transport headers of the incoming request
Scope axis2
Description Contains the map of transport headers. Automatically populated. Individual values of this map can be accessed using the property mediator in the transport scope.
Example
<property name="TRANSPORT_HEADERS" action="remove" scope="axis2"/>

Property: messageType

Name messageType
Possible Values string
Default Behavior Content type of incoming request
Scope axis2
Description Message formatter is selected based on this property. This property should have the content type i.e. text/xml, application/xml
Example
<property name="messageType" value="text/xml" scope="axis2"/>

Property: ContentType

Name ContentType
Possible Values string
Default Behavior Value of the Content-type header of the incoming request
Scope axis2
Description Message builder is selected based on this property. This property should specify the content type.
Example
<property name="ContentType" value="text/xml" scope="axis2"/>

Property: disableAddressingForOutMessages

Name disableAddressingForOutMessages
Possible Values "true", "false"
Default Behavior false
Scope axis2
Description Set this property to 'true' if you do not want the ESB to add WS-Addressing headers to outgoing messages. This property can affect messages sent to backend services as well as the responses routed back to clients.
Example
<property name="disableAddressingForOutMessages" value="true" scope="axis2"/>

Property: transportNonBlocking

Name transportNonBlocking
Possible Values "true", "false"
Default Behavior true
Scope axis2
Description By default Axis2 will spawn a new thread to handle each outgoing message. To change this behavior remove this property from the message. Removal of this property could be vital when queuing transports like JMS are involved.
Example
<property name="transportNonBlocking" action="remove" scope="axis2" value="true"/>

Property: endpoint.operation

Name endpoint.operation
Possible Values string
Default Behavior none
Scope synapse
Description If this property is set endpoint statistics will be calculated for the specified operation.
Example
<property name="endpoint.operation" scope="axis2" value="OperationName"/>

Property: SERVER_IP

Name SERVER_IP
Possible Values IP address or hostname of the ESB host
Default Behaviour Set automatically by the mediation engine upon startup
Scope synapse

Property: preserveProcessedHeaders

Name preserveProcessedHeaders
Possible Values true/false
Default Behavior Preserving SOAP headers
Scope synapse(default)
Description If we set this property to 'true', synapse tries to preserve the SOAP header of incoming requests. Else, by default synapse removes the soap headers.
Example
<property name="preserveProcessedHeaders" value="true" scope="default"/>

HTTP Transport Specific Properties

Property: POST_TO_URI

Name POST_TO_URI
Possible Values "true", "false"
Default Behaviour false
Scope axis2
Description This property makes the outgoing URL of the ESB a complete URL. This is important when we talk through a proxy server.
Example
<property name="POST_TO_URI" scope="axis2" value="text/xml"/>

Property: DISABLE_CHUNKING

Name DISABLE_CHUNKING
Possible Values "true", "false"
Default Behaviour false
Scope axis2
Description Disables the HTTP chunking for outgoing messaging
Example
<property name="DISABLE_CHUNKING" scope="axis2" value="true"/>

Property: CONTENT_TYPE

Name CONTENT_TYPE
Possible Values string
Default Behaviour none
Scope axis2
Description In situations where the ESB is receiving HTTP response messages without the Content-type header, this property can be used to specify a default content type to be used. If no such content type is specified for responses the ESB will default to 'application/octet-stream'.
Example
<property name="CONTENT_TYPE" value="text/xml" scope="axis2"/>

Property: NO_ENTITY_BODY

Name NO_ENTITY_BODY
Possible Values none
Default Behaviour In case of GET and DELETE requests this property is set to true
Scope axis2
Description This property should be removed if a user want to generate a response from the ESB to a request without an entity body. i.e. GET request
Example
<property name="NO_ENTITY_BODY" action="remove" scope="axis2"/>

Property: FORCE_HTTP_1.0

Name FORCE_HTTP_1.0
Possible Values "true", "false"
Default Behaviour false
Scope axis2
Description Force HTTP 1.0 for outgoing HTTP messages
Example
<property name="FORCE_HTTP_1.0" value="true" scope="axis2"/>

Property: HTTP_SC

Name HTTP_SC
Possible Values HTTP status code number
Default Behaviour none
Scope axis2
Description Set the HTTP status code
Example
<property name="HTTP_SC" value="true"
                        scope="axis2"/>

Property: FAULTS_AS_HTTP_200

Name FAULTS_AS_HTTP_200
Possible Values "true", "false"
Default Behaviour false
Scope axis2
Description When ESB receives a soap fault as a HTTP 500 message ESB will forward this fault to client with status code 200
Example
<property name="FAULTS_AS_HTTP_200" value="true"
                        scope="axis2"/>

Property: NO_KEEPALIVE

Name NO_KEEPALIVE
Possible Values "true", "false"
Default Behaviour false
Scope axis2
Description Disables HTTP keep alive for outgoing requests
Example
<property name="NO_KEEPALIVE" value="true"
                        scope="axis2"/>

Property: REST_URL_POSTFIX

Name REST_URL_POSTFIX
Possible Values A URL fragment starting with "/"
Default Behaviour In Case of GET requests this contains the query string
Scope axis2
Description The value of this property will be appended to the target URL when sending messages out in RESTful manner. Useful when it is required to append a context to the target URL in case of RESTful invocations.
Example
<property name="REST_URL_POSTFIX" value="/context"
                        scope="axis2"/>

Property: REMOTE_HOST

Name REMOTE_HOST
Possible Values IP address or hostname of the remote client
Default Behaviour Set automatically by the NHTTP transport upon receiving a request
Scope axis2

Property: HTTP_METHOD

Name HTTP_METHOD
Possible Values GET, POST, PUT, DELETE, HEAD or any other valid HTTP method
Default Behaviour Set automatically by the NHTTP transport upon receiving a request
Scope axis2

Property: REMOTE_ADDR

Name REMOTE_ADDR
Possible Values IP address or hostname of the remote client
Default Behaviour Set automatically by the NHTTP transport upon receiving a request
Scope axis2

SOAP Headers

Header Name: To

Header Name To
Possible Values Any URI
Description The To header of the message
Example get-property('To')

Header Name: From

Header Name From
Possible Values Any URI
Description The From header of the message
Example get-property('From')

Header Name: Action

Header Name Action
Possible Values Any URI
Description The SOAPAction header of the message
Example get-property('Action')

Header Name: ReplyTo

Header Name ReplyTo
Possible Values Any URI
Description The ReplyTo header of the message
Example <header name="ReplyTo" action="remove"/>

Header Name: MessageID

Header Name MessageID
Possible Values UUID
Description The unique message ID of the message. It's not recommended to make alterations to this property of a message.
Example get-property('MessageID')

Header Name: RelatesTo

Header Name RelatesTo
Possible Values UUID
Description The unique ID of the request to which the current message is related. Not recommended to make changes.
Example get-property('RelatesTo')

Header Name

Header Name FaultTo
Possible Values Any URI
Description The FaultTo header of the message
Example
<header name="FaultTo" value="http://localhost:9000"/>