Address Endpoint

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

Address Endpoint

The Address endpoint is an endpoint defined by specifying the EPR (Endpoint Reference) and other attributes of the configuration.



XML configuration

Note

You can configure the Address Endpoint using XML. Click Switch to source view on the Address Endpoint page.

<address uri="endpoint address" [format="soap11|soap12|pox|rest|get"] [optimize="mtom|swa"] [encoding="charset encoding"] [statistics="enable|disable"] [trace="enable|disable"]> <enableSec [policy="key"]/>? <enableAddressing [version="final|submission"] [separateListener="true|false"]/>? <timeout> <duration>timeout duration in milliseconds</duration> <responseAction>discard|fault</responseAction> </timeout>? <markForSuspension> [<errorCodes>xxx,yyy</errorCodes>] <retriesBeforeSuspension>m</retriesBeforeSuspension> <retryDelay>d</retryDelay> </markForSuspension> <suspendOnFailure> [<errorCodes>xxx,yyy</errorCodes>] <initialDuration>n</initialDuration> <progressionFactor>r</progressionFactor> <maximumDuration>l</maximumDuration> </suspendOnFailure> </address>

Address endpoint attributes

Attribute

Description

Attribute

Description

uri

EPR of the target endpoint.

format

Message format for the endpoint.

optimize

Method to optimize the attachments.

encoding

The charset encoding to use for the endpoint.

statistics

This enables statistics for the endpoint.

trace

This enables trace for the endpoint.

Other elements

QoS for the endpoint

QoS (Quality of Service) aspects such as WS-Security and WS-Addressing may be enabled on messages sent to an endpoint using enableSec and enableAddressing elements. Optionally, the WS-Security policies could be specified using the policy attribute.

QoS configuration

enableSec [policy="key"]

This enables WS-Security for the message which is sent to the endpoint. The optional policy attribute specifies the WS-Security policy.

enableAddressing [version="final | submission"] [seperateListener=" true | false"]

This enables WS-Addressing for the message which is sent to the endpoint. User can specify to have separate listener with version final or submission.

Endpoint timeout

The parameters available to configure an endpoint time out are as follows.

duration

Timeout duration that should elapse before the end point is timed out.

responseAction

This parameter is used to specify the action to perform once an endpoint has timed out. The available options are as follows.

  • discard: If this is selected, the responses which arrive after the endpoint has timed out will be discarded.

  • fault: If this is selected, a fault is triggered when the endpoint is timed out.

You can specify a value that is 1 millisecond less than the time duration you specify for the endpoint time out for the synapse.timeout_handler_interval property in the <EI_Home>/conf/synapse.properties file. This would minimise the number of late responses from the backend.

Marking an endpoint for suspension

The markForSuspension element contains the following parameters which affect the suspension of a  endpoint which would be timed out after a specified time duration.

errorCodes

This parameter is used to specify one or more error codes which can cause the endpoint to be marked for suspension when they are returned by the endpoint. Multiple error codes can be specified separated by comas. See SynpaseConstant class for a list of available error codes.

retriesBeforeSuspension

Number of retries before go into suspended state.

The number of times the endpoint should be allowed to retry sending the response before it is marked for suspension.

retryDelay

The delay between each try.

Suspending the endpoint on failure 

Leaf endpoints(Address and WSDL) can be suspended if they are detected as failed endpoints. When an endpoint is in in suspended state for a specified time duration following a failure, it cannot process any new messages. The following formula determines the wait time before the next attempt.

next suspension time period = Max (Initial Suspension duration * (progression factor*  try count *), Maximum Duration)

All the variables in the above formula are configuration values used to calculate the try count. Try count is the number of tries carried out after the endpoint is suspended. The increase in the try count causes an increase in the next suspension time period. This time period is bound to a maximum duration. 

The parameters available to configure a suspension of an endpoint due to failure are as follows.

Parameter Name

Description

Parameter Name

Description

errorCode

A comma separated error code list which can be returned by the endpoint.

This parameter is used to specify one or more error codes which can cause the endpoint to be suspended when they are returned from the endpoint. Multiple error codes can be specified, separated by commas.

initialDuration

The number of milliseconds after which the endpoint should be suspended when it is being suspended for the first time.

progressionFactor

The progression factor for the geometric series. See the above formula for a more detailed description.

maximumDuration

The maximum duration (in milliseconds) to suspend the endpoint.