Можно использовать расширения серверного объекта (SOE) в любом приложении, которое может выполнить HTTP-запрос сервера и обработать ответ. Входные и выходные данные модулей SOE являются простыми типами, такими как числа, текстовые строки и объекты XML и JSON. Приложение, принимающее выходные данные, не должно иметь представлений об объектах ArcObjects.
Часто модуль SOE тестируется в приложении Services Directory (предположительно используется REST SOE), затем пишется код для использования модуля SOE в клиентском приложении.
Проверка SOE в приложении Services Directory
Предоставления простых типов модулям SOE позволяет тестировать модули SOE REST веб-сервиса в приложении Services Directory. После включения модуля SOE в картографическом сервисе или сервисе изображений, перейдите на страницу сервиса в Директории сервисов (Services Directory). В нижней части странице модуль SOE будет отображаться под заголовком Поддерживаемые дополнительные модули (Supported Extensions). (Если модуль не отображается, убедитесь, что администратор ArcGIS Server очистил кэш REST.)
Если щелкнуть SOE в Services Directory, можно будет щелкнуть и изучить предоставляемые ресурсы и операции. Щелкните операцию, после чего отобразятся некоторые поля ввода, которые можно использовать для тестирования запросов и ответов SOE. В ответ должен прийти простой ответ JSON или HTML.
Использование SOE в клиентском приложении
При предоставлении SOE в качестве веб-сервиса REST можно использовать модуль в интерфейсах Esri API для Интернета и мобильной платформы. Независимо от того, какой интерфейс API используется, для работы с веб-сервисом SOE необходимо следующее:
-
Создание запроса из веб-сервиса – включает создание списка параметров и отправки полного URL на сервер
-
Выполнение какого-либо действия с ответом – необходимо понимание формата ответа и способа анализа информации для выполнения нужного действия в приложении
Несмотря на сходство шаблонов кодирования, классы, используемые для работы с модулями SOE, отличаются по интерфейсам ArcGIS API for JavaScript. Например, в интерфейсе ArcGIS API для JavaScript вы задаете переменную с помощью JSON, в которой будут хранится все входные параметры для модуля SOE. Затем вы используете метод esri.request() для вызова веб-сервиса. Ответом является объект JSON.