||
Skip to end of metadata
Go to start of metadata

An endpoint is a specific destination for a message such as an address, WSDL, a failover group, a load-balance group etc. WSO2 API Manager supports a range of different endpoint types, allowing the API Gateway to connect with advanced types of backends. 

Endpoint TypeDescription
HTTP endpointA REST service endpoint based on a URI template.
Address endpointThe direct URL of the service.
Failover Group endpointThe endpoints that the service tries to connect to in case of a failure. This happens in a round robin manner.
Load Balance endpointThe endpoints where the incoming requests are directed to in a round robin manner. They automatically handle fail-over as well.

Dynamic endpoint

The dynamic endpoint sends the message to the address specified in the To header. You can configure dynamic endpoints by setting mediation extensions with a set of conditions to dynamically change the To header. For details of configuring endpoints to change the default mediation flow, see Adding Mediation Extensions.

Note the following:

  • You can expose both REST and SOAP services to consumers through APIs.
  • You cannot call backend services secured with OAuth through APIs created in the API Publisher. At the moment, you can call only services secured with username/password.
  • The system reads gateway endpoints from the <APIM_HOME>/repository/conf/api-manager.xml file. When there are multiple gateway environments defined, it picks the gateway endpoint of the production environment. You can define both HTTP and HTTPS gateway endpoints as follows:

    <GatewayEndpoint>http://${carbon.local.ip}:${http.nio.port},https://${carbon.local.ip}:${https.nio.port}</GatewayEndpoint> 
  • If both types of endpoints are defined, the HTTPS endpoint will be picked as the server endpoint.

    Tip: When you define secure (HTTPS) endpoints, set the <parameter name="HostnameVerifier"> element to AllowAll in the <APIM_HOME>/repository/conf/axis2/axis2.xml file's HTTPS transport sender configuration:

    <parameter name="HostnameVerifier">AllowAll</parameter>

    If not, the server throws an exception.

When creating (or updating) Failover endpoints through the Publisher UI (in the Implement tab), you need to go into the Advanced Options of each endpoint and specify a set of Error Codes for the endpoint to fail over on and take off the Initial Duration by setting its value to -1. You can do advanced configurations for both Production and Sandbox endpoints.

Do the following to change the endpoint Connection Timeout duration.

  1. Open <APIM_HOME>/repository/conf/synapse.properties. Change the value of the timeout as given below.

    synapse.global_timeout_interval=30000
  2. Open <ESB_HOME>/repository/conf/passthru-http.properties and change the socket timeout value.

    http.socket.timeout=30000

Note that the global timeout value should be greater than the connection timeout value given for your API

For more information about endpoints and how to add, edit or delete them, see the WSO2 ESB documentation.


  • No labels