Add SOI to ArcGIS service programmatically?

790
4
Jump to solution
06-12-2020 09:03 AM
VincentLantaca
New Contributor III

Is it possible to add a Server Object Interceptor to a service programmatically? For example, via ArcPy? If so, can anyone point me to some documentation or examples? It would be very convenient to have the process of adding different SOIs to different services automated, rather than doing it manually with ArcGIS Server Manager whenever SOIs are updated..

0 Kudos
1 Solution

Accepted Solutions
nicogis
MVP Frequent Contributor
, 
{ "typeName": "NetApplyWatermarkSOI", 
"capabilities": "", 
"enabled": "true", 
"maxUploadFileSize": 0, 
"allowedUploadFileTypes": "", 
"properties": 
{ "supportsREST": "false", 
"supportsSOAP": "false", 
"supportsInterceptor": "true" } 
}
  ],
  "frameworkProperties": {"interceptorOrderList": "NetSimpleLoggerSOI,NetApplyWatermarkSOI"},
  "datasets": []
}


‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

yes and in interceptorOrderList you put the order of chain if you have a chain

see your json definition of service ../admin/services//FOLDER/SERVICE_NAME.MapServer?f=pjson 

View solution in original post

4 Replies
nicogis
MVP Frequent Contributor

soe and soi can be added in extension rest ( ..instance/admin/services/types/extensions )

here an example Debugging Server Object Extensions (SOEs) in Style · Josh Werts 

VincentLantaca
New Contributor III

Thank you, this is useful. What about enabling SOI on a service? The example doesn't show this.

0 Kudos
VincentLantaca
New Contributor III

Nevermind, I figured it out:

arcgis/admin/services//FOLDER/SERVICE_NAME.MapServer/edit

0 Kudos
nicogis
MVP Frequent Contributor
, 
{ "typeName": "NetApplyWatermarkSOI", 
"capabilities": "", 
"enabled": "true", 
"maxUploadFileSize": 0, 
"allowedUploadFileTypes": "", 
"properties": 
{ "supportsREST": "false", 
"supportsSOAP": "false", 
"supportsInterceptor": "true" } 
}
  ],
  "frameworkProperties": {"interceptorOrderList": "NetSimpleLoggerSOI,NetApplyWatermarkSOI"},
  "datasets": []
}


‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

yes and in interceptorOrderList you put the order of chain if you have a chain

see your json definition of service ../admin/services//FOLDER/SERVICE_NAME.MapServer?f=pjson