When consuming a web tool with a regular feature output, the output is generated on the server and sent back to the client as a feature. Output feature service reside in the ArcGIS Data Store of your hosting server and allow you to serve the output feature data and nonspatial tables over the network rather than saving the result on a local drive. This also saves the overhead of transporting resulting data back to the client, improving the efficiency of a web tool if the size of the output feature result is large. It also makes your data available to various clients, such as web clients, desktop apps, and field apps.
Authoring
To use this feature, your output must be a feature class or table.
You don't need to change anything when you design your web tool, regardless of whether your output is optional or required.
Publishing
To share a web tool with an output feature service, the following software requirements must be met:
- ArcGIS Pro 2.3 or later
- ArcGIS Server and Portal for ArcGIS 10.7 or later
- ArcGIS Server must be federated to Portal for ArcGIS
- Portal for ArcGIS must have a hosting server
After you execute the tool, configure the following settings on the Share As A Web Tool dialog box:
- You can only share the web tool with groups in your portal or ArcGIS Enterprise. Do not share your web tool with Everyone, which will result in permission issues when the tool is consumed.
- Set Execution Mode to Asynchronous.
- Leave the View output in map image layer option unchecked.
- Maximum number of records returned by server has no effect on the output feature service.
Note:
When using the Python function arcpy.CreateGPSDDraft to publish a web tool, server_type has to be specified as MY_HOSTED_SERVICES.
Consuming
When consuming a web tool with feature or table output, an additional optional input parameter called Output feature service name is available at the end of the list of parameters. This parameter is automatically generated during the publishing process. It cannot be removed or renamed. To successfully consume a web tool with this parameter, provide a service name that meets the following requirements:
- The name of the output feature service must be unique across all hosted services of your portal, because all the output feature services will reside in the Hosted folder of your portal.
- The name can contain only alphanumeric characters or underscores and be 120 characters or less.
- The portal user must have privileges to create an output feature service. The only roles with this privilege are Publisher and Administrator. For portal users with a custom role, that role must have Members/View, Content/Publish hosted feature layers, and Content and Analysis/Standard Feature Analysis privileges.
When consuming the web tool with an output feature service, all output features are copied to the hosting server's data store, regardless of where the original result resides on the server.
Note:
When you publish a web tool to an ArcGIS Server site federated with your portal, an allowconnection command has to be executed on your hosting server. Otherwise, the results cannot be copied to your hosting server.
Upon web tool execution, the server provides an URL to the result feature service. If you consume the web tool in ArcGIS Pro, the result is added as a layer with a service URL to the table of contents. If you consume the web tool from a REST endpoint, the result is a JSON representation of the URL.
Note:
The Output feature service name parameter is optional. If you leave the Output feature service name blank and consume a web tool, a regular output feature or table is generated.
The original output parameter properties affect the way the feature service is rendered. The following are common scenarios:
- Multiple outputs—When there are multiple output feature parameters, each output result is added as a layer to the output feature service, but there is only one output feature service when running a web tool.
- Empty output—If the result of an output parameter is empty when running the web tool, a layer with empty features is generated and added to the service.
- Optional and derived output—If the output parameter type is optional or derived, there is a possibility that the output will not be generated when running the web tool. In this case, no layer is added to the service.
- Output with multiple values—Running a web tool that has an output with multiple values does not support a feature output service.
- Symbologies—If symbology is defined for the tool output, the output feature service maintains that symbology. If no symbology is defined while authoring the tool, default symbology is used.