At any given time, the state of the endpoint can be one of the following:
Endpoint is running and handling requests.
Endpoint encountered an error but can still send and receive messages. If it continues to encounter errors, it will be suspended.
Endpoint encountered errors and cannot send or receive messages. Incoming messages to a suspended endpoint result in a fault.
Endpoint is not active. To put an endpoint into the OFF state, or to move it from OFF to Active, you must use JMX.
When WSO2 Enterprise Service Bus starts, endpoints are in the "Active" state and ready to handle messages. If the user does not put the endpoint into the OFF state, it will be in the "Active" state until an error occurs.
<address uri="endpoint address" [format="soap11|soap12|pox|get"] [optimize="mtom|swa"] [encoding="charset encoding"] [statistics="enable|disable"] [trace="enable|disable"]> <enableRM [policy="key"]/>? <enableSec [policy="key"]/>? <enableAddressing [version="final|submission"] [separateListener="true|false"]/>? <timeout> <duration>timeout duration in seconds</duration> <responseAction>discard|fault<fault|never</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>
Connection timeout interval. If the remote endpoint does not respond in this time, it will be marked as "Timeout."
When a response comes to a timed out request, specifies whether to discard it or invoke the fault handler.
If you select "never", the endpoint remains in the "Active" state.
Comma separated list of error codes
Errors that put the endpoint into the "Timeout" state. If no error codes are specified, the "HTTP Connection Closed" and "HTTP Connection Timeout" errors are considered "Timeout" errors, and all other errors put the endpoint into the "Suspended" state.
In the "Timeout" state this number of requests minus one can be tried and fail before the endpoint is marked as "Suspended". This setting is per endpoint, not per message, so several messages can be tried in parallel and fail and the remaining retries for that endpoint will be reduced.
The time to wait between the last retry attempt and the next retry.
Comma separated list of error codes
All the errors except the errors specified in
Errors that send the endpoint into the "Suspended" state.
After an endpoint gets "Suspended," it will wait for this amount of time before trying to send the messages coming to it. All the messages coming during this time period will result in fault sequence activation.
The endpoint will try to send the messages after the
Upper bound of retry duration.
<endpoint name="Sample_First" statistics="enable" > <address uri="http://localhost/myendpoint" statistics="enable" trace="disable"> <timeout> <duration>60000</duration> </timeout> <markForSuspension> <errorCodes>101504, 101505</errorCodes> <retriesBeforeSuspension>3</retriesBeforeSuspension> <retryDelay>1</retryDelay> </markForSuspension> <suspendOnFailure> <errorCodes>101500, 101501, 101506, 101507, 101508</errorCodes> <initialDuration>1000</initialDuration> <progressionFactor>2</progressionFactor> <maximumDuration>60000</maximumDuration> </suspendOnFailure> </address> </endpoint>
Receiver IO error sending
Receiver IO error receiving
Sender IO error sending
Sender IO error receiving
Connection timed out
HTTP protocol violation
Instructions on how to handle endpoint errors in WSO2 ESB.