Я хочу указать время ожидания для конечной точки без приостановки как 3000 мс (3se c). Я использовал конфигурацию в документации WSO2 и настроил свой файл конечной точки следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<endpoint name="myEndpointFile" xmlns="http://ws.apache.org/ns/synapse">
<property expression="get-property('endpointAddress')" name="endpointAddress"/>
<address uri="${endpointAddress}">
<timeout>
<duration>3000</duration>
<responseAction>fault</responseAction>
</timeout>
<suspendOnFailure>
<errorCodes>-1</errorCodes>
<initialDuration>0</initialDuration>
<progressionFactor>1.0</progressionFactor>
<maximumDuration>0</maximumDuration>
</suspendOnFailure>
<markForSuspension>
<errorCodes>-1</errorCodes>
</markForSuspension>
</address>
Чтобы проверить это, я использовал конечную точку mocky.io, которая имеет 7000 мс (7 с *) 1034 *) задержка ответа http://www.mocky.io/v2/5e7b12732d00008f00119be6?mocky-delay=7000ms
Когда я пытался вызвать API, который вызывает URL-адрес этой конечной точки, я все еще имел успех HTTP 200 OK , даже если мой тайм-аут длительность 3000 мс (3 с c).
![postman status](https://i.stack.imgur.com/iXghZ.png)
Вот мой synapse.global_timeout_interval
параметр в synapse.properties:
synapse.global_timeout_interval=200000
, а также мое http.socket.timeout
значение свойства in passthru-http.properties:
http.socket.timeout=180000
Версия: WSO2EI6.4.0
Спасибо за любую идею!
С уважением