The Address endpoint is an endpoint defined by specifying the EPR (Endpoint Reference) and other attributes of the configuration.
You can configure the Address Endpoint using XML. Click on the Switch to source view link in the Address Endpoint page.
Address Endpoint Attributes
EPR of the target endpoint.
Message format for the endpoint.
Method to optimize the attachments.
The charset encoding to use for the endpoint.
This enables statistics for the endpoint.
This enables trace for the endpoint.
1. In the "Add Endpoint" tab, click "Address Endpoint" (See Adding an Endpoint). The "Address Endpoint" page appears with its default view.
The following fields are specific to the Address Endpoint:
- Name - The unique name of the endpoint.
- Address - The URL of the endpoint.
You can test the availability of the given URL on the fly by just clicking the "Test" button.
2. In case you want to configure the advanced options, click on the "Show Advanced Options" drop down pane.
3. Then the page with all the available Address Endpoint options appears.
4. Specific Address Endpoint details are as follows:
- Format- The message format for the endpoint. The available values are:Leave As-Is - No transformation is done to the outgoing message.
- SOAP 1.1 - Transforming message to SOAP 1.1.
- SOAP 1.2 - Transforming message to SOAP 1.2.
- Plain Old XML (POX) - Transforming to plain old XML format.
- Representational State Transfer (REST) - Transforming to HTTP Get Request.
- Optimize- Optimization for the message, which transfers binary data. The available values are:
- Leave As-Is - No special Optimization. Keep the original message.
- SwA - Optimized as a SwA (SOAP with Attachment) message.
- MTOM - Optimized as a MTOM (message transmission optimization mechanism).
The rest of the fields are general for Address, WSDL, Default endpoints. See the description of common options in Adding an Endpoint.
QoS for the Endpoint
QoS (Quility of service) aspects such as WS-Security and WS-Addressing may be enabled on messages send to an endpoint using enableSec and enableAddressing elements. Optionally, the WS-Security policies could be specified using
This enables WS-Security for the message which goes for the endpoint. The optional
enableAddressing [version="final | submission"] [seperateListener=" true | false"]
This enables WS-Addressing for the message which goes for the endpoint. User can specify to have separate listener with version final or submission.
Address endpoints can timeout if the response fails to arrive at Synapse by a predefined timeout duration specified in milliseconds. The timeout action specifies whether to discard response that arrives later, or to trigger a fault. Synapse has a periodic timeout handler that triggers itself at each 15 seconds interval. Thus endpoint timeout will have a +/- erroce on trigger time. Though this can be minimized by setting a System property
synapse.timeout_handler_interval (This property can be set in
synapse.properties synpase property file which is located in
conf directory inside repository once you unzipped WSO2 ESB ) to a millisecond duration below the desired endpoint timeout.
A lesser value may have a higher overhead on the system.
Timeout duration in milliseconds.
Once a timeout occurs the action to perform, available options are discard (discard the response which arrives late) or fault (trigger a fault) .
Marking Endpoint for Suspension
As described before (see description on Timeout state above) this configuration element describes the configuration for a timeout endpoint.
A comma separated error code list which can be returned by the endpoint. See SynpaseConstant class for a possible list of error codes.
Number of retries before go into suspended state.
The delay between each try.
Suspending Endpoint on Failure
Leaf endpoints(Address and WSDL) endpoint can be put into suspended state if it is detected as failed. An endpoint that fails may be suspended for a specified duration after such a failure, during which new messages will not be processed through the endpoint. The amount of time waiting before next attempt follows the following formula.
next suspension time period = Max (Initial Suspension duration * (progression factor*
*), Maximum Duration)
All the variables in the above formula are configuration values used to calculate the try count. Try count means, how many tries occurred after the endpoint is "Suspended". As the try count increases, the next suspension time period will also increase. This increase is bound to a maximum duration.
A comma separated error code list which can be returned by the endpoint.
Initial duration(in milliseconds) to suspend the endpoint.
The progression factor for the geometric series. See above formula for a more detailed description.
Maximum duration(in milliseconds) to suspend the endpoint.
Following are the sample address URI definitions.