Описание структуры системы — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
 
(не показаны 3 промежуточные версии этого же участника)
Строка 5: Строка 5:
  
  
−
==Описание структуры типов Интегра-Планета-4D==
+
[[Описание структуры типов Интегра-Планета-4D]]
  
−
===Формат описания типов элементов системы===
 
  
−
Типы элементов системы Интегра-Планета-4Д описываются на языке XML версии 1.0 с использованием utf-8 кодировки.
+
[[Описание универсальных типов протокола передачи данных в интеграцию]]
  
−
В xml документе могут присутствовать в произвольном количестве следующие теги:
 
  
−
*enum - описание перечисляемого типа параметра.
+
[[Протокол работы с сервером приложения Интегра SOAP]]
−
*item - описание устройства(объекта).
 
−
*pin - описание разъема устройства(объекта).
 
−
*link - описание соединения между разъемами.
 
−
*event - описание события.
 
−
 
 
−
Корневой элемент файла описания может называться произвольно (например root).
 
−
 
 
−
Любой тег может содержать дополнительные атрибуты доступные в режиме исполнения.
 
−
 
 
−
Дополнительный атрибут может иметь любое имя не совпадающее с именами служебных атрибутов описанных ниже.
 
−
 
 
−
Имена дополнительных атрибутов так же не могут совпадать с именами тегов.
 
−
 
 
−
===Описание Тегов===
 
−
 
 
−
'''1. is'''
 
−
 
 
−
:Теги enum, item, link, pin и event описывают конкретные элементы системы и их тела могут содержать произвольное количество тегов is, указывающих базовый тип элемента.
 
−
:Тег is может содержать следующие атрибуты:
 
−
::'''type''' - тип базового устройства. Обязательный атрибут.
 
−
:Наследуемый тип получает все значения, параметры и разъемы базового.
 
−
 
 
−
'''2. enum'''
 
−
 
 
−
Тег enum содержит следующие атрибуты:
 
−
::'''type '''- тип перечисления. Обязательный атрибут.
 
−
::'''assembly''' - имя сборки в которой определен данный тип (пространство имен должно быть строго acuario2.types). По умолчанию создает новый тип.
 
−
 
 
−
Тело тега enum содержит один или несколько тегов value, являющихся описанием конкретного значения перечисления.
 
−
 
 
−
Тело тега value содержит текстовое представление значения с которым связан данный элемент перечисления.
 
−
 
 
−
Так же тег value может содержать дополнительные атрибуты, например, в случае описания состояния устройства, следующие:
 
−
 
 
−
::'''color''' - цвет состояния (в html формате).
 
−
::'''image''' - плоское изображение состояния.
 
−
::'''model''' - 3D модель состояния.
 
−
::'''sound''' - звуковое обозначение состояния.
 
−
::'''hint''' - подсказка пользователю (может содержать URL HTML документа с подробным описанием действий оператора в случае наступления данного события).
 
−
 
 
−
Тег enum должен содержать один тег value не имеющий тела, который может содержать дополнительные атрибуты по умолчанию для всех значений не описанных в перечислении.
 
−
 
 
−
'''3. param'''
 
−
 
 
−
Теги item, link, pin и event описывают конкретные элементы системы и их тела могут содержать произвольное количество тегов param, описывающих параметры данного элемента.
 
−
:Тег '''param''' может содержать следующие атрибуты:
 
−
::'''type''' - тип параметра. Обязательный атрибут.
 
−
::'''ref''' - ссылка на другой элемент (uuid);
 
−
::'''bool''' - булево значение (bool);
 
−
::'''char''' - символ (char(1));
 
−
::'''int''' - целое знаковое число (int8);
 
−
::'''real''' - число с плавающей точкой (float8);
 
−
::'''guid''' - глобальный уникальный идентификатор (uuid);
 
−
::'''time''' - дата/время (timestamp);
 
−
::'''span''' - интервал времени (interval);
 
−
::'''bits''' - битовая строка (varbit);
 
−
::'''text''' - строка (text);
 
−
::'''ltree''' - ветка иерархического дерева (ltree);
 
−
::'''list''' - список строк (text[]);
 
−
::'''vector''' - список чисел с плавающей точкой (float8[]);
 
−
::'''blob''' - бинарные данные (bytea);
 
−
::'''hstore''' - словарь ключ/значение (hstore);
 
−
::'''json''' - документ типа json (json);
 
−
::'''xml''' - документ типа xml (xml);
 
−
::'''point''' - точка в пространстве (point);
 
−
::'''multipoint''' - множество точек (multipoint);
 
−
::'''polygon''' - полигон (polygon);
 
−
::'''multipolygon''' - множество полигонов (multipolygon);
 
−
::'''args''' - если связано с перечисляемым типом при помощи атрибута enum, то список уникальных значений этого перечисления, иначе просто список строк (text[]);
 
−
:'''name''' - имя параметра. Обязательный атрибут.
 
−
:'''enum''' - тип перечисления связанного с данным параметром.
 
−
:'''public''' - булево значение, помечающее параметр как доступный для внешних систем. См. тег item. По умолчанию считается равным false.
 
−
:'''editor''' - тип редактора для параметра (например acuario2.client.EgsCodeEditor,acuario2.editor). По умолчанию выбирается автоматически в соответствии с типом параметра.
 
−
:'''converter''' - тип конвертера для параметра (например acuario2.utils.UnixTimeConverter,acuario2.utils). По умолчанию выбирается автоматически в соответствии с типом параметра.
 
−
:'''unit''' - единица измерения (например second).
 
−
:'''typedef''' - имя параметра внутри данного типа содержащего описание json документа хранящегося в данном параметре. См. Dynamic TypeDef в конце документа.
 
−
 
 
−
Если тип параметра не указан то считается что это текстовый параметр.
 
−
 
 
−
Тело тега '''param''' может содержать текстовое представление значения поля по умолчанию.
 
−
 
 
−
Экземпляр элемента системы может содержать только одну копию одного и того же параметра.
 
−
 
 
−
Для совместимости с предыдущей версией параметр помеченный атрибутом many со значением '''true''' считается параметром типа '''list'''.
 
−
 
 
−
Имена параметров '''input''' и '''output''' являются частично зарезервированными и не должны использоваться при описании типов соединений.
 
−
 
 
−
Имена параметров '''state''' и '''stateargs''', так же является частично зарезервированными, но должны быть описаны для каждого типа устройства.
 
−
 
 
−
Состояние элемента определяется тремя параметрами:
 
−
 
 
−
'''state '''- визуальное состояние элемента. Всегда имеет тип '''ltree'''. Должно быть связано с перечисляемым типом при помощи атрибута '''enum'''.
 
−
 
 
−
'''stateargs''' - дополнительные состояния элемента. Всегда имеет тип '''args'''. Должно быть связано с перечисляемым типом при помощи атрибута '''enum'''.
 
−
 
 
−
 
 
−
'''4. pin'''
 
−
 
 
−
Тег pin может содержать следующие атрибуты:
 
−
 
 
−
:'''type''' - тип разъема. Обязательный атрибут.
 
−
:'''abstract''' - булево значение, помечающее тип как абстрактный. Т.е. запрещающий создание экземпляров такого типа. По умолчанию считается равным false.
 
−
:'''many''' - булево значение указывающее что из данного разъема может выходить несколько соединений. По умолчанию считается равным false.
 
−
:'''must''' - булево значение указывающее что данный разъем обязательно должен быть соединен. По умолчанию считается равным false.
 
−
:'''base '''- базовый тип элемента. По умолчанию Pin.
 
−
 
 
−
'''5. link'''
 
−
 
 
−
Тег link может содержать следующие атрибуты:
 
−
 
 
−
:'''type''' - тип соединения. Обязательный атрибут.
 
−
:'''abstract''' - булево значение, помечающее тип как абстрактный. Т.е. запрещающий создание экземпляров такого типа. По умолчанию считается равным false.
 
−
:'''in''' - тип входного разъема. Обязательный атрибут.
 
−
:'''out''' - тип выходного разъема. Обязательный атрибут.
 
−
:'''base''' - базовый тип элемента. По умолчанию Link.
 
−
 
 
−
'''6. item'''
 
−
 
 
−
Тег '''item''' может содержать следующие атрибуты:
 
−
 
 
−
::'''type''' - тип устройства. Обязательный атрибут.
 
−
::'''abstract''' - булево значение, помечающее тип как абстрактный. Т.е. запрещающий создание экземпляров такого типа. По умолчанию считается равным false.
 
−
::'''public''' - булево значение, помечающее тип как доступный для внешних систем. Т.е. указывает, что компилятор должен создать специальные типы в пространстве имен @public для использования их в качестве параметров soap веб-сервиса. По умолчанию считается равным false.
 
−
::'''base''' - базовый тип элемента. По умолчанию Item.
 
−
 
 
−
Тело тега '''item''' может содержать произвольное количество следующих тегов:
 
