<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How do I set dynamic layers on a map service with ArcPy in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96870#M7480</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;BTW, our server is still at 10.1, but I don't see any reason why it wouldn't apply to 10.3.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 25 Jan 2016 20:45:21 GMT</pubDate>
    <dc:creator>BillDaigle</dc:creator>
    <dc:date>2016-01-25T20:45:21Z</dc:date>
    <item>
      <title>How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96868#M7478</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;I've been writing a script to publish services, and I am getting stuck on setting &lt;/SPAN&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;dynamic layers on a map service in Manager&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;A href="http://server.arcgis.com/en/server/latest/publish-services/linux/enabling-dynamic-layers-on-a-map-service-in-manager.htm" title="http://server.arcgis.com/en/server/latest/publish-services/linux/enabling-dynamic-layers-on-a-map-service-in-manager.htm"&gt;Enabling dynamic layers on a map service in Manager—Documentation (10.3 and 10.3.1) | ArcGIS for Server&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd like to add this as a SOE I'm assuming to my script, but i'm not having any luck finding anything on how to do so.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jan 2016 20:04:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96868#M7478</guid>
      <dc:creator>JacobBoyle</dc:creator>
      <dc:date>2016-01-25T20:04:30Z</dc:date>
    </item>
    <item>
      <title>Re: How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96869#M7479</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We use scripts (python toolbox) to publish our map and geoprocessing services. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For most of our services, we use the default service setting.&amp;nbsp; In order to set custom properties (like dynamic layers), we store the custom properties in a json config file. After the service is published, we fetch the service properties using the a call to the Admin API, edit the fetched json object using the stored file, then apply the edits by making another call to the Admin API.&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jan 2016 20:30:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96869#M7479</guid>
      <dc:creator>BillDaigle</dc:creator>
      <dc:date>2016-01-25T20:30:04Z</dc:date>
    </item>
    <item>
      <title>Re: How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96870#M7480</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;BTW, our server is still at 10.1, but I don't see any reason why it wouldn't apply to 10.3.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jan 2016 20:45:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96870#M7480</guid>
      <dc:creator>BillDaigle</dc:creator>
      <dc:date>2016-01-25T20:45:21Z</dc:date>
    </item>
    <item>
      <title>Re: How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96871#M7481</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yeah, I'm not sure this would work for 10.3.1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;10.3 uses the .mxd --&amp;gt; .sddraft --&amp;gt; .sd --&amp;gt; Service publishing path logic, not .mxd --&amp;gt; .msd --&amp;gt; .sd --&amp;gt; Service like 10.1 does.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks though&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jan 2016 14:10:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96871#M7481</guid>
      <dc:creator>JacobBoyle</dc:creator>
      <dc:date>2016-01-26T14:10:30Z</dc:date>
    </item>
    <item>
      <title>Re: How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96872#M7482</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jacob,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not sure if you saw this &lt;A href="http://desktop.arcgis.com/en/desktop/latest/analyze/arcpy-mapping/createmapsddraft.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;link &lt;/A&gt;with some samples.&amp;nbsp; You can edit the .sddraft file using the xml.dom.minidom library.&amp;nbsp; I was able to figure out how to enable dynamic layers, but have not been successful is setting the dynamic workspaces.&amp;nbsp; Below is an example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;sddraft = r"E:\Temp\Python\Airports.sddraft"
doc = DOM.parse(sddraft)

# edit configuration properties
configProps = doc.getElementsByTagName('ConfigurationProperties')[0]
propArray = configProps.firstChild
propSets = propArray.childNodes
for propSet in propSets:
&amp;nbsp;&amp;nbsp;&amp;nbsp; keyValues = propSet.childNodes
&amp;nbsp;&amp;nbsp;&amp;nbsp; for keyValue in keyValues:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if keyValue.tagName == 'Key':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if keyValue.firstChild.data == "enableDynamicLayers":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; keyValue.nextSibling.firstChild.data = "true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if keyValue.firstChild.data == "dynamicDataWorkspaces":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #the below would fail
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; keyValue.nextSibling.firstChild.data = '[{"id":"MyFileGDBWorkspaceID","workspaceFactory":"FileGDB","workspaceConnection":"DATABASE=E:\\Temp\\Python\\Test.gdb"}]'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 

# output to a new sddraft
outXml = r"E:\Temp\Python\Airports_New.sddraft"&amp;nbsp;&amp;nbsp; 
if os.path.exists(outXml): os.remove(outXml)
f = open(outXml, 'w')&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
doc.writexml( f )&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
f.close()&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hopefully a python expert can way in to see how to update the 'dynamicDataWorkspaces' portion of the sddraft file.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:05:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96872#M7482</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2021-12-11T06:05:06Z</dc:date>
    </item>
    <item>
      <title>Re: How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96873#M7483</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yeah that's the only part I've struggled with, I've setup a script that will disable KML, enable Feature Services and set Feature services to Query only in the .sddraft file prior to publishing.&amp;nbsp; I just can't get the syntax to Enable Dynamic Workspaces.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jan 2016 14:59:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96873#M7483</guid>
      <dc:creator>JacobBoyle</dc:creator>
      <dc:date>2016-01-26T14:59:21Z</dc:date>
    </item>
    <item>
      <title>Re: How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96874#M7484</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; .mxd --&amp;gt; .sddraft --&amp;gt; .sd --&amp;gt; Service &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;We're at 10.1 SP1, and the work flow is the same. .mxd --&amp;gt; .sddraft --&amp;gt; .sd --&amp;gt; Service.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regardless, what I'm suggest occurs after the service is published.&amp;nbsp; I will see if I can scrape together a sample script.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jan 2016 16:11:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96874#M7484</guid>
      <dc:creator>BillDaigle</dc:creator>
      <dc:date>2016-01-26T16:11:10Z</dc:date>
    </item>
    <item>
      <title>Re: How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96875#M7485</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is a code sample demonstrating how to update service parameters after the service has been published.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
#modify these to match your environment
serverHost = 'yourgisServer.com'
serverPort = 6080
serviceRelativePath = r'/services/serviceFolder/serviceName.MapServer'
username = 'yourAdminName'
password = 'yourAdminPW'

# properites you would like to apply to the service
newProperties = {
 "minInstancesPerNode": 1,
 "maxInstancesPerNode": 5,
 "properties": {
&amp;nbsp; "enableDynamicLayers": "true",
&amp;nbsp; "dynamicDataWorkspaces": "[{\"id\":\"wsName\",\"workspaceFactory\":\"SDE\",\"lockVersion\":\"false\",\"workspaceConnection\":\"connectionProps\"}]"
 }
}


import json
import urllib
import httplib


# ####################
# helper functions
# ####################
def getUpdatedDict(inDict,modDict):
&amp;nbsp;&amp;nbsp;&amp;nbsp; def _getPathsAndValuesFromModDict(d,parentDict):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for k, v in d.iteritems():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if isinstance(v, dict):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _getPathsAndValuesFromModDict(v,parentDict&lt;K&gt;)&lt;/K&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parentDict&lt;K&gt; = v&lt;/K&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; _getPathsAndValuesFromModDict(modDict,inDict)
&amp;nbsp;&amp;nbsp;&amp;nbsp; return inDict


def adminApiCall(strAdminApiUrl,objParams):

&amp;nbsp;&amp;nbsp;&amp;nbsp; def _getToken():

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tokenURL = "/arcgis/admin/generateToken"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; params = urllib.urlencode({'username': username, 'password': password, 'client': 'requestip', 'f': 'json'})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpConn = httplib.HTTPConnection(serverHost, serverPort)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpConn.request("POST", tokenURL, params, headers)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; response = httpConn.getresponse()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (response.status != 200):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpConn.close()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data = response.read()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpConn.close()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Check that data returned is not an error object
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not _assertJsonSuccess(data):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Extract the toke from it
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; token = json.loads(data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return token['token']

&amp;nbsp;&amp;nbsp;&amp;nbsp; def _assertJsonSuccess(data):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj = json.loads(data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if 'status' in obj and obj['status'] == "error":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print "Error: JSON object returns an error. " + str(obj)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return False
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return True

&amp;nbsp;&amp;nbsp;&amp;nbsp; token = _getToken()
&amp;nbsp;&amp;nbsp;&amp;nbsp; if objParams:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objParams['token'] = token
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objParams['f'] = 'json'
&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objParams = {'token': token,'f': 'json'}

&amp;nbsp;&amp;nbsp;&amp;nbsp; params = urllib.urlencode(objParams)
&amp;nbsp;&amp;nbsp;&amp;nbsp; headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Connect to URL and post parameters
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpConn = httplib.HTTPConnection(serverHost, serverPort)
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpConn.request("POST", r'/arcgis/admin'+ strAdminApiUrl, params, headers)

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Read response
&amp;nbsp;&amp;nbsp;&amp;nbsp; response = httpConn.getresponse()
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (response.status != 200):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print response.status
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpConn.close()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output = "Error: Code "+str(response.status)+', '+str(response.reason)
&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data = response.read()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Check that data returned is not an error object
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not _assertJsonSuccess(data):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj = json.loads(data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output =&amp;nbsp; obj['messages']
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataObj = json.loads(data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output =&amp;nbsp; dataObj
&amp;nbsp;&amp;nbsp;&amp;nbsp; httpConn.close()
&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if output[0] == u'Authorization failed. This user account does not have the required privileges to access this application.':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return {'status':'error','msg':u'Authorization failed for user'}
&amp;nbsp;&amp;nbsp;&amp;nbsp; except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return output
# ####################
# end helper functions
# ####################


#fetch the parameters using the admin api
serviceInfo = adminApiCall(serviceRelativePath,{'f':'json'})



#update new parameters using the new properties
serviceInfo = getUpdatedDict(serviceInfo,newProperties)

#apply the updated params
adminApiCall('/services/test/testForDave.MapServer/edit',{'f':'json','service':json.dumps(serviceInfo)})&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Modifying properties after the service is published is, in my opinion, easier than doing so via the sd or sddraft. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:05:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96875#M7485</guid>
      <dc:creator>BillDaigle</dc:creator>
      <dc:date>2021-12-11T06:05:07Z</dc:date>
    </item>
    <item>
      <title>Re: How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96876#M7486</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think this is going to the me in the right direction, I'm trying to achieve the same with a python script.&amp;nbsp; I'm trying to make it easier to ensure my GIS users are publishing new services.&amp;nbsp; I've figured out the syntax for everything else though.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jan 2016 23:32:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96876#M7486</guid>
      <dc:creator>JacobBoyle</dc:creator>
      <dc:date>2016-01-26T23:32:19Z</dc:date>
    </item>
    <item>
      <title>Re: How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96877#M7487</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can't figure out how to edit my comments, I'm trying to do the same in a python script that you use on a new service.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jan 2016 23:34:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96877#M7487</guid>
      <dc:creator>JacobBoyle</dc:creator>
      <dc:date>2016-01-26T23:34:23Z</dc:date>
    </item>
    <item>
      <title>Re: How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96878#M7488</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I use a script to publish as well.&amp;nbsp; What I shared was just a piece from the end of my script.&amp;nbsp; We have been publishing this way for a couple of years.&amp;nbsp; Works great.&amp;nbsp; It takes a while to set up, but is well worth it in the end.&amp;nbsp; Our GIS analysts use python toolboxes we developed to publish/update services on our test server.&amp;nbsp; After some initial testing, the GIS manager uses other tools in the same toolset to migrate the changes to production. Everything is validated and logged, which make tracking down bugs pretty easy.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jan 2016 23:42:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96878#M7488</guid>
      <dc:creator>BillDaigle</dc:creator>
      <dc:date>2016-01-26T23:42:17Z</dc:date>
    </item>
    <item>
      <title>Re: How do I set dynamic layers on a map service with ArcPy</title>
      <link>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96879#M7489</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Bill, I'm going to dive back into this today, I'll Let you know the outcome.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Jan 2016 14:06:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-do-i-set-dynamic-layers-on-a-map-service-with/m-p/96879#M7489</guid>
      <dc:creator>JacobBoyle</dc:creator>
      <dc:date>2016-01-27T14:06:56Z</dc:date>
    </item>
  </channel>
</rss>

