Web tool properties advanced settings

The following web tool properties are advanced settings that cannot be set using ArcGIS Server Manager; they are actually geoprocessing services referenced by web tools and can only be set using the federated ArcGIS Server Administrator REST API. You will only need to modify these settings for specific web tools with different needs.

Change heap size

The heap size setting controls the maximum file size that can be provided from the client . It can be set at two levels: ArcGIS Server or service.

Changing the heap size at the service level provides better performance than changing the heap size from the server level. From ArcGIS Server 10.7 onward, the heap size can be set at the service level. The default size for each service is 64 MB. If you have an input file or feature class larger than the default size, change the service heap size as follows:

  1. From a web browser, browse to https://machine.domain.com/webadaptor/admin/login.
  2. Sign in to the ArcGIS Server Administrator Directory with an administrator account.
  3. Click the Resources: Services link to see a new page that shows all the published services.
  4. Click the service for which you want to modify the heap size and launch the page with all service properties.
  5. From the page with service properties, click the frameworkProperties link to see the page with editable service properties in JSON format.
    An example of service properties in JSON format
  6. If javaHeapSize is not listed in the service properties, add the property {"javaHeapSize":"128"} in the JSON. If javaHeapSize is included, increase the value to the appropriate amount.
  7. Click Save Edits to save and finish editing.

To change the heap size at the server level, detailed steps are provided below. By default, the SOC maximum heap size is set to 64 MB. Increase the default of the property to an appropriate amount.

  1. In a web browser, browse to https://machine.domain.com/webadaptor/admin/login.
  2. Sign in to the ArcGIS Server Administrator Directory with an administrator account.
  3. Click machines.
  4. Click the <Your Server Name>.<domain>.com link.

    For example, a link may appear as server1.esri.com.

  5. On the Server Machine Properties page, click the edit link.
  6. Increase the value of SOC maximum heap size (in MB).
  7. Click Save Edits to finish editing.

Upload size

The upload size setting controls the file size that can be uploaded by clients connecting to the service through a REST end point. These clients are typically web clients using the service through a custom web application. By default, the limit is set to 2 GB. Use this setting to provide an appropriate default to prevent large uploads for your service.

  1. Open a web browser and browse to https://machine.domain.com/webadaptor/admin/login.
  2. Sign in to the ArcGIS Server Administrator Directory with an administrator account.
  3. Click services.
  4. Click the name of the service.
  5. Click the edit link at the bottom of the page under Supported Operations.
  6. In the Service (in JSON format):* text box, find the maxUploadFileSize tag and set the maximum file size after the colon (:).

    A completed entry would look similar to "maxUploadFileSize": 100,.

  7. Click Save Edits.
Note:

When publishing a web tool, make sure the Uploads check box on the Configuration panel of the Share As a Web Tool is checked. Alternatively, this setting can be enabled on an existing service through ArcGIS Server Manager on the Capabilities settings page of the service.

Upload types

Only certain files can be uploaded to a web tool. These files are restricted by their extension type, which is set at the service level.

  1. Open a web browser and browse to https://machine.domain.com/webadaptor/admin/login.
  2. Sign in to the ArcGIS Server Administrator Directory with an administrator account.
  3. Click services.
  4. Click the name of the service.
  5. Click the edit link at the bottom of the page under Supported Operations.
  6. In the Service (in JSON format):* text box, find the allowedUploadFileTypes tag and add the file extensions you want to allow inside the quotations after the colon (:).

    A completed entry would look similar to "allowedUploadFileTypes": ".kml,.gpx".

  7. Click Save Edits.
Note:

When publishing a web tool, make sure the Uploads check box on the Configuration panel of the Share As a Web Tool is checked. Alternatively, this setting can be enabled on an existing service through ArcGIS Server Manager on the Capabilities settings page of the service.

Change maximum domain count

The maxDomainCodeCount setting controls how many domains will be returned with a service response. The domain descriptions match to a code returned with the feature output response. This setting has a default of 1000. If the output features have more than 1,000 participating domains, no domain information will be returned. Returning domain information may increase the size of the response. If domains are not required, set this value to 0 or to a value less than the number of domains in a service.

  1. Open a web browser and browse to https://machine.domain.com/webadaptor/admin/login.
  2. Sign in to the ArcGIS Server Administrator Directory with an administrator account.
  3. Click services.
  4. Click the name of the service.
  5. Click the edit link at the bottom of the page under Supported Operations.
  6. In the Service (in JSON format):* text box, find the maxDomainCodeCount tag and set the maximum limit after the colon (:).

    A completed entry would look similar to "maxDomainCodeCount": 25,.

  7. Click Save Edits.

Local temp folder

The local temp folder is a directory where ArcGIS Server writes intermediate output when the server participates in a cluster with more than one machine, or the directories are referenced using a UNC path. This avoids the need to write intermediate data to a UNC path scratch geodatabase or scratch folder, which can improve service performance. On execution completion, results are copied from the local temp folder to the jobs directory, which can be a UNC path.

Reuse jobs directory for synchronous services

If your web tool is based on a synchronous geoprocessing service, you can reuse the jobs directory for better performance by applying "reusejobdir": "true". Normally, each time you execute a synchronous geoprocessing service, there will be a jobs folder created in the arcgisjobs folder on your server machine. Upon completion, ArcGIS Server will delete that jobs folder. By setting the reusejobdir property to true, the jobs folder will remain even after a job finishes execution. This can save time creating a scratch GDB and a scratch folder for the next execution, hence providing some performance benefits. Optionally, when you set this property back to "false", or remove this property, contact your administrator to delete any existing jobs folder for this service.

To set this property, contact your system administrator to edit the service property in the Administrator API.

A simplified JSON showing the reusejobdir property. Other properties have been hidden to highlight the change relevant to this feature.

{
    "serviceName": "sample",
    "type": "GPServer",
    "manyotherkeys": "manyothervalues",
    "properties": {
        "manyotherkeys": "manyothervalues",
        "reusejobdir": true,
        "executionType": "Synchronous"
    },
    "portalProperties": {},
    "extensions": []
}

Writing messages to ArcGIS Server log

If a web tool is published to ArcGIS Server 11.3 or later, you can include a copy of the messages from your web tool in the ArcGIS Server log. The ArcGIS Server log message level will match the web tool message level. For a web tool message, there are three levels, error, warning, or info, which matches severe, warning, or info in ArcGIS Server. Manually set web tool messages using script tool messages. Many geoprocessing tools also include their own preset messages. To ensure logging the messages properly in ArcGIS Server, specify server log settings accordingly.

To set this property, contact your system administrator to edit service property in the Administrator REST API.

A simplified JSON showing the logGPMessages property. Other properties have been hidden to highlight the change relevant to this feature.

{
    "serviceName": "sample",
    "type": "GPServer",
    "manyotherkeys": "manyothervalues",
    "properties": {
        "manyotherkeys": "manyothervalues",
        "logGPMessages": true,
        "executionType": "Asynchronous"
    },
    "portalProperties": {},
    "extensions": []
}