−
 
 
−
::'''pin''' - указывает тип разъема.
 
−
 
 
−
Тег pin может содержать следующие атрибуты:
 
−
 
 
−
::'''type''' - тип разъема. Обязательный атрибут.
 
−
::'''name''' - уникальное для устройства имя разъема. Используется для связывания с графическим отображением устройства. . Если для разъема не указано имя, то его имя совпадает с его типом.
 
−
::'''many''' - булево значение указывающее что из данного разъема может выходить несколько соединений. По умолчанию берется значение атрибута из базового класса.
 
−
::'''must''' - булево значение указывающее что данный разъем обязательно должен быть соединен. По умолчанию берется значение атрибута из базового класса.
 
−
::'''repeat''' - строковое значение задающее диапазон номеров имен дубликатов разъемов вида 1..8. Вместо такого разъема создаются его копии с добавлением к имени индекса из дипазона.
 
−
Внутренний для устройства разъем не может содержать дополнительных параметров.
 
−
 
 
−
'''7. event'''
 
−
 
 
−
Тег '''event''' может содержать следующие атрибуты:
 
−
 
 
−
::'''type''' - тип события. Обязательный атрибут.
 
−
::'''abstract''' - булево значение, помечающее тип как абстрактный. Т.е. запрещающий создание экземпляров такого типа. По умолчанию считается равным false.
 
−
::'''base''' - базовый тип элемента. По умолчанию Event.
 
−
 
 
−
===Замечания===
 
−
 
 
−
В процессе парсинга первая буква всех имен типов переводится в верхний регистр, а первая буква всех имен параметров и разъемов в нижний.
 
−
 
 
−
===Dynamic TypeDef===
 
−
 
 
−
Динамическое описание типа позволяет во время исполнения программы строить визуальные формы для редактирование некоторого набора параметров содержащихся в плоском json документе, который в свою очередь полностью содержится в одном обычном параметре.
 
−
 
 
−
Т.е. для Dynamic TypeDef необходимо два параметра внутри одного типа.
 
−
 
 
−
Например:
 
−
 
 
−
<item type="TestItem">
 
−
    <param name="settings" type="json" typedef="typedef" />
 
−
    <param name="typedef" type="xml"/>
 
−
</item>
 
−
 
 
−
Тип TestItem содержит параметр settings типа json описание к которому содержится в параметре typedef типа xml.
 
−
 
 
−
Dynamic TypeDef представляет собой подмножество основного языка TypeDef, в котором произвольный корневой элемент может содержать один или несколько тегов param со всеми описанными выше атрибутами, и таким образом описывает параметры плоского json документа.
 
−
 
 
−
Например если параметр typedef содержит:
 
−
 
 
−
<root>
 
−
    <param name="enabled" type="bool" />
 
−
    <param name="list" type="list" />
 
−
    <param name="timeout" type="int" unit="second">500</param>
 
−
</root>
 
−
 
 
−
Тогда параметр settings будет содержать json документ вида:
 
−
 
 
−
{
 
−
    enabled: false,
 
−
    list: null,
 
−
    timeout: 500
 
−
}
 
−
 
 
−
Отметим что данную технологию не следует использовать для расширения типа объектов динамическими параметрами, т.к. само описание динамического типа хранится так же в параметре конкретного (а не любого) экземпляра типа. Поэтому Dynamic TypeDef следует использовать только для расширения конкретного экземпляра типа, как например внутри триггеров EGS.
 
−
 
 
−
==Описание универсальных типов протокола передачи данных в интеграцию==
 
−
 
 
−
Передача данных об источниках данных  происходит по протоколу TCP/IP на транспортном уровне и по протоколу WAMP или SOAP на уровне приложения. В качестве контейнера передаваемой информации используется JSON (WAMP) и/или XML(SOAP).
 
−
 
 
−
Для защиты канала передачи информации должны использоваться аппаратные или программные средства, предоставляемые сетевой инфраструктурой или применяемыми операционными системами.
 
−
 
 
−
При передаче информации об источниках данных осуществляется передача следующих видов информации:
 
−
 
 
−
 
 
−
Нормализованные данные представляются в описании состояний устройств. Данный параметр каждого из типов представляет собой составную конструкцию вида:  <комплексное состояние>.<текущее состояние>
 
−
 
 
−
Комплексное состояние представлено 5 видами:
 
−
 
 
−
:'''ok''' – нормальное состояние устройства
 
−
:'''error''' – ошибочное состояние устройства
 
−
:'''undefined''' – неизвестное состояние устройства
 
−
:'''alarm''' – тревожное состояние устройства
 
−
:'''none''' – неопределенное состояние устройства
 
−
 
 
−
===Описание универсальных типов системы===
 
−
 
 
−
{| class="simple" border="1" style="text-align:center"
 
−
|+ style="background:#FFCC00"|'''Видеокамера'''
 
−
|Идентификатор устройства
 
−
|id
 
−
|type=text
 
−
|-
 
−
|Название устройства (имя)
 
−
|name
 
−
|type=text
 
−
|-
 
−
|Расположение(координаты)
 
−
|geo_position
 
−
|type=point 
 
−
|-
 
−
|Высота установки
 
−
|geo_height
 
−
|type=real
 
−
|-
 
−
|Обслуживающая организация
 
−
|organization
 
−
|type=text
 
−
|-
 
−
|Дополнительная информация
 
−
|additional_info
 
−
|type=text
 
−
|-
 
−
|Контролируемое время отзыва(мс)
 
−
|max_ping_time_ms
 
−
|type=int
 
−
|-
 
−
|Эхо-запрос,мс
 
−
|ping_time
 
−
|type=int
 
−
|-
 
−
|IP адрес
 
−
|ip
 
−
|type=text
 
−
|-
 
−
|Провайдер
 
−
|provider
 
−
|type=text
 
−
|-
 
−
|Дата ввода в эксплуатацию
 
−
|commisioning
 
−
|type=text
 
−
|-
 
−
|Дата последнего ТО/Номер акта
 
−
|lastMaintence
 
−
|type=text
 
−
|-
 
−
|Запланированная дата ТО
 
−
|plannedMaintence
 
−
|type=text
 
−
|-
 
−
|Период ТО
 
−
|maintencePeriod
 
−
|type=int
 
−
|-
 
−
|Состояние устройства
 
−
|state
 
−
|type=enum
 
−
|}
 
−
 
−
 
 
−
 
−
{| class="simple" border="1" style="text-align:center"
 
−
|+ style="background:#FFCC00"|'''Варианты состояния'''
 
−
|Норма
 
−
|ok.normal
 
−
|-
 
−
|Неисправность
 
−
|error.defective
 
−
|-
 
−
|Тревога
 
−
|alarm.alarm
 
−
|-
 
−
|Неизвестно
 
−
|none.unknown
 
−
|-
 
−
|Статус неизвестен
 
−
|none.stateUnknown
 
−
|-
 
−
|Текущие состояние
 
−
|stateargs
 
−
|type=Array(text)
 
−
|}
 
