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 on the Switch to source view link in the Address Endpoint page.
<address uri="endpoint address" [format="soap11|soap12|pox|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 |
---|---|
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. |
UI Configuration
The following page is opened by clicking Address Endpoint in the Add Endpoint tab of the Manage Endpoints page.
The parameters available to configure the endpoint are as follows.
Parameter Name | Description |
---|---|
Name | The unique name of the endpoint. |
Address | The URL of the endpoint. You can test the availability of the given URL by clicking Test. |
Show Advanced Options | This section is used to enter advanced settings for the endpoint. The advanced options specific for the Address endpoint are as follows.
Note The rest of the advanced options are common for Address, WSDL, Default endpoints. See the description of common options in Managing Endpoints. |
Add Property | This section is used to add properties to an endpoint. |
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 |
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. |
action | This parameter is used to specify the action to perform once an endpoint has timed out. The available options are as follows.
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 |
Marking Endpoint for Suspension
The markForSuspension
element contains parameters that affect the suspension of a endpoint which would be timed out after a specified time duration.
As described before (see description on Timeout state above) this configuration element describes the configuration for a timeout endpoint.
markForSuspension Configuration
errorCodes | A comma separated error code list which can be returned by the endpoint. See SynpaseConstant class for a possible list of error codes. 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 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.
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 number of milliseconds which should elapse before the endpoint is suspended following failure. |
Following are the sample address URI definitions.
Transport | Sample Address |
---|---|
HTTP | http://localhost:9000/services/SimpleStockQuoteService |
JMS | jms:/SimpleStockQuoteService? |
guest@host | |
VFS | vfs:file:///home/user/directory\ vfs:file:///home/user/file\ vfs: |
FIX | fix://host:port?BeginString=FIX4.4&SenderCompID=WSO2&TargetCompID=APACHE |