Search code examples
wso2ei

WSO2 EI how to increasing Endpoint timeout?


I have setted configure and endpoint timeout but it have below response.

What should I pay attention if I want to increase endpoint timeout?

<html>
    <body>
        <h1>504 Gateway Time-out</h1>
The server didn't respond in time.
    </body>
</html>

There are 3 steps to set timeout but it appear fault....

1) Global timeout defined in synapse.properties (EI_HOME\conf\synapse.properties)

synapse.global_timeout_interval=17000000

2) Socket timeout defined in the passthru-http.properties (EI_HOME\conf\passthru-http.properties )

http.socket.timeout=18000000

3) Also set timeout in API.

<?xml version="1.0" encoding="UTF-8"?>
<endpoint name="ep_dsData" xmlns="http://ws.apache.org/ns/synapse">
    <http method="post" uri-template="{uri.var.origin.ds}/api/v1/GetData">
        <timeout>
            <duration>17000000</duration>
            <responseAction>fault</responseAction>
        </timeout>
    </http>
</endpoint>

Solution

  • The following link clearly explains the configurations requried for tuning the timeout variables in WSO2 EI. Please refer it once again.

    https://docs.wso2.com/display/EI611/WSO2+Enterprise+Integrator+Best+Practices#WSO2EnterpriseIntegratorBestPractices-Workingwithendpoints

    The timeout limit shared in the question is very abnormal, 5 hours.

    Remember, the following..

    1. http.socket.timeout > max(Global endpoint timeout,Timeout of individual endpoints).

    2. Also if you have configured a timeout value at the endpoint level, the global timeout value is not taken into consideration for that endpoint. For all the other endpoints, which do not have a timeout value configured, the global value is considered as the timeout value.