- Code: Select all
“A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
“A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
static async public System.Threading.Tasks.Task Webhook(JiwaFinancials.Jiwa.JiwaApplication.Manager Manager, string body, string eventName, string PluginName)
{
string url = Manager.Database.ReadSysData(PluginName, "WebhooksHostURL", "").ToString();
string clientKey = Manager.Database.ReadSysData(PluginName, "WebhooksClientKey", "").ToString();
if (url.Length > 0)
{
try
{
ServiceStack.JsonServiceClient client = new ServiceStack.JsonServiceClient(url);
client.Headers.Add("ClientKey", clientKey);
await client.PostAsync<IReturnVoid>(new JiwaFinancials.Jiwa.JiwaServiceModel.WebhooksEventsPOSTRequest() { EventName = eventName, Body = body });
}
...
client.Timeout = new TimeSpan(0, 0, 1, 30);
try
{
// This is the actual POST to the webhook
subscription.URL.PostStringToUrl(message.Body,
requestFilter: webRequest =>
{
foreach (SY_WebhookSubscriptionRequestHeader subscriptionRequestHeader in subscriptionRequestHeaders)
{
webRequest.Headers[subscriptionRequestHeader.Name] = subscriptionRequestHeader.Value;
}
});
messageResponse.HTTPCode = 200;
newStatus = 1;
}
catch (System.Exception ex)
{
while (ex.InnerException != null) ex = ex.InnerException;
newStatus = 2;
messageResponse.Message = ex.Message;
int statusCode = 0;
if (ex.GetStatus() != null)
statusCode = (int)ex.GetStatus();
messageResponse.HTTPCode = statusCode;
if ((statusCode >= 200 && statusCode < 300) || ex.IsAny300() || statusCode == 410)
newStatus = 3; // Permanent fail - we do not attempt to retry these
}
SBarnes wrote:Hi Mike,
Thanks for the reply but where I am trying to increase the timeout is in CallWebhook
try
{
// This is the actual POST to the webhook
subscription.URL.PostStringToUrl(message.Body,
requestFilter: webRequest =>
{
webRequest.Timeout = 3000; // 3000 ms
foreach (SY_WebhookSubscriptionRequestHeader subscriptionRequestHeader in subscriptionRequestHeaders)
{
webRequest.Headers[subscriptionRequestHeader.Name] = subscriptionRequestHeader.Value;
}
Users browsing this forum: No registered users and 3 guests