AnsweredAssumed Answered

Change the item properties (url) for feature layer of web map is not working.

Question asked by Unideveloper on Mar 19, 2019

We've recently changed our production servers. I changed the url for the feature layers but the problem is, even if they are displaying correctly in AGOL, when I look at the json for the webmap feature layer objects,  the old server url is still being returned.

 

if req.status_code == 200:

   target = GIS('https://mysite.com', 'myname', 'mypassword')
   newsearch = target.content.search(query="", item_type = "Web Map", max_items = 1000)
   for item in newsearch:

      #test item
      if item.id == "1111111111111111etc":

         filewriter.writerow([item.title, " ", item.owner, item.type, item.homepage, item.url]) 
         newmap = WebMap(item) 
            for layer in newmap.layers:
               my_dict = dict(layer)
               new_id = my_dict.get("itemId")
               layertype = my_dict.get("layerType")
               new_url = my_dict.get("url")

 

               nextstr = new_url.find("https://oldserver")
               print(nextstr)
               if nextstr != -1: #found a url with old server name
                  newmap.update(item_properties='url':'https://myorg /arcgis/rest/services/Framework/Cadastral/MapServer/0'})

               #should mention that this method updates the url but the item is still pointing to the old service. 
               nexturl = my_dict.get("url")
               
               if new_id is not None:
                  #feature layer home page construct
                  
                  filewriter.writerow([" ", layer.title, " ", layertype, my_dict.get("itemId"), my_dict.get("url"), layer.visibility]) 

 

 Any idea on how I can resolve this. The item is displaying correctly in AGOL (url property was changed) but when I query the web map, list out the feature layers, the old server name is still displayed which is a problem.

Outcomes