實作效果如下:
可以在自己的app應用中操作地圖服務的啟動、停止、删除。
實作過程:
1、先生成token
生成token的url:
http://localhost:6080/arcgis/admin/generateToken
可檢視官網生成token的文檔介紹 https://developers.arcgis.com/rest/enterprise-administration/server/generatetoken.htm
參數:
(1)username: 使用該token的使用者的使用者名
(2) password:使用者密碼
(3) Client:使用token的用戶端,提供三種類型:
a、HTTP Referer:Web應用的URL,申請的token可由該應用的頁面使用;
b、IP:申請的token隻能供指定IP位址的請求中使用;
c、 Request IP:隻能由送出請求機器的ip使用該token,本文采用該方式。
(4) HTTP referer:如果Client選擇了HTTP referer,那麼這裡就需要輸入應用程式的位址;
(5) IP:如果Client選擇了IP,這裡就需要輸入IP位址;
(6) Expiration:過期時間 ,超過該時間token将失效。預設不填有效時間為60分鐘
由于需要輸入使用者和密碼,考慮到網絡安全問題,需注意以下幾點:
(1)不要直接在前端去請求位址,使用背景代碼請求
(2)使用者密碼可考慮加密處理,在背景進行解密。
(3)使用Post方式進行請求,高版本應該也不支援Get請求了
2、擷取地圖服務清單及服務啟停狀态
- 擷取服務清單位址範例url:
NCGXQ為整個服務下的一個指定目錄,不指定時将擷取全部地圖服務
http://localhost:6080/arcgis/admin/services/NCGXQ
參數:
(1)f:json 代表傳回json格式
(2)token:xxx,上面第一步生成的token,這個token可以先緩存好,這樣在token失效前可以繼續使用,而不用每次都去請求擷取token
- 擷取服務啟停狀态url:
http://localhost:6080/arcgis/admin/services/NCGXQ/report
參數:
(1)f:json 代表傳回json格式
(2)token:xxx,上面第一步生成的token,這個token可以先緩存好,這樣在token失效前可以繼續使用,而不用每次都去請求擷取token
(3)parameters:['status'] 過濾擷取包含狀态屬性的結果
(4)services:[{},{}] 填入上節擷取到的服務數組
傳回結果範例:其中realTimeState為目前服務的啟停狀态。
3、啟動服務
啟動服務url:
http://localhost:6080/arcgis/admin/services/NCGXQ/gaoxinbpfw.MapServer/start
可拆解為:服務清單位址/服務名稱.服務類型/start
參數:
(1)f:json 代表傳回json格式
(2)token:xxx,上面第一步生成的token,這個token可以先緩存好,這樣在token失效前可以繼續使用,而不用每次都去請求擷取token
4、停止服務
停止服務url:
http://localhost:6080/arcgis/admin/services/NCGXQ/gaoxinbpfw.MapServer/stop
可拆解為:服務清單位址/服務名稱.服務類型/stop
參數:
(1)f:json 代表傳回json格式
(2)token:xxx,上面第一步生成的token,這個token可以先緩存好,這樣在token失效前可以繼續使用,而不用每次都去請求擷取token
5、删除服務
删除服務url:
http://localhost:6080/arcgis/admin/services/NCGXQ/gaoxinbpfw.MapServer/delete
可拆解為:服務清單位址/服務名稱.服務類型/delete
參數:
(1)f:json 代表傳回json格式
(2)token:xxx,上面第一步生成的token,這個token可以先緩存好,這樣在token失效前可以繼續使用,而不用每次都去請求擷取token