Сводка
Список имен картографических сервисов разработанного ArcGIS Server.
Описание
Этот метод устарел, начиная с ArcGIS 10.1 for Server and ArcGIS 10.1 for Desktop, и будет возвращать ошибку выполнения.
ArcGIS 10.1 for Server имеет новую архитектуру, поэтому вам может потребоваться изменить способ вашей работы с сервером. Дополнительную информацию см. в разделе справки Чего ожидать при переходе на ArcGIS Server.
Можно получить список картографических сервисов с помощью ArcGIS Server интерфейса Administrator API, доступного через ArcGIS Site Directory. По умолчанию используется следующий URL ArcGIS Server Site Directory:
http://<server name>:6080/arcgis/admin
Ниже приведен пример использования Python и интерфейса ArcGIS 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 Server REST API, доступного через ArcGIS Services Directory. По умолчанию используется следующий URL ArcGIS Server Services Directory:
http://<server name>:6080/arcgis/rest/services
Для начала работы с ArcGIS Server Services Directory и REST API обратитесь к справочной системе Services Directory.
Ниже представлен пример использования Python и интерфейса ArcGIS 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 Server для получения списка сервисов. | String |
server | Строка, содержащая имя хоста ArcGIS Server. | String |
connection_username | Строка, содержащая имя пользователя для подключения к ArcGIS Server. Для получения списка картографических сервисов это имя пользователя должно входить в группу администраторов ArcGIS Server. Переменная необходима только для подключения к UNIX/Linux ArcGIS Server. (Значение по умолчанию — None) | String |
connection_password | Строка, содержащая пароль для подключения к ArcGIS Server. Переменная необходима только для подключения к UNIX/Linux ArcGIS Server. (Значение по умолчанию — None) | String |
connection_domain | Строка, содержащая доменное имя для подключения к ArcGIS Server. Переменная необходима только для подключения к UNIX/Linux ArcGIS Server. (Значение по умолчанию — None) | String |
Значение отраженного сигнала
Тип данных | Объяснение |
List | Список Python с картографическими сервисами. |