−
 
 
−
 
 
−
{| class="simple" border="1" style="text-align:center"
 
−
|+ style="background:#FFCC00"|'''Варианты состояния'''
 
−
|Распознано лицо
 
−
|ok.recognizedFace
 
−
|-
 
−
|Обнаружено лицо
 
−
|ok.detectFace
 
−
|-
 
−
|Пересечение линии в определенном направлении
 
−
|alarm.intersectionLineInPredeterminedDirection
 
−
|-
 
−
|Пересечение линии
 
−
|alarm.intersectionLine
 
−
|-
 
−
|Соединение с MSS разорвано
 
−
|alarm.mssDisconnected
 
−
|-
 
−
|DeviceManager подключен
 
−
|ok.dmConnected
 
−
|-
 
−
|Пожар
 
−
|alarm.fire
 
−
|-
 
−
|DeviceManager отключен
 
−
|alarm.dmDisconnected
 
−
|-
 
−
|Зафиксировано изменение фона
 
−
|alarm.backgroundChanged
 
−
|-
 
−
|Зафиксирована зона с  пониженной активностью
 
−
|alarm.lowActionInZone
 
−
|-
 
−
|Высокая активность в зоне
 
−
|alarm.highActionInZone
 
−
|-
 
−
|Реверс барьер
 
−
|alarm.reversBarrier
 
−
|-
 
−
|Диверсия
 
−
|alarm.sabotage
 
−
|-
 
−
|Подмена камеры
 
−
|alarm.cameraChange
 
−
|-
 
−
|Вскрытие корпуса
 
−
|alarm.openingTheCase
 
−
|-
 
−
|Тревожный звонок
 
−
|alarm.alarmCall
 
−
|-
 
−
|Зафиксированный объект обнаружен
 
−
|alarm.fixObjectOn
 
−
|-
 
−
|Зафиксированный объект потерян
 
−
|alarm.fixObjectLeft
 
−
|-
 
−
|Объект обнаружен
 
−
|alarm.objectOn
 
−
|-
 
−
|Объект потерян
 
−
|alarm.objectLeft
 
−
|-
 
−
|Обнаружены люди
 
−
|alarm.humansDetect
 
−
|-
 
−
|Обнаружен человек
 
−
|alarm.humanDetect
 
−
|-
 
−
|Нестандартное движение в зоне
 
−
|alarm.loitering
 
−
|-
 
−
|Нарушение маршрута
 
−
|alarm.breachRoute
 
−
|-
 
−
|Движение с повышенной скоростью
 
−
|alarm.aggressive
 
−
|-
 
−
|Люди в запрещенном месте
 
−
|alarm.prohibitedCrowd
 
−
|-
 
−
|Толпа людей в запрещенном месте
 
−
|alarm.crowdInProhibitedPlace
 
−
|-
 
−
|Зона выход
 
−
|alarm.zoneOut
 
−
|-
 
−
|Зона вход
 
−
|alarm.zoneIn
 
−
|-
 
−
|Нарушение периметра
 
−
|alarm.stile
 
−
|-
 
−
|Движение в зоне путей
 
−
|alarm.ways
 
−
|-
 
−
|Обнаружено задымление
 
−
|alarm.smokescreen
 
−
|-
 
−
|Зафиксирован автомобиль
 
−
|alarm.fixedDriveCar
 
−
|-
 
−
|Движение в зоне
 
−
|alarm.motionInZone
 
−
|-
 
−
|Заслон камеры
 
−
|alarm.barrier
 
−
|-
 
−
|Неактивный Неисправный
 
−
|error.inactiveDefective
 
−
|-
 
−
|Неисправен
 
−
|error.defectiveCam
 
−
|-
 
−
|Включен красный сигнал светофора
 
−
|ok.trafficLightRed
 
−
|-
 
−
|Включен желтый сигнал светофора
 
−
|ok.trafficLightYellow
 
−
|-
 
−
|Включен зеленый сигнал светофора
 
−
|ok.trafficLightGreen
 
−
|-
 
−
|Толпа
 
−
|ok.crowd
 
−
|-
 
−
|Засвет камеры
 
−
|ok.highlights
 
−
|-
 
−
|Нестабильно
 
−
|ok.notStabilized
 
−
|-
 
−
|Смещение камеры с домашней позиции
 
−
|ok.revers
 
−
|-
 
−
|Расфокусировка камеры
 
−
|ok.defocusing
 
−
|-
 
−
|Затемнение камеры
 
−
|ok.blackout
 
−
|-
 
−
|Отправление поезда
 
−
|ok.departureTrain
 
−
|-
 
−
|Прибытие поезда
 
−
|ok.arrivingTrain
 
−
|-
 
−
|Нет движения в зоне
 
−
|ok.noMovementInZone
 
−
|-
 
−
|Поезд в зоне
 
−
|ok.trainInZone
 
−
|-
 
−
|Датчик движения включен
 
−
|ok.motionDetectionOn
 
−
|-
 
−
|Датчик движения выключен
 
−
|ok.motionDetectionOff
 
−
|-
 
−
|Зона выход
 
−
|ok.zoneOut
 
−
|-
 
−
|Зона вход
 
−
|ok.zoneIn
 
−
|-
 
−
|Статус архива: ОШИБКА
 
−
|ok.archiveError
 
−
|-
 
−
|Статус архива: НОРМА
 
−
|ok.archiveNormal
 
−
|-
 
−
|Вращение
 
−
|ok.rotation
 
−
|-
 
−
|Восстановление сигнала
 
−
|error.flashing
 
−
|-
 
−
|Не под охраной
 
−
|ok.inactive
 
−
|-
 
−
|Ночной режим
 
−
|ok.grey
 
−
|-
 
−
|Дневной режим
 
−
|ok.color
 
−
|-
 
−
|Объект удален
 
−
|alarm.objectRemoved
 
−
|-
 
−
|Цель зафиксирована
 
−
|ok.targetFixed
 
−
|-
 
−
|Под охраной
 
−
|ok.active
 
−
|-
 
−
|Нормально
 
−
|ok.normalCam
 
−
|-
 
−
|Обновление состояния
 
−
|ok.stateUpdate
 
−
|-
 
−
|URL
 
−
|url
 
−
|}
 
−
 
 
−
 
 
−
 
 
−
Массив url камеры – основного потока
 
−
-Команды command type=enum
 
−
Варианты состояния:
 
−
- Снять с охраны deactivate
 
−
- Взять под охрану activate
 
−
 
 
−
-Угол обзора камеры fov  type=real
 
−
-Соотношение сторон aspectratio  type=real
 
−
-Глубина архива archieve_length type=real
 
−
 
 
−
ПО видеонаблюдения
 
−
 
 
−
-Состояние ПО state  type=enum
 
−
Варианты состояния:
 
−
-Норма ok.normal
 
−
-Неисправность error.defective
 
−
- Тревога alarm.alarm   
 
−
- Неизвестно none.unknown
 
−
 
 
−
-Время опроса refreshdelay  type=int
 
−
-Порт port  type=int
 
−
-IP адрес ip  type=text
 
−
 
 
−
Система оповещения
 
−
 
 
−
-Расположение(координаты) geo_position  type=point   
 
−
-Высота установки geo_height  type=real
 
−
-Обслуживающая организация organization type=text
 
−
-Дополнительная информация additional_info type=text
 
−
-Текущие состояние stateargs  type=enum
 
−
-Состояние устройства state  type=enum
 
−
Варианты состояния:
 
−
-Норма ok.normal
 
−
-Неисправность error.defective
 
−
- Тревога alarm.alarm   
 
−
- Неизвестно none.unknown
 
−
-Тревога перевода alarm.translation
 
−
-Тестовая тревога alarm.test
 
−
-Тревога сирена alarm.siren
 
−
 
 
−
-Рабочий диапазон effective_range  type=int
 
−
-Приоритет highestPriority  type=int
 
−
-Период обновления refreshMs  type=int
 
−
-Идентификатор устройства id  type=text
 
−
-Название устройства (имя)  name type=text
 
−
-Команды command type=enum
 
−
Варианты состояния:
 
−
-Остановить stop
 
−
-Сирена siren
 
−
-Тест test
 
−
-Файл для проигрывания fileToPlay  type=text
 
−
 
 
−
 
 
−
Охранная сигнализация датчик объема/пожарный датчик
 
−
 
 
−
-Идентификатор устройства id  type=text
 
−
-Название устройства (имя)  name type=text
 
−
-Расположение(координаты) geo_position  type=point   
 
−
-Высота установки geo_height  type=real
 
−
-Обслуживающая организация organization type=text
 
−
-Дополнительная информация additional_info type=text
 
−
-Идентификатор МСС mssGuid  type=text
 
−
-Провайдер provider  type=text
 
−
-Раздел part type=int
 
−
-Дата последнего ТО/Номер акта control_param  type=text
 
−
-Состояние устройства state  type=enum
 
−
Варианты состояния:
 
−
-Норма ok.normal
 
−
-Неисправность error.defective
 
−
- Тревога alarm.alarm   
 
−
- Неизвестно none.unknown
 
−
- Статус неизвестен none.stateUnknown
 
−
-Текущие состояние stateargs  type=Array(text)
 
−
Варианты состояния:
 
−
- Внимание блокировка alarm.blocked
 
−
- Выход за границы диапазона alarm.outOfRange
 
−
- Не под охраной ok.inactive
 
−
- Открыт ok.unlocked
 
−
- Разблокировано ok.unblocked
 
−
- Закрыт ok.locked
 
−
- Под охраной ok.active
 
−
-Тест ok.test
 
−
 
 
−
-Команды command type=enum
 
−
Варианты состояния:
 
−
- Снять с охраны deactivate
 
−
- Взять под охрану activate
 
−
 
 
−
 
 
−
Система контроля доступом датчик
 
−
 
 
−
-Идентификатор устройства id  type=text
 
−
-Название устройства (имя)  name type=text
 
−
-Расположение(координаты) geo_position  type=point   
 
−
-Высота установки geo_height  type=real
 
−
-Обслуживающая организация organization type=text
 
−
-Дополнительная информация additional_info type=text
 
−
-Идентификатор устройства devid type=text
 
−
- COM-порт comPort  type=text
 
−
- URL url type=list
 
−
- Идентификатор МСС mssGuid  type=text
 
−
- Минимальное альтернативное
 
−
напряжение alt_voltage_min type=real
 
−
- Максимальное альтернативное
 
−
напряжение alt_voltage_max type=real
 
−
- Минимальное напряжение voltage_min type=real
 
−
- Максимальное напряжение voltage_max type=real
 
−
- Минимально допустимая
 
−
температура, для тревог, гр. temperature_min type=real
 
−
- Максимально допустимая
 
−
температура, для тревог, гр. temperature_max type=real
 
−
- Альтернативное напряжение alt_voltage type=real
 
−
- Напряжение voltage type=real
 
