Skip to main content
Skip table of contents

Required IIS Configuration

This section describes some important configuration changes that need to be applied when using Internet Information Services (IIS) as the front-end web server for the Open Data API.

Supporting + in Schema Endpoint URLs

Where there are spaces in the ID of an element within the data catalogue, the Open Data API /schema  endpoint represents the space using a +  character.

For example, the following excerpt from a dataset schema response shows a field group with a space in the name, and the corresponding endpoint URL for querying that group has + in place of the spaces:

JAVA
{
    "id": "str:group:UKRoadSafetyData:X_Vehicle+Make+and+Model",
    "label": "Vehicle Make and Model",
    "location": "https://sw2.wingarc.com.au/webapi/rest/v1/schema/str:group:UKRoadSafetyData:X_Vehicle+Make+and+Model",
    "type": "GROUP"
}

IIS versions 7 and onwards do not automatically convert the + back to a space by default. This means that if a user or application attempts to query the location  endpoint it received from the API, IIS will return a 404 (Not Found) HTTP response.

One way to resolve this is to set allowDoubleEscaping to true in the IIS application web.config file.

Supporting : in Schema Endpoint URLs

The Open Data API uses the :  character as a separator when representing items in the schema. For example, datasets are represented using an ID in the format:

CODE
str:database:<dataset_id>

Where <dataset_id>  is replaced by the ID configured for that dataset in SuperADMIN. For example:

CODE
{
    "id": "str:database:bank",
    "label": "Retail Banking (Sample)",
    "location": "https://sw2.wingarc.com.au/webapi/rest/v1/schema/str:database:bank",
    "type": "DATABASE",
    "lastModified": 1629864501084,
    "recordViewEnabled": true
},

API users need to be able to query these lower-level endpoints containing the :  character (such as https://sw2.wingarc.com.au/webapi/rest/v1/schema/str:database:bank in this example). However, IIS does not support the :  character in URLs by default, and queries to these endpoints will return a 400 (Bad Request) HTTP response.

You can resolve this by adding a rule similar to the following to the IIS application web.config file:

XML
<system.web>
    <httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="<,>,*,%,&,\,?" />
</system.web>

Hostname in Schema Responses

To ensure that the Open Data API reports the correct hostname in responses to requests to the /schema  endpoint, you must ensure that preserveHostHeader  is set to true  in the IIS Application Request Routing module for the reverse proxy to Tomcat.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.