Documentation Center

What to do if a web request times out

If a web request from Organize Space, Draft Space or Review Space fails, this may be because the request is for a very large amount of data (say, requesting the metadata of a very large number of topics). Such a request can take longer to load than the configured timeout value for the reverse proxy. You can fix the issue by increasing the timeout value.

About this task

If you find that a web request to retrieve a very large object fails, check the Organize Space, Draft Space or Review Space log file for the following: Yarp.ReverseProxy.Forwarder.HttpForwarder+Log.ErrorProxying RequestTimedOut: The request timed out before receiving a response. If you see this error, it means that the configured timeout value of the reverse proxy (which defaults to 100 seconds) has been reached.

To resolve this issue, check the appsettings.json file for the GUI reporting the problem. The file is located in each GUIs subfolder on the web server, which are as follows:
  • Web<projectsuffix>\InfoShareCS\DraftSpace\
  • Web<projectsuffix>\InfoShareCS\OrganizeSpace\
  • Web<projectsuffix>\InfoShareCS\ReviewSpace\
In the file, find the reverse proxy configuration for the OpenAPI cluster, which looks as follows ("..." indicates skipped lines):
{
  "ReverseProxy": {
    "Routes": {
      ...
    },
    "Clusters": {
      "openapi-cluster": {
        "Destinations": {
          "destination1": {
            "Address": "https://HOSTNAME/ISHWS"
          }
        }
      },
      "xapi-cluster": {
        ...
      }
      "extensions-cluster": {
        ...
      }
      "mvc-cluster": {
        ...
      }
    }
  }
}
After the closing tag of the Destinations section, add a comma and insert a new property called HttpRequest. Within this new property, create a new subproperty called ActivityTimeout, and set its value to a high timeout duration. For example, to set the value to 1 hour, set the value to "01:00:00". The updated configuration fragment would then look as follows:
{
  "ReverseProxy": {
    "Routes": {
      ...
    },
    "Clusters": {
      "openapi-cluster": {
        "Destinations": {
          "destination1": {
            "Address": "https://HOSTNAME/ISHWS"
          }
        },
        "HttpRequest": {
          "ActivityTimeout": "01:00:00"
        }
      },
      "xapi-cluster": {
        ...
      }
      "extensions-cluster": {
        ...
      }
      "mvc-cluster": {
        ...
      }
    }
  }
}