Skip To Content

Extension types

Some services support extensions that enhance their capabilities. Each extension is composed of a set of properties that are defined for the extension type. You can enable an extension on a service by submitting a JSON representation of its configuration as part of the service definition in the Create Service operation.

The supported out-of-the-box extension types are as follows:

Note:

The following property sets must be passed in as the value of the properties parameter in the JSON representation of the service.

KmlServer

{ 
	"dpi" : "", 
	"imageSize" : "" ,
	"linkDescription" : "" ,
	"linkName" : "" ,
	"message" : "" ,
	"minRefreshPeriod" : "" ,
	"featureLimit" : "" ,
	"useNetworkLinkControlTag" : "" ,
	"compatibilityMode" : "" ,
	"endPointURL" : "" ,
	"useDefaultSnippets" : "" 
}

FeatureServer

{ 
        "enableZDefaults" : "",
        
        "zDefaultValue" : "",
        
        "xssPreventionEnabled" : "true|false",
        // true: Block attribute edits containing potentially harmful content. This is the default. 
        // You can optionally fine tune this behavior with the xss* settings discussed below.
        // false: Do not attempt to block potentially harmful content.

        "xssPreventionRule": "input|inputOutput", 
        // input: Block attribute edits containing potentially harmful content. This is the default.
        // inputOutput: Block attribute edits containing potentially harmful content and 
        // encode query results containing potentially harmful content.
        
        "xssInputRule": "rejectInvalid|sanitizeInvalid",
        // rejectInvalid: When editing, block potentially harmful attribute edits. This is the default.
        // sanitizeInvalid: When editing, allow potentially harmful attribute edits but encode them so they are safe.
        
        "xssTrustedFields": {"Buildings": "Description,Name", "Parcels": "Name"}  
        //{"LayerA": "FieldA,FieldB", "LayerB": "FieldA"}
        // By default there are no trusted fields. If you need to exclude certain fields from 
        // the xss* settings behavior and allow all content, set them as trusted fields.
        // "*" can be used to set all fields in a layer to be trusted.
        // If no fields are set for a layer, none of the fields in the layer will be trusted. 
		
		"allowOthersToQuery": "true|false",  
		// Applies only if enableOwnershipBasedAccessControl is true.
		// true: Features owned by someone other than the logged in user are visible and can be queried  
        // false: Features owned by someone other than the logged in user are not visible and can’t be queried.
        // NOTE: Features owned by the logged in user are always visible.

		"allowOthersToUpdate": "true|false",  
		// Applies only if enableOwnershipBasedAccessControl is true and service capabilities include Update.
		// true: Allow features owned by someone other than the logged in user to be updated.
  		// false: Prevent features owned by someone other than the logged in user from being updated.

		"allowOthersToDelete": "true|false"
		// Applies only if enableOwnershipBasedAccessControl is true and service capabilities include Delete.
		// true: Allow features owned by someone other than the logged in user to be deleted.
		// false: Prevent features owned by someone other than the logged in user from being deleted.
}

NAServer

The properties of NAServer are optional.

Time units are specified as one of esriTimeUnitsUnknown|esriTimeUnitsMilliseconds|esriTimeUnitsSeconds|esriTimeUnitsMinutes|esriTimeUnitsHours| esriTimeUnitsDays|esriTimeUnitsWeeks|esriTimeUnitsMonths|esriTimeUnitsYears|esriTimeUnitsDecades|esriTimeUnitsCenturies.

Length units are specified as one of esriCentimeters|esriDecimalDegrees|esriDecimeters|esriFeet|esriInches|esriKilometers|esriMeters|esriMiles|esriMillimeters| esriNauticalMiles|esriPoints|esriUnknownUnits|esriYards.


            {
	
	// Allows the building of routes with stops that have time windows specified.
	"route_AllowTimeWindows": "",

	// If the longest side of the spatial extent of the input stops is greater than the specified value, hierarchy will be used during analysis.
	"route_ForceHierarchyBeyondDistance": "",

	// The units of the route_ForceHierarchyBeyondDistance parameter.
	"route_ForceHierarchyBeyondDistanceUnits": "", 
	
	// The maximum number of stops allowed in a single request.
	"route_MaxStops": "",
	
	// The maximum number of point barriers allowed in a single request. 
	"route_MaxBarriers": "",
	
	// The maximum number of streets allowed to be affected by line barriers in a single request.
	"route_MaxFeaturesInLineBarriers": "",
	
	// The maximum number of streets allowed to be affected by polygon barriers in a single request.
	"route_MaxFeaturesInPolygonBarriers": "",

	// If the longest side of the spatial extent of the input incidents and facilities is greater than the specified value, hierarchy will be used during analysis.
        "closestFacility_ForceHierarchyBeyondDistance": "",

	// The units of the closestFacility_ForceHierarchyBeyondDistance parameter.
        "closestFacility_ForceHierarchyBeyondDistanceUnits": "",
	
	// The maximum number of facilities allowed in a single request.
	"closestFacility_MaxFacilities": "",
	
	// The maximum number of incidents allowed in a single request.
	"closestFacility_MaxIncidents": "",
	
	// Limits the maximum number of facilities to find for each incident.
	"closestFacility_MaxFacilitiesToFind": "",
	
	// The maximum number of point barriers allowed in a single request.
	"closestFacility_MaxBarriers": "",
	
	// The maximum number of streets allowed to be affected by line barriers in a single request.
	"closestFacility_MaxFeaturesInLineBarriers": "",
	
	// The maximum number of streets allowed to be affected by polygon barriers in a single request.
	"closestFacility_MaxFeaturesInPolygonBarriers": "",

	// The units of the serviceArea_ForceHierarchyBeyondTime parameter.
	"serviceArea_ForceHierarchyBeyondTimeUnits": "",

	// If the impedance is in time units and the largest break is greater than this value, hierarchy will be used during analysis.
	"serviceArea_ForceHierarchyBeyondTime": "",

	// The units of the serviceArea_ForceHierarchyBeyondDistance parameter.	
	"serviceArea_ForceHierarchyBeyondDistanceUnits": "",

	// If the impedance is in distance units and the largest break is greater than this value, hierarchy will be used during analysis.
	"serviceArea_ForceHierarchyBeyondDistance": "",

	// If the impedance is in unknown units and the largest break is greater than this value, hierarchy will be used during analysis.
	"serviceArea_ForceHierarchyBeyondOther": "",
	
	// The maximum number of facilities allowed in a single request.
	"serviceArea_MaxFacilities": "",
	
	// The largest break value allowed for time-based cost attributes.
	"serviceArea_MaxBreakValue_Time": "",
	
	// The largest break value allowed for length-based cost attributes.
	"serviceArea_MaxBreakValue_Length": "",

	// The units of the serviceArea_MaxBreakValue_Time parameter.  
	"serviceArea_MaxBreakValue_TimeUnits": "",

	// The units of the serviceArea_MaxBreakValue_Length parameter.  
	"serviceArea_MaxBreakValue_LengthUnits": "",
	
	// The largest break value allowed for cost attributes of the Unknown units.
	"ServiceArea_MaxBreakValue_Other": "",
	
	// The maximum number of point barriers allowed in a single request.
	"serviceArea_MaxBarriers": "",
	
	// The maximum number of streets allowed to be affected by line barriers in a single request.
	"serviceArea_MaxFeaturesInLineBarriers": "",
	
	// The maximum number of streets allowed to be affected by polygon barriers in a single request. 
	"serviceArea_MaxFeaturesInPolygonBarriers": "",

	// If the longest side of the spatial extent of the input demand points and facilities is greater than the specified value, hierarchy will be used during analysis.
	"locationAllocation_ForceHierarchyBeyondDistance": "",

	// The units of the locationAllocation_ForceHierarchyBeyondDistance parameter.
	"locationAllocation_ForceHierarchyBeyondDistanceUnits": "", 
	
	// The maximum number of demand points allowed in a single request.
	"locationAllocation_MaxDemandPoints": "",
	
	// The maximum number of facilities allowed in a single request.
	"locationAllocation_MaxFacilities": "",
	
	// The maximum number of point barriers allowed in a single request."
	"locationAllocation_MaxBarriers": "",
	
	// The maximum number of streets allowed to be affected by line barriers in a single request.
	"locationAllocation_MaxFeaturesInLineBarriers": "",
	
	// The maximum number of streets allowed to be
	// affected by polygon barriers in a single request.
	"locationAllocation_MaxFeaturesInPolygonBarriers": "",
	
	// If the longest side of the spatial extent of the input origins and demands is greater than the specified value, hierarchy will be used during analysis.
	"oDCostMatrix_ForceHierarchyBeyondDistance": "",

	// The units of the oDCostMatrix_ForceHierarchyBeyondDistance parameter.
	"oDCostMatrix_ForceHierarchyBeyondDistanceUnits": "", 
	
	// The maximum number of origins allowed in a single request.
	"oDCostMatrix_MaxOrigins": "",
	
	// The maximum number of destinations allowed in a single request.
	"oDCostMatrix_MaxDestinations": "",
	
	// Limits the maximum number of destinations to find for each origin.
	"oDCostMatrix_MaxDestinationsToFind": "",
	
	// The maximum number of point barriers allowed in a single request.
	"oDCostMatrix_MaxBarriers": "",
	
	// The maximum number of streets allowed to be affected by line barriers in a single request.
	"oDCostMatrix_MaxFeaturesInLineBarriers": "",
	
	// The maximum number of streets allowed to be affected by polygon barriers in a single request.
	"oDCostMatrix_MaxFeaturesInPolygonBarriers": "",

	// If the longest side of the spatial extent of the input orders is greater than the specified value, hierarchy will be used during analysis.
	"vRP_ForceHierarchyBeyondDistance": "",

	// The units of the vRP_ForceHierarchyBeyondDistance parameter.
	"vRP_ForceHierarchyBeyondDistanceUnits": "", 
	
	// The maximum number of orders allowed in a single request.
	"vRP_MaxOrders": "",
	
	// The maximum number of routes allowed in a single request.
	"vRP_MaxRoutes": "",
	
	// The maximum number of point barriers allowed in a single request.
	"vRP_MaxBarriers": "",
	
	// The maximum number of streets allowed to be affected by line barriers in a single request.
	"vRP_MaxFeaturesInLineBarriers": "",
	
	// The maximum number of streets allowed to be affected by polygon barriers in a single request.
	"vRP_MaxFeaturesInPolygonBarriers": "",
	
	// The folder on the server where saved network analysis layers will be stored. The default is the output directory.
	"nALayerDir": "",
	
	// Allows the saving of a network analysis layer on the server for further reuse or postprocessing.
	"allowSaveLayerOnServer": "",
	
	// Triggers the automatic saving of a network analysis layer on the server in cases of request processing errors.
	"saveLayerOnServerWhenError": "",
	
	// The returned geometry will be generalized using this threshold unless overwritten in the request.
	"defaultOutputGeometryPrecision": "",
	
	// The defaultOutputGeometryPrecision value units.
	"defaultOutputGeometryPrecisionUnits": ""
}

WCSServer


            {
	"pathToCustomGetCapabilitiesFiles" : "" ,
	"name" : "" ,
	"title" : "" ,
	"abstraction" : "" ,
	"fees" : "" ,
	"accessConstraints" : "" ,
	"providerName" : "" ,
	"providerWebSite" : "" ,
	"responsiblePerson" : "" ,
	"responsiblePosition" : "" ,
	"phone" : "" ,
	"fax" : "" ,
	"email" : "" ,
	"address" : "" ,
	"city" : "" ,
	"province" : "" ,
	"zipcode" : "" ,
	"country" : "" ,
	"serviceHour" : "" ,
	"contactInstructions" : "" ,
	"role" : "" ,
	"onlineResource" : "" ,
}

WFSServer

{
// You can set the following WFS service properties to be returned from the GetCapabilities request.
 "name": "",
 "title": "",
 "abstract": "",
 "keyword": "",	
	"serviceType": "",
 "serviceTypeVersion": "",	
 "fees": "",
 "accessConstraints": "",	    
 "providerName": "",
	"providerSite": "",
	"individualName": "",
	"positionName": "",
	"phone": "",
	"facsimile": "",
	"deliveryPoint": "",
	"city": "",
	"administrativeArea": "",
	"postalCode": "",
	"country": "",
	"electronicMailAddress": "",
	"hoursOfService": "",
	"contactInstructions": "",
 "role": "",        
 "onlineResource": "",
	
	// Choose whether to use an external custom GetCapabilities file.
 "customGetCapabilities": "true|false",
	
	// If customGetCapabilities is true, specify the path to the file.
 "pathToCustomGetCapabilitiesFiles": "",
	
	// The namespace for your WFS service. This property is required.
 "appSchemaURI": "https:\\www.esri.com",
	
	// The prefix for your WFS service. This property is required.
	"appSchemaPrefix": "esri",
	
	// The path to the .xml file that stores your stored queries (applicable for WFS 2.0).
	"pathToStoredQueryFile": "",
    
	// Choose whether to limit the maximum features returned for your service.
 "enableDefMaxFeatures": "true|false",
	
	// If enableDefMaxFeatures is set to true, specify the limit. The default is 1000.
	"defMaxFeaturesValue": "1000",
    
 // Choose whether to enable transactions on your service (WFS-T)
	"enableTransactions": "true|false",
	
	// Choose the axis order for each version of WFS.
 "axisOrderWFS11": "latlong|longlat",
 "axisOrderWFS10": "latlong|longlat",        
 "axisOrderWFS20": "latlong|longlat",
	
	// Choose to ignore field aliases. If you ignore field aliases, the field names will be used.
 "ignoreAliases": "true|false",

 // Choose to set the geometry precision. Valid values are 0-14. The default is 8.
 "geometryPrecision": "8",

 // Choose to disable streaming.
 "disableStreaming": "true|false",

 // Choose to optimize performance on large datasets by skipping time consuming queries to the database. 
 // The numberReturned parameter value will not be calculated for a GetFeature response.
 "optimizedNumberReturned": "true|false",
 
  }

WMSServer

{
	"city" : "" ,
	"contactOrganization" : "" ,
	"abstract" : "" ,
	"accessConstraints" : "" ,
	"fees" : "" ,
	"address" : "" ,
	"country" : "" ,
	"contactFacsimileTelephone" : "" ,
	"contactPosition" : "" ,
	"pathToCustomSLDFile" : "" ,
	"pathToCustomGetCapabilitiesFiles" : "" ,
	"addressType" : "" ,
	"contactVoiceTelephone" : "" ,
	"keyword" : "" ,
	"postCode" : "" ,
	"onlineResource" : "" ,
	"title" : "" ,
	"contactPerson" : "" ,
	"stateOrProvince" : "" ,
	"contactElectronicMailAddress" : "" ,
	"customGetCapabilities" : "" ,
	"inheritLayerNames" : "" ,
	"name" : "" ,
}

JPIPServer

{
	// Insert your own server and service information in the example below:
	"jPIPServiceURL": "jpip://JPIPServer:Port/JP2Server/AGSServer_Port/ServiceName",
	"jPIPImageName": "/AGSServer_Port/ServiceName"

}