Unknown macro: {next_previous_links}
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Current »

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



XML configuration

<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

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

initialDurationThe number of milliseconds after which the endpoint should be suspended when it is being suspended for the first time.
progressionFactorThe progression factor for the geometric series. See the above formula for a more detailed description.
maximumDurationThe maximum duration (in milliseconds) to suspend the endpoint.
Following are the sample address URI definition.

Transport

Sample Address

HTTP

http://localhost:9000/services/SimpleStockQuoteService

JMS

jms:/SimpleStockQuoteService?
transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&
java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&
java.naming.provider.url=tcp://localhost:61616&
transport.jms.DestinationType=topic

Mail

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

Parameters

The parameters available to configure the endpoint are as follows.

Parameter NameDescription
NameThe unique name of the endpoint.
Address

The URL of the endpoint. You can test the availability of the given URL by clicking Test.

If you want to define the URL with environment properties, you can define it as shown below.

<?xml version="1.0" encoding="UTF-8"?>
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="JSON_EP">
  <address uri="$SYSTEM:VAR"/>
</endpoint>


Here VAR is the url you need to have set as environment property.

This is useful when you need to need to deploy the endpoint in a container.

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.

  • Format- The message format for the endpoint. The available values are as follows.
    • Leave As-Is: If this is selected, no transformation is done to the outgoing message.
    • SOAP 1.1: If this is selected the message is transformed to SOAP 1.1.
    • SOAP 1.2: If this is selected the message is transformed to SOAP 1.2.
    • Plain Old XML (POX): If this is selected the message is transformed to plain old XML format.
    • Representational State Transfer (REST) - If this is selected, the message is transformed to REST.
    • GET: If this is selected, the message is transformed to a HTTP Get Request.
  • Optimize- Optimization for the message, which transfers binary data. The available values are as follows.
    • Leave As-Is - If this is selected, there will be no special optimization. The original message will be kept.
    • SwA - If this is selected, the message is optimized as a SwA (SOAP with Attachment) message.
    • MTOM - If this is selected, the message is optimized using a MTOM (message transmission optimization mechanism).

Note

The rest of the advanced options are common for Address, WSDL, Default endpoints. See the description of common options in Managing Endpoints.

Add PropertyThis section is used to add properties to an endpoint.
  • No labels