−
- Температура temperature type=real
 
−
- Дата изготовления manufacturing_date type=text
 
−
- Тип считывателя reader_type type=text
 
−
- Память, кб memory_kb type=int
 
−
- Тип контроллера controller_type type=real
 
−
- Серийный номер serial type=real
 
−
- Параметр управления control_param  type=text
 
−
-Состояние устройства state  type=enum
 
−
Варианты состояния:
 
−
-Норма ok.normal
 
−
-Неисправность error.defective
 
−
- Тревога alarm.alarm   
 
−
- Неизвестно none.unknown
 
−
- Статус неизвестен none.stateUnknown
 
−
-Текущие состояние stateargs  type=Array(text)
 
−
Варианты состояния:
 
−
- Внимание блокировка alarm.blocked
 
−
- Выход за границы диапазона alarm.outOfRange
 
−
- Не под охраной ok.inactive
 
−
- Открыт ok.unlocked
 
−
- Разблокировано ok.unblocked
 
−
- Закрыт ok.locked
 
−
- Под охраной ok.active
 
−
-Выход ok.openOut
 
−
-Вход ok.openIn
 
−
 
 
−
-Команды command type=enum
 
−
Варианты состояния:
 
−
- Обновить refresh
 
−
- Нормализовать normalize
 
−
- Разблокировать unblock
 
−
- Заблокировать block
 
−
- Открыть выход open_out
 
−
- Открыть вход open_in
 
−
 
 
−
 
 
−
Система автоматической пожарной сигнализации
 
−
 
 
−
-Идентификатор устройства id  type=text
 
−
-Название устройства (имя)  name type=text
 
−
-Расположение(координаты) geo_position  type=point   
 
−
-Высота установки geo_height  type=real
 
−
-Обслуживающая организация organization type=text
 
−
-Дополнительная информация additional_info type=text
 
−
- Рабочий диапазон effective_range type=real
 
−
- Комментарий comment type=text
 
−
- Наивысший приоритет  highestPriority type=int
 
−
- Период обновления, мс refreshMs type=int
 
−
-Состояние устройства state  type=enum
 
−
Варианты состояния:
 
−
-Норма ok.normal
 
−
-Неисправность error.defective
 
−
- Тревога alarm.alarm   
 
−
- Неизвестно none.unknown
 
−
- Статус неизвестен none.stateUnknown
 
−
-Текущие состояние stateargs  type=Array(text)
 
−
Варианты состояния:
 
−
- Пожар alarm.fire
 
−
- Тест alarm.test
 
−
- Внимание блокировка alarm.blocked
 
−
- Выход за границы диапазона alarm.outOfRange
 
−
- Не под охраной ok.inactive
 
−
- Открыт ok.unlocked
 
−
- Разблокировано ok.unblocked
 
−
- Закрыт ok.locked
 
−
- Под охраной ok.active
 
−
 
 
−
-Команды command type=enum
 
−
Варианты состояния:
 
−
- Снять с охраны deactivate
 
−
- Взять под охрану activate
 
−
- Тест test
 
−
 
 
−
==Протокол работы с сервером приложения Интегра SOAP==
 
−
Протокол работы с сервером приложения Интегра-Планета-4Д
 
−
 
 
−
Анотация
 
−
Настоящий документ описывает порядок взаимодействия и формат информационно-технического обмена с системой Интегра-Планета-4Д.
 
−
Документ включает:
 
−
1) Описание протокола API взаимодействия;
 
−
2) Описание сервиса обмена данными и структуру передаваемых сообщений.
 
−
Взаимодействие между клиентом и сервером происходит по протоколу TCP/IP на транспортном уровне и по протоколу SOAP на уровне приложения, с использованием протокола HTTP для SOAP диалога. Отправитель SOAP-сообщения инициирует соединение на указанный владельцем противоположной стороны сервиса адрес, порт и URL, проходит авторизацию на центре авторизации, получая тикет, передает SOAP-сообщение и получает от противоположной стороны соответствующий SOAP-ответ с подтверждением получения или описанием ошибки (при сбое получения).
 
−
Для защиты канала передачи информации должны использоваться аппаратные или программные средства, предоставляемые сетевой инфраструктурой или применяемыми операционными системами.
 
−
 
 
−
WSDL
 
−
WSDL (Web Services Description Language) — это язык описания веб-сервисов, основанный на XML. На нем описываются методы, входные и результирующие структуры данных, типы данных, сетевые адреса для обращения к сервису и другое.
 
−
Описание API сервера приложения Интегра-Планета-4Д на WSDL описано в приложении 1.
 
−
 
 
−
Запросы в формате SOAP
 
−
Данные в формате SOAP передаются методом HTTP POST. Запросы отправляют на адрес API 
 
−
 
 
−
Таблица 1 Описание методов
 
−
Название метода
 
−
Описание метода
 
−
Обязательный
 
−
getTypeDef
 
−
Запрос на получение типов системы Интегра-Планета-4Д
 
−
Да
 
−
getServers
 
−
Запрос на получение списка объектов
 
−
Да
 
−
getGraph
 
−
Запрос на получение списка элементов объекта и параметров элементов
 
−
Нет
 
−
put
 
−
Запрос на создание, изменение, удаление данный на конкретном объекте
 
−
Нет
 
−
getRuntimeChanges
 
−
Запрос на получение изменений
 
−
Нет
 
−
 
 
−
 
 
−
Порядок работы с сервером приложении.
 
−
1. Авторизация и получение тикета на сервере авторизации
 
−
Для подключения к сервисам Интегра-Планета-4Д необходимо авторизоваться на сервере авторизации и получить тикет. Данный тикет используется для дальнейшей работы с сервером приложения.
 
−
Формат запроса:
 
−
https://<ip_адрес>:<порт>/getticket?login=<логин>&password=<пароль>&alias=TestAuth
 
−
Результатом ответа будет тикет в формате UUID, либо ошибка.
 
−
 
 
−
2. Выход из приложения
 
−
Для выхода из приложения и закрытия сессии необходимо выполнить выход из системы
 
−
Формат запроса:
 
−
https:// <ip_адрес>:<порт>/logout?ticket_id=<тикет>
 
−
 
 
−
3. Получение списка объектов
 
−
Для получения списка объектов необходимо вызвать метод  getServers
 
−
Параметры метода:
 
−
Нет входных параметров
 
−
Результат:
 
−
 
 
−
<?xml version="1.0" encoding="utf-8"?>
 
−
<ArrayOfKeyValueOfGuidServer xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://integra-s.com/firefly/soap">
 
−
  <KeyValueOfGuidServer>
 
−
    <Key>7c8cb3e5-130a-4438-8c9c-2ce795c82939</Key>
 
−
    <Value>
 
−
      <name>Local server</name>
 
−
      <typedef_version>0.0.0.16</typedef_version>
 
−
      <is_local>true</is_local>
 
−
    </Value>
 
−
  </KeyValueOfGuidServer>
 
−
  <KeyValueOfGuidServer>
 
−
    <Key>76606d62-a514-11e4-8c37-a7064178f246</Key>
 
−
    <Value>
 
−
      <name>Office server</name>
 
−
      <typedef_version>0.0.0.16</typedef_version>
 
−
      <is_local>false</is_local>
 
−
    </Value>
 
−
  </KeyValueOfGuidServer>
 
−
</ArrayOfKeyValueOfGuidServer>
 
−
Таблица 2 Описание ключевых полей запроса (getServers)
 
−
Поле
 
−
Состав данных (значение)
 
−
Формат
 
−
Key
 
−
Идентификатор объекта (сервера)
 
−
Текст (UUID)
 
−
name
 
−
Название (имя) объекта
 
−
Текст
 
−
typedef_version
 
−
Версия используемых типов
 
−
Текст
 
−
is_local
 
−
Признак ретрансляции сервера
 
−
Логический
 
−
 
 
−
 
 
−
4. Получение типов данных система Интегр-Планета-4Д
 
−
Для получения списка объектов необходимо вызвать метод  getTypeDef
 
−
Параметры метода:
 
−
Version – версия с которой поставлять типы – берется из описания сервера(объекта)
 
−
Описание типов системы предоставляется отдельным документом.
 
−
Пример описания типа системы Интегра-Планета-4Д
 
−
Таблица 3  Описание полей, типа Ip_Видео_Камера(IpVideoCamera)
 
−
Код поля
 
−
Описание поля
 
−
name
 
−
Название устройства (имя) 
 
−
id
 
−
Идентификатор устройства
 
−
geo_position
 
−
Расположение(координаты)
 
−
geo_height 
 
−
Высота установки
 
−
organization
 
−
Обслуживающая организация
 
−
additional_info
 
−
Дополнительная информация
 
−
max_ping_time_ms 
 
−
Контролируемое время отзыва(мс)
 
−
ping_time
 
−
Эхо-запрос,мс
 
−
ip
 
−
IP адрес
 
−
provider
 
−
Провайдер
 
−
commisioning
 
−
Дата ввода в эксплуатацию
 
−
lastMaintence
 
−
Дата последнего ТО/Номер акта
 
−
plannedMaintence
 
−
Запланированная дата ТО
 
−
maintencePeriod
 
−
Период ТО
 
−
state 
 
−
Состояние устройства
 
−
stateargs 
 
−
Текущие состояние
 
−
url
 
−
url
 
−
command
 
−
Команды
 
−
fov
 
−
Угол обзора камеры
 
−
aspectratio
 
−
Соотношение сторон
 
−
archieve_length
 
−
Глубина архива
 
−
 
 
−
 
 
−
5. Получение датчиков и их параметров
 
−
Для получения списка объектов необходимо вызвать метод.
 
−
Параметры метода:
 
−
serverId – идентификатор сервера
 
−
Результат:
 
−
<?xml version="1.0" encoding="utf-8"?>
 
−
<Graph xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://integra-s.com/firefly/soap">
 
−
  <ServerId>7c8cb3e5-130a-4438-8c9c-2ce795c82939</ServerId>
 
−
  <items>
 
−
    <KeyValueOfStringItem>
 
−
      <Key>c2fd1a94-3b54-4573-893f-6d4fefa2811c</Key>
 
−
      <Value>
 
−
        <types>
 
−
          <string>Item</string>
 
−
          <string>IncidentEvent</string>
 
−
          <string>BaseObject</string>
 
−
          <string>SpatialObject</string>
 
−
        </types>
 
−
        <params>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>comment</Key>
 
−
            <Value>
 
−
              <value xsi:type="xsd:string">1231313</value>
 
−
              <datetime>1493377308</datetime>
 
−
              <version>17813</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>category</Key>
 
−
            <Value>
 
−
              <value xsi:type="xsd:string">falling</value>
 
−
              <datetime>1493377308</datetime>
 
−
              <version>17812</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>geo_height</Key>
 
−
            <Value>
 
−
              <datetime>1493377256</datetime>
 
−
              <version>9464</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>geo_position</Key>
 
−
            <Value>
 
−
              <datetime>1493377256</datetime>
 
−
              <version>9467</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>altitude</Key>
 
−
            <Value>
 
−
              <value xsi:type="xsd:long">-65535</value>
 
−
              <datetime>1493377308</datetime>
 
−
              <version>17811</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>stateargs</Key>
 
−
            <Value>
 
−
              <datetime>1493377256</datetime>
 
−
              <version>9481</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>name</Key>
 
−
            <Value>
 
−
              <datetime>1493377256</datetime>
 
−
              <version>9473</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>state</Key>
 
−
            <Value>
 
−
              <datetime>1493377256</datetime>
 
−
              <version>9479</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>position</Key>
 
−
            <Value>
 
−
              <value xsi:type="xsd:string">POINT(50.227 53.2371)</value>
 
−
              <datetime>1493377308</datetime>
 
−
              <version>17819</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>organization</Key>
 
−
            <Value>
 
−
              <datetime>1493377256</datetime>
 
−
              <version>9475</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>additional_info</Key>
 
−
            <Value>
 
−
              <datetime>1493377256</datetime>
 
−
              <version>9454</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
          <KeyValueOfStringParam>
 
−
            <Key>icon</Key>
 
−
            <Value>
 
−
              <value xsi:type="xsd:string">falling.png</value>
 
−
              <datetime>1493377308</datetime>
 
−
              <version>17816</version>
 
−
            </Value>
 
−
          </KeyValueOfStringParam>
 
−
        </params>
 
−
        <pins>
 
−
          <KeyValueOfStringPin>
 
−
            <Key>gpsContent</Key>
 
−
            <Value>
 
−
              <types>
 
−
                <string>Pin</string>
 
−
                <string>GpsProviderIn</string>
 
−
              </types>
 
−
              <params />
 
−
            </Value>
 
−
          </KeyValueOfStringPin>
 
−
          <KeyValueOfStringPin>
 
−
            <Key>person_input</Key>
 
−
            <Value>
 
−
              <types>
 
−
                <string>Pin</string>
 
−
                <string>Person_input</string>
 
−
              </types>
 
−
              <params />
 
−
            </Value>
 
−
          </KeyValueOfStringPin>
 
−
          <KeyValueOfStringPin>
 
−
            <Key>positionContent</Key>
 
−
            <Value>
 
−
              <types>
 
−
                <string>Pin</string>
 
−
                <string>PositionContent</string>
 
−
              </types>
 
−
              <params>
 
−
                <KeyValueOfStringParam>
 
−
                  <Key>location</Key>
 
−
                  <Value>
 
−
                    <datetime>1493377256</datetime>
 
−
                    <version>9499</version>
 
−
                  </Value>
 
−
                </KeyValueOfStringParam>
 
−
              </params>
 
−
            </Value>
 
−
          </KeyValueOfStringPin>
 
−
          <KeyValueOfStringPin>
 
−
            <Key>provoker_input</Key>
 
−
            <Value>
 
−
              <types>
 
−
                <string>Pin</string>
 
−
                <string>Provoker_input</string>
 
−
              </types>
 
−
              <params />
 
−
            </Value>
 
−
          </KeyValueOfStringPin>
 
−
        </pins>
 
−
      </Value>
 
−
    </KeyValueOfStringItem>
 
−
 </items>
 
−
</Graph>
 
−
 
 
−
6. Создание, изменение, удаление данных
 
−
Для получения списка объектов необходимо вызвать метод.
 
−
Формат параметров и результатов запроса приведены в отдельном документе
 
−
 
 
−
7. Получение изменений данных
 
−
Для получения списка объектов необходимо вызвать метод.
 
−
Параметры метода:
 
−
serverId – идентификатор сервера
 
−
version – версия с которой необходимо получать изменения
 
−
 
 
−
 
 
−
 
 
−
 
 
−
Приложение 1.
 
−
Описание сервиса обмена данными
 
−
<?xml version="1.0" encoding="utf-8"?>
 
−
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema"
 
−
      xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
 
−
      xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
 
−
      xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
 
−
      xmlns:tns="http://integra-s.com/firefly/soap" xmlns:s1="http://microsoft.com/wsdl/types/"
 
−
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
 
−
      xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
 
−
      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
 
−
      targetNamespace="http://integra-s.com/firefly/soap"
 
−
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
 
−
  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Fire Fly Soap Web
 
−
        Service</wsdl:documentation>
 
−
  <wsdl:types>
 
−
    <s:schema elementFormDefault="qualified"
 
−
          targetNamespace="http://integra-s.com/firefly/soap">
 
−
      <s:import namespace="http://microsoft.com/wsdl/types/"/>
 
−
      <s:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
 
−
      <s:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
 
−
      <s:element name="getServers">
 
−
        <s:complexType/>
 
−
      </s:element>
 
−
      <s:element name="getServersResponse">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="getServersResult"
 
−
                  type="tns:ArrayOfKeyValueOfGuidServer"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:complexType name="ArrayOfKeyValueOfGuidServer">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfGuidServer"
 
−
                nillable="true" type="tns:KeyValueOfGuidServer"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="KeyValueOfGuidServer">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="1" maxOccurs="1" name="Key" type="s1:guid"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="Value" type="tns:Server"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="Server">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="typedef_version" type="s:string"/>
 
−
          <s:element minOccurs="1" maxOccurs="1" name="is_local" type="s:boolean"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:element name="CredentialsHeader" type="tns:CredentialsHeader"/>
 
−
      <s:complexType name="CredentialsHeader">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string"/>
 
−
        </s:sequence>
 
−
        <s:anyAttribute/>
 
−
      </s:complexType>
 
−
      <s:element name="getTypeDef">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="version" type="s:string"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getTypeDefResponse">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="getTypeDefResult">
 
−
              <s:complexType mixed="true">
 
−
                <s:sequence>
 
−
                  <s:any/>
 
−
                </s:sequence>
 
−
              </s:complexType>
 
−
            </s:element>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getGraph">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="1" maxOccurs="1" name="serverId" type="s1:guid"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getGraphResponse">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="getGraphResult" type="tns:Graph"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:complexType name="Graph">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="1" maxOccurs="1" name="ServerId" type="s1:guid"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="items"
 
−
                type="tns:ArrayOfKeyValueOfStringItem"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="links"
 
−
                type="tns:ArrayOfKeyValueOfStringLink"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="ArrayOfKeyValueOfStringItem">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfStringItem"
 
−
                nillable="true" type="tns:KeyValueOfStringItem"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="KeyValueOfStringItem">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="Value" type="tns:Item"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="Item">
 
−
        <s:complexContent mixed="false">
 
−
          <s:extension base="tns:Object">
 
−
            <s:sequence>
 
−
              <s:element minOccurs="0" maxOccurs="1" name="pins"
 
−
                    type="tns:ArrayOfKeyValueOfStringPin"/>
 
−
            </s:sequence>
 
−
          </s:extension>
 
−
        </s:complexContent>
 
−
      </s:complexType>
 
−
      <s:complexType name="Object">
 
−
        <s:complexContent mixed="false">
 
−
          <s:extension base="tns:AbstractObject"/>
 
−
        </s:complexContent>
 
−
      </s:complexType>
 
−
      <s:complexType name="AbstractObject">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="types" type="tns:ArrayOfString"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="params"
 
−
                type="tns:ArrayOfKeyValueOfStringParam"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="ArrayOfString">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true"
 
−
                type="s:string"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="ArrayOfKeyValueOfStringParam">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfStringParam"
 
−
                nillable="true" type="tns:KeyValueOfStringParam"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="KeyValueOfStringParam">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="Value" type="tns:Param"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="Param">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="value"/>
 
−
          <s:element minOccurs="1" maxOccurs="1" name="datetime" type="s:int"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="status" type="s:string"/>
 
−
          <s:element minOccurs="1" maxOccurs="1" name="version" type="s:long"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="Pin">
 
−
        <s:complexContent mixed="false">
 
−
          <s:extension base="tns:AbstractObject"/>
 
−
        </s:complexContent>
 
−
      </s:complexType>
 
−
      <s:complexType name="Link">
 
−
        <s:complexContent mixed="false">
 
−
          <s:extension base="tns:Object"/>
 
−
        </s:complexContent>
 
−
      </s:complexType>
 
−
      <s:complexType name="ArrayOfKeyValueOfStringPin">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfStringPin"
 
−
                nillable="true" type="tns:KeyValueOfStringPin"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="KeyValueOfStringPin">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="Value" type="tns:Pin"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="ArrayOfKeyValueOfStringLink">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfStringLink"
 
−
                nillable="true" type="tns:KeyValueOfStringLink"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="KeyValueOfStringLink">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="Value" type="tns:Link"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:element name="put">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="request" type="tns:ArrayOfPutRequest"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:complexType name="ArrayOfPutRequest">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="unbounded" name="PutRequest" nillable="true"
 
−
                type="tns:PutRequest"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="PutRequest">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="server" type="s:string"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="owner" type="s:string"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="id" type="s:string"/>
 
−
          <s:element minOccurs="0" maxOccurs="1" name="params"
 
−
                type="tns:ArrayOfKeyValueOfStringParam"/>
 
−
          <s:element minOccurs="1" maxOccurs="1" name="entity" type="tns:Entity"/>
 
−
          <s:element minOccurs="1" maxOccurs="1" name="operation" type="tns:Operation"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:simpleType name="Entity">
 
−
        <s:restriction base="s:string">
 
−
          <s:enumeration value="none"/>
 
−
          <s:enumeration value="server"/>
 
−
          <s:enumeration value="router"/>
 
−
          <s:enumeration value="item"/>
 
−
          <s:enumeration value="link"/>
 
−
          <s:enumeration value="pin"/>
 
−
          <s:enumeration value="event"/>
 
−
        </s:restriction>
 
−
      </s:simpleType>
 
−
      <s:simpleType name="Operation">
 
−
        <s:restriction base="s:string">
 
−
          <s:enumeration value="create"/>
 
−
          <s:enumeration value="update"/>
 
−
          <s:enumeration value="delete"/>
 
−
        </s:restriction>
 
−
      </s:simpleType>
 
−
      <s:complexType name="ArrayOfPutResponse">
 
−
        <s:sequence>
 
−
          <s:element minOccurs="0" maxOccurs="unbounded" name="PutResponse" nillable="true"
 
−
                type="tns:PutResponse"/>
 
−
        </s:sequence>
 
−
      </s:complexType>
 
−
      <s:complexType name="PutResponse">
 
−
        <s:complexContent mixed="false">
 
−
          <s:extension base="tns:Param">
 
−
            <s:sequence>
 
−
              <s:element minOccurs="0" maxOccurs="1" name="server" type="s:string"/>
 
−
              <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
 
−
              <s:element minOccurs="0" maxOccurs="1" name="owner" type="s:string"/>
 
−
              <s:element minOccurs="1" maxOccurs="1" name="operation" type="tns:Operation"/>
 
−
              <s:element minOccurs="1" maxOccurs="1" name="entity" type="tns:Entity"/>
 
−
              <s:element minOccurs="0" maxOccurs="1" name="type" type="s:string"/>
 
−
              <s:element minOccurs="0" maxOccurs="1" name="id" type="s:string"/>
 
−
            </s:sequence>
 
−
          </s:extension>
 
−
        </s:complexContent>
 
−
      </s:complexType>
 
−
      <s:element name="putResponse">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="putResult"
 
−
                  type="tns:ArrayOfPutResponse"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getRuntimeChanges">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="1" maxOccurs="1" name="serverId" type="s1:guid"/>
 
−
            <s:element minOccurs="1" maxOccurs="1" name="version" type="s:long"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getRuntimeChangesResponse">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="getRuntimeChangesResult"
 
−
                  type="tns:ArrayOfPutResponse"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getServersEx">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getServersExResponse">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="getServersExResult"
 
−
                  type="tns:ArrayOfKeyValueOfGuidServer"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getTypeDefEx">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string"/>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="version" type="s:string"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getTypeDefExResponse">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="getTypeDefExResult">
 
−
              <s:complexType mixed="true">
 
−
                <s:sequence>
 
−
                  <s:any/>
 
−
                </s:sequence>
 
−
              </s:complexType>
 
−
            </s:element>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getGraphEx">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string"/>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="serverId" type="s:string"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getGraphExResponse">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="getGraphExResult" type="tns:Graph"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="putEx">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string"/>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="request" type="tns:ArrayOfPutRequest"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="putExResponse">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="putExResult"
 
−
                  type="tns:ArrayOfPutResponse"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getRuntimeChangesEx">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string"/>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="serverId" type="s:string"/>
 
−
            <s:element minOccurs="1" maxOccurs="1" name="version" type="s:long"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="getRuntimeChangesExResponse">
 
−
        <s:complexType>
 
−
          <s:sequence>
 
−
            <s:element minOccurs="0" maxOccurs="1" name="getRuntimeChangesExResult"
 
−
                  type="tns:ArrayOfPutResponse"/>
 
−
          </s:sequence>
 
−
        </s:complexType>
 
−
      </s:element>
 
−
      <s:element name="ArrayOfKeyValueOfGuidServer" nillable="true"
 
−
            type="tns:ArrayOfKeyValueOfGuidServer"/>
 
−
      <s:element name="Graph" nillable="true" type="tns:Graph"/>
 
−
      <s:element name="ArrayOfPutResponse" nillable="true" type="tns:ArrayOfPutResponse"/>
 
−
    </s:schema>
 
−
    <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
 
−
      <s:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
 
−
      <s:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
 
−
      <s:simpleType name="guid">
 
−
        <s:restriction base="s:string">
 
−
          <s:pattern
 
−
               
 
−
               
 
−
               
 
−
               
 
−
               
 
−
                value="[0-9a-fA-F]{8-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"}/>
 
−
        </s:restriction>
 
−
      </s:simpleType>
 
−
    </s:schema>
 
−
  </wsdl:types>
 
−
  <wsdl:message name="getServersSoapIn">
 
−
    <wsdl:part name="parameters" element="tns:getServers"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getServersSoapOut">
 
−
    <wsdl:part name="parameters" element="tns:getServersResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getServersCredentialsHeader">
 
−
    <wsdl:part name="CredentialsHeader" element="tns:CredentialsHeader"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefSoapIn">
 
−
    <wsdl:part name="parameters" element="tns:getTypeDef"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefSoapOut">
 
−
    <wsdl:part name="parameters" element="tns:getTypeDefResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefCredentialsHeader">
 
−
    <wsdl:part name="CredentialsHeader" element="tns:CredentialsHeader"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getGraphSoapIn">
 
−
    <wsdl:part name="parameters" element="tns:getGraph"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getGraphSoapOut">
 
−
    <wsdl:part name="parameters" element="tns:getGraphResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getGraphCredentialsHeader">
 
−
    <wsdl:part name="CredentialsHeader" element="tns:CredentialsHeader"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="putSoapIn">
 
−
    <wsdl:part name="parameters" element="tns:put"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="putSoapOut">
 
−
    <wsdl:part name="parameters" element="tns:putResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="putCredentialsHeader">
 
−
    <wsdl:part name="CredentialsHeader" element="tns:CredentialsHeader"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getRuntimeChangesSoapIn">
 
−
    <wsdl:part name="parameters" element="tns:getRuntimeChanges"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getRuntimeChangesSoapOut">
 
−
    <wsdl:part name="parameters" element="tns:getRuntimeChangesResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getRuntimeChangesCredentialsHeader">
 
−
    <wsdl:part name="CredentialsHeader" element="tns:CredentialsHeader"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getServersExSoapIn">
 
−
    <wsdl:part name="parameters" element="tns:getServersEx"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getServersExSoapOut">
 
−
    <wsdl:part name="parameters" element="tns:getServersExResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefExSoapIn">
 
−
    <wsdl:part name="parameters" element="tns:getTypeDefEx"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefExSoapOut">
 
−
    <wsdl:part name="parameters" element="tns:getTypeDefExResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getGraphExSoapIn">
 
−
    <wsdl:part name="parameters" element="tns:getGraphEx"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getGraphExSoapOut">
 
−
    <wsdl:part name="parameters" element="tns:getGraphExResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="putExSoapIn">
 
−
    <wsdl:part name="parameters" element="tns:putEx"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="putExSoapOut">
 
−
    <wsdl:part name="parameters" element="tns:putExResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getRuntimeChangesExSoapIn">
 
−
    <wsdl:part name="parameters" element="tns:getRuntimeChangesEx"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getRuntimeChangesExSoapOut">
 
−
    <wsdl:part name="parameters" element="tns:getRuntimeChangesExResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getServersHttpGetIn"/>
 
−
  <wsdl:message name="getServersHttpGetOut">
 
−
    <wsdl:part name="Body" element="tns:ArrayOfKeyValueOfGuidServer"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefHttpGetIn">
 
−
    <wsdl:part name="version" type="s:string"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefHttpGetOut">
 
−
    <wsdl:part name="Body"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getServersExHttpGetIn">
 
−
    <wsdl:part name="username" type="s:string"/>
 
−
    <wsdl:part name="token" type="s:string"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getServersExHttpGetOut">
 
−
    <wsdl:part name="Body" element="tns:ArrayOfKeyValueOfGuidServer"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefExHttpGetIn">
 
−
    <wsdl:part name="username" type="s:string"/>
 
−
    <wsdl:part name="token" type="s:string"/>
 
−
    <wsdl:part name="version" type="s:string"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefExHttpGetOut">
 
−
    <wsdl:part name="Body"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getGraphExHttpGetIn">
 
−
    <wsdl:part name="username" type="s:string"/>
 
−
    <wsdl:part name="token" type="s:string"/>
 
−
    <wsdl:part name="serverId" type="s:string"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getGraphExHttpGetOut">
 
−
    <wsdl:part name="Body" element="tns:Graph"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getRuntimeChangesExHttpGetIn">
 
−
    <wsdl:part name="username" type="s:string"/>
 
−
    <wsdl:part name="token" type="s:string"/>
 
−
    <wsdl:part name="serverId" type="s:string"/>
 
−
    <wsdl:part name="version" type="s:string"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getRuntimeChangesExHttpGetOut">
 
−
    <wsdl:part name="Body" element="tns:ArrayOfPutResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getServersHttpPostIn"/>
 
−
  <wsdl:message name="getServersHttpPostOut">
 
−
    <wsdl:part name="Body" element="tns:ArrayOfKeyValueOfGuidServer"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefHttpPostIn">
 
−
    <wsdl:part name="version" type="s:string"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefHttpPostOut">
 
−
    <wsdl:part name="Body"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getServersExHttpPostIn">
 
−
    <wsdl:part name="username" type="s:string"/>
 
−
    <wsdl:part name="token" type="s:string"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getServersExHttpPostOut">
 
−
    <wsdl:part name="Body" element="tns:ArrayOfKeyValueOfGuidServer"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefExHttpPostIn">
 
−
    <wsdl:part name="username" type="s:string"/>
 
−
    <wsdl:part name="token" type="s:string"/>
 
−
    <wsdl:part name="version" type="s:string"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getTypeDefExHttpPostOut">
 
−
    <wsdl:part name="Body"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getGraphExHttpPostIn">
 
−
    <wsdl:part name="username" type="s:string"/>
 
−
    <wsdl:part name="token" type="s:string"/>
 
−
    <wsdl:part name="serverId" type="s:string"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getGraphExHttpPostOut">
 
−
    <wsdl:part name="Body" element="tns:Graph"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getRuntimeChangesExHttpPostIn">
 
−
    <wsdl:part name="username" type="s:string"/>
 
−
    <wsdl:part name="token" type="s:string"/>
 
−
    <wsdl:part name="serverId" type="s:string"/>
 
−
    <wsdl:part name="version" type="s:string"/>
 
−
  </wsdl:message>
 
−
  <wsdl:message name="getRuntimeChangesExHttpPostOut">
 
−
    <wsdl:part name="Body" element="tns:ArrayOfPutResponse"/>
 
−
  </wsdl:message>
 
−
  <wsdl:portType name="FireFlySoapSoap">
 
−
    <wsdl:operation name="getServers">
 
−
      <wsdl:input message="tns:getServersSoapIn"/>
 
−
      <wsdl:output message="tns:getServersSoapOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDef">
 
−
      <wsdl:input message="tns:getTypeDefSoapIn"/>
 
−
      <wsdl:output message="tns:getTypeDefSoapOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getGraph">
 
−
      <wsdl:input message="tns:getGraphSoapIn"/>
 
−
      <wsdl:output message="tns:getGraphSoapOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="put">
 
−
      <wsdl:input message="tns:putSoapIn"/>
 
−
      <wsdl:output message="tns:putSoapOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getRuntimeChanges">
 
−
      <wsdl:input message="tns:getRuntimeChangesSoapIn"/>
 
−
      <wsdl:output message="tns:getRuntimeChangesSoapOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getServersEx">
 
−
      <wsdl:input message="tns:getServersExSoapIn"/>
 
−
      <wsdl:output message="tns:getServersExSoapOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDefEx">
 
−
      <wsdl:input message="tns:getTypeDefExSoapIn"/>
 
−
      <wsdl:output message="tns:getTypeDefExSoapOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getGraphEx">
 
−
      <wsdl:input message="tns:getGraphExSoapIn"/>
 
−
      <wsdl:output message="tns:getGraphExSoapOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="putEx">
 
−
      <wsdl:input message="tns:putExSoapIn"/>
 
−
      <wsdl:output message="tns:putExSoapOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getRuntimeChangesEx">
 
−
      <wsdl:input message="tns:getRuntimeChangesExSoapIn"/>
 
−
      <wsdl:output message="tns:getRuntimeChangesExSoapOut"/>
 
−
    </wsdl:operation>
 
−
  </wsdl:portType>
 
−
  <wsdl:portType name="FireFlySoapHttpGet">
 
−
    <wsdl:operation name="getServers">
 
−
      <wsdl:input message="tns:getServersHttpGetIn"/>
 
−
      <wsdl:output message="tns:getServersHttpGetOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDef">
 
−
      <wsdl:input message="tns:getTypeDefHttpGetIn"/>
 
−
      <wsdl:output message="tns:getTypeDefHttpGetOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getServersEx">
 
−
      <wsdl:input message="tns:getServersExHttpGetIn"/>
 
−
      <wsdl:output message="tns:getServersExHttpGetOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDefEx">
 
−
      <wsdl:input message="tns:getTypeDefExHttpGetIn"/>
 
−
      <wsdl:output message="tns:getTypeDefExHttpGetOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getGraphEx">
 
−
      <wsdl:input message="tns:getGraphExHttpGetIn"/>
 
−
      <wsdl:output message="tns:getGraphExHttpGetOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getRuntimeChangesEx">
 
−
      <wsdl:input message="tns:getRuntimeChangesExHttpGetIn"/>
 
−
      <wsdl:output message="tns:getRuntimeChangesExHttpGetOut"/>
 
−
    </wsdl:operation>
 
−
  </wsdl:portType>
 
−
  <wsdl:portType name="FireFlySoapHttpPost">
 
−
    <wsdl:operation name="getServers">
 
−
      <wsdl:input message="tns:getServersHttpPostIn"/>
 
−
      <wsdl:output message="tns:getServersHttpPostOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDef">
 
−
      <wsdl:input message="tns:getTypeDefHttpPostIn"/>
 
−
      <wsdl:output message="tns:getTypeDefHttpPostOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getServersEx">
 
−
      <wsdl:input message="tns:getServersExHttpPostIn"/>
 
−
      <wsdl:output message="tns:getServersExHttpPostOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDefEx">
 
−
      <wsdl:input message="tns:getTypeDefExHttpPostIn"/>
 
−
      <wsdl:output message="tns:getTypeDefExHttpPostOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getGraphEx">
 
−
      <wsdl:input message="tns:getGraphExHttpPostIn"/>
 
−
      <wsdl:output message="tns:getGraphExHttpPostOut"/>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getRuntimeChangesEx">
 
−
      <wsdl:input message="tns:getRuntimeChangesExHttpPostIn"/>
 
−
      <wsdl:output message="tns:getRuntimeChangesExHttpPostOut"/>
 
−
    </wsdl:operation>
 
−
  </wsdl:portType>
 
−
  <wsdl:binding name="FireFlySoapSoap" type="tns:FireFlySoapSoap">
 
−
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
 
−
    <wsdl:operation name="getServers">
 
−
      <soap:operation soapAction="http://integra-s.com/firefly/soap/getServers"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap:body use="literal"/>
 
−
        <soap:header message="tns:getServersCredentialsHeader" part="CredentialsHeader"
 
−
              use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDef">
 
−
      <soap:operation soapAction="http://integra-s.com/firefly/soap/getTypeDef"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap:body use="literal"/>
 
−
        <soap:header message="tns:getTypeDefCredentialsHeader" part="CredentialsHeader"
 
−
              use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getGraph">
 
−
      <soap:operation soapAction="http://integra-s.com/firefly/soap/getGraph" style="document"/>
 
−
      <wsdl:input>
 
−
        <soap:body use="literal"/>
 
−
        <soap:header message="tns:getGraphCredentialsHeader" part="CredentialsHeader"
 
−
              use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="put">
 
−
      <soap:operation soapAction="http://integra-s.com/firefly/soap/put" style="document"/>
 
−
      <wsdl:input>
 
−
        <soap:body use="literal"/>
 
−
        <soap:header message="tns:putCredentialsHeader" part="CredentialsHeader" use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getRuntimeChanges">
 
−
      <soap:operation soapAction="http://integra-s.com/firefly/soap/getRuntimeChanges"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap:body use="literal"/>
 
−
        <soap:header message="tns:getRuntimeChangesCredentialsHeader" part="CredentialsHeader"
 
−
              use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getServersEx">
 
−
      <soap:operation soapAction="http://integra-s.com/firefly/soap/getServersEx"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDefEx">
 
−
      <soap:operation soapAction="http://integra-s.com/firefly/soap/getTypeDefEx"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getGraphEx">
 
−
      <soap:operation soapAction="http://integra-s.com/firefly/soap/getGraphEx"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="putEx">
 
−
      <soap:operation soapAction="http://integra-s.com/firefly/soap/putEx" style="document"/>
 
−
      <wsdl:input>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getRuntimeChangesEx">
 
−
      <soap:operation soapAction="http://integra-s.com/firefly/soap/getRuntimeChangesEx"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
  </wsdl:binding>
 
−
  <wsdl:binding name="FireFlySoapSoap12" type="tns:FireFlySoapSoap">
 
−
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
 
−
    <wsdl:operation name="getServers">
 
−
      <soap12:operation soapAction="http://integra-s.com/firefly/soap/getServers"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap12:body use="literal"/>
 
−
        <soap12:header message="tns:getServersCredentialsHeader" part="CredentialsHeader"
 
−
              use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDef">
 
−
      <soap12:operation soapAction="http://integra-s.com/firefly/soap/getTypeDef"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap12:body use="literal"/>
 
−
        <soap12:header message="tns:getTypeDefCredentialsHeader" part="CredentialsHeader"
 
−
              use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getGraph">
 
−
      <soap12:operation soapAction="http://integra-s.com/firefly/soap/getGraph"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap12:body use="literal"/>
 
−
        <soap12:header message="tns:getGraphCredentialsHeader" part="CredentialsHeader"
 
−
              use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="put">
 
−
      <soap12:operation soapAction="http://integra-s.com/firefly/soap/put" style="document"/>
 
−
      <wsdl:input>
 
−
        <soap12:body use="literal"/>
 
−
        <soap12:header message="tns:putCredentialsHeader" part="CredentialsHeader"
 
−
              use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getRuntimeChanges">
 
−
      <soap12:operation soapAction="http://integra-s.com/firefly/soap/getRuntimeChanges"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap12:body use="literal"/>
 
−
        <soap12:header message="tns:getRuntimeChangesCredentialsHeader"
 
−
              part="CredentialsHeader" use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getServersEx">
 
−
      <soap12:operation soapAction="http://integra-s.com/firefly/soap/getServersEx"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDefEx">
 
−
      <soap12:operation soapAction="http://integra-s.com/firefly/soap/getTypeDefEx"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getGraphEx">
 
−
      <soap12:operation soapAction="http://integra-s.com/firefly/soap/getGraphEx"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="putEx">
 
−
      <soap12:operation soapAction="http://integra-s.com/firefly/soap/putEx" style="document"/>
 
−
      <wsdl:input>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getRuntimeChangesEx">
 
−
      <soap12:operation soapAction="http://integra-s.com/firefly/soap/getRuntimeChangesEx"
 
−
            style="document"/>
 
−
      <wsdl:input>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <soap12:body use="literal"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
  </wsdl:binding>
 
−
  <wsdl:binding name="FireFlySoapHttpGet" type="tns:FireFlySoapHttpGet">
 
−
    <http:binding verb="GET"/>
 
−
    <wsdl:operation name="getServers">
 
−
      <http:operation location="/getServers"/>
 
−
      <wsdl:input>
 
−
        <http:urlEncoded/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:mimeXml part="Body"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDef">
 
−
      <http:operation location="/getTypeDef"/>
 
−
      <wsdl:input>
 
−
        <http:urlEncoded/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:content part="Body" type="text/xml"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getServersEx">
 
−
      <http:operation location="/getServersEx"/>
 
−
      <wsdl:input>
 
−
        <http:urlEncoded/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:mimeXml part="Body"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDefEx">
 
−
      <http:operation location="/getTypeDefEx"/>
 
−
      <wsdl:input>
 
−
        <http:urlEncoded/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:content part="Body" type="text/xml"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getGraphEx">
 
−
      <http:operation location="/getGraphEx"/>
 
−
      <wsdl:input>
 
−
        <http:urlEncoded/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:mimeXml part="Body"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getRuntimeChangesEx">
 
−
      <http:operation location="/getRuntimeChangesEx"/>
 
−
      <wsdl:input>
 
−
        <http:urlEncoded/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:mimeXml part="Body"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
  </wsdl:binding>
 
−
  <wsdl:binding name="FireFlySoapHttpPost" type="tns:FireFlySoapHttpPost">
 
−
    <http:binding verb="POST"/>
 
−
    <wsdl:operation name="getServers">
 
−
      <http:operation location="/getServers"/>
 
−
      <wsdl:input>
 
−
        <mime:content type="application/x-www-form-urlencoded"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:mimeXml part="Body"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDef">
 
−
      <http:operation location="/getTypeDef"/>
 
−
      <wsdl:input>
 
−
        <mime:content type="application/x-www-form-urlencoded"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:content part="Body" type="text/xml"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getServersEx">
 
−
      <http:operation location="/getServersEx"/>
 
−
      <wsdl:input>
 
−
        <mime:content type="application/x-www-form-urlencoded"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:mimeXml part="Body"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getTypeDefEx">
 
−
      <http:operation location="/getTypeDefEx"/>
 
−
      <wsdl:input>
 
−
        <mime:content type="application/x-www-form-urlencoded"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:content part="Body" type="text/xml"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getGraphEx">
 
−
      <http:operation location="/getGraphEx"/>
 
−
      <wsdl:input>
 
−
        <mime:content type="application/x-www-form-urlencoded"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:mimeXml part="Body"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
    <wsdl:operation name="getRuntimeChangesEx">
 
−
      <http:operation location="/getRuntimeChangesEx"/>
 
−
      <wsdl:input>
 
−
        <mime:content type="application/x-www-form-urlencoded"/>
 
−
      </wsdl:input>
 
−
      <wsdl:output>
 
−
        <mime:mimeXml part="Body"/>
 
−
      </wsdl:output>
 
−
    </wsdl:operation>
 
−
  </wsdl:binding>
 
−
  <wsdl:service name="FireFlySoap">
 
−
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Fire Fly Soap Web
 
−
          Service</wsdl:documentation>
 
−
    <wsdl:port name="FireFlySoapSoap" binding="tns:FireFlySoapSoap">
 
−
      <soap:address location="http://localhost:9000/FireFlySoap.asmx"/>
 
−
    </wsdl:port>
 
−
    <wsdl:port name="FireFlySoapSoap12" binding="tns:FireFlySoapSoap12">
 
−
      <soap12:address location="http://localhost:9000/FireFlySoap.asmx"/>
 
−
    </wsdl:port>
 
−
    <wsdl:port name="FireFlySoapHttpGet" binding="tns:FireFlySoapHttpGet">
 
−
      <http:address location="http://localhost:9000/FireFlySoap.asmx"/>
 
−
    </wsdl:port>
 
−
    <wsdl:port name="FireFlySoapHttpPost" binding="tns:FireFlySoapHttpPost">
 
−
      <http:address location="http://localhost:9000/FireFlySoap.asmx"/>
 
−
    </wsdl:port>
 
−
  </wsdl:service>
 
−
</wsdl:definitions>
 

Текущая версия на 14:02, 11 октября 2017

Архитектура сервера приложения


Описание подписок на основе селекторов


Описание структуры типов Интегра-Планета-4D


Описание универсальных типов протокола передачи данных в интеграцию


Протокол работы с сервером приложения Интегра SOAP