Краткая информация
Список имен картографических сервисов разработанного ArcGIS for Server.
Обсуждение
Этот метод является устаревшим, начиная с ArcGIS 10.1 for Server и ArcGIS 10.1 for Desktop, и возвращает ошибку исполнения.
ArcGIS 10.1 for Server имеет новую архитектуру, поэтому вам может потребоваться изменить способ вашей работы с сервером. Обратитесь к разделу справки для получения дополнительной информации: Чего ожидать при переходе на ArcGIS for Server.
Можно получить список картографических сервисов с помощью ArcGIS for Server интерфейса Administrator API, доступного через ArcGIS Site Directory. По умолчанию используется следующий URL ArcGIS for Server Site Directory:
http://<имя сервера>:6080/arcgis/admin
Ниже приведен пример использования Python и интерфейса ArcGIS for Server Administrator API для получения списка картографических сервисов:
import json, urllib2
server = "<server>"
port = "6080"
token = '<token string>'
baseUrl = "http://{}:{}/arcgis/admin/services".format(server, port)
def getCatalog(token):
catalog = json.load(urllib2.urlopen(baseUrl + "/" + "?f=json&token=" + token))
print 'Root'
if "error" in catalog: return
services = catalog['services']
for service in services:
response = json.load(urllib2.urlopen(baseUrl + '/' + service['serviceName'] + '/' + service['type'] + "?f=json&token=" + token))
print ' %s %s (%s)' % (service['serviceName'], service['type'], 'ERROR' if "error" in response else 'SUCCESS')
folders = catalog['folders']
for folderName in folders:
catalog = json.load(urllib2.urlopen(baseUrl + "/" + folderName + "?f=json&token=" + token))
print folderName
if "error" in catalog: return
services = catalog['services']
for service in services:
response = json.load(urllib2.urlopen(baseUrl + '/' + service['serviceName'] + '/' + service['type'] + "?f=json&token=" + token))
print ' %s %s (%s)' % (service['serviceName'], service['type'], 'ERROR' if "error" in response else 'SUCCESS')
getCatalog(token)
Вы также можете получить список картографических сервисов с помощью интерфейса ArcGIS for Server REST API, доступного через ArcGIS Services Directory. По умолчанию используется следующий URL ArcGIS for Server Services Directory:
http://<имя сервера>:6080/arcgis/rest/services
Для начала работы с ArcGIS for Server Services Directory и REST API обратитесь к справочной системе Services Directory.
Ниже представлен пример использования Python и интерфейса ArcGIS for Server REST API для получения списка картографических сервисов:
import json, urllib2
server = "<server>"
port = "6080"
baseUrl = "http://{}:{}/arcgis/rest/services".format(server, port)
def getCatalog():
catalog = json.load(urllib2.urlopen(baseUrl + "/" + "?f=json"))
print 'ROOT'
if "error" in catalog: return
services = catalog['services']
for service in services:
response = json.load(urllib2.urlopen(baseUrl + '/' + service['name'] + '/' + service['type'] + "?f=json"))
print ' %s %s (%s)' % (service['name'], service['type'], 'ERROR' if "error" in response else 'SUCCESS')
folders = catalog['folders']
for folderName in folders:
catalog = json.load(urllib2.urlopen(baseUrl + "/" + folderName + "?f=json"))
print folderName
if "error" in catalog: return
services = catalog['services']
for service in services:
response = json.load(urllib2.urlopen(baseUrl + '/' + service['name'] + '/' + service['type'] + "?f=json"))
print ' %s %s (%s)' % (service['name'], service['type'], 'ERROR' if "error" in response else 'SUCCESS')
getCatalog()
Синтаксис
ListMapServices (connection_url_or_name, server, {connection_username}, {connection_password}, {connection_domain})
Параметр | Объяснение | Тип данных |
connection_url_or_name | Строка, содержащая URL ArcGIS for Server для получения списка сервисов. | String |
server | Строка, содержащая имя хоста ArcGIS for Server. | String |
connection_username | Строка, содержащая имя пользователя для подключения к ArcGIS for Server. Для получения списка картографических сервисов это имя пользователя должно входить в группу администраторов ArcGIS for Server. Переменная необходима только для подключения к UNIX/Linux ArcGIS for Server. (Значение по умолчанию — None) | String |
connection_password | Строка, содержащая пароль для подключения к ArcGIS for Server. Переменная необходима только для подключения к UNIX/Linux ArcGIS for Server. (Значение по умолчанию — None) | String |
connection_domain | Строка, содержащая доменное имя для подключения к ArcGIS for Server. Переменная необходима только для подключения к UNIX/Linux ArcGIS for Server. (Значение по умолчанию — None) | String |
Возвращено значение
Тип данных | Объяснение |
List | Список Python с картографическими сервисами. |