Методические рекомендации - Единая система нормативно

advertisement
ИНФРАСТРУКТУРА ЭЛЕКТРОННОГО ПРАВИТЕЛЬСТВА
Выполнение работ в 2012 году по развитию инфраструктуры
электронного правительства в рамках реализации мероприятий
государственной программы Российской Федерации
«Информационное общество
(2011-2020 годы)»
Создание единой системы справочников и классификаторов,
используемых в государственных и муниципальных
информационных системах
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ
ЕДИНОЙ СИСТЕМЫ СПРАВОЧНИКОВ И
КЛАССИФИКАТОРОВ, ИСПОЛЬЗУЕМЫХ В
ГОСУДАРСТВЕННЫХ И МУНИЦИПАЛЬНЫХ
ИНФОРМАЦИОННЫХ СИСТЕМАХ
Листов
Москва 2012
СОДЕРЖАНИЕ
ТЕРМИНЫ И СОКРАЩЕНИЯ..............................................................................................................3
ВВЕДЕНИЕ .....................................................................................................................................5
ОБЩИЕ СВЕДЕНИЯ ПО ЕСНСИ ................................................................................................6
ТРЕБОВАНИЯ К ДАННЫМ КОМПОНЕНТОВ НСИ ................................................................8
3.1 Общие требования к данным компонентов НСИ в ЕСНСИ .....................................................8
3.2 Требования к передаче реплики или обновлений данных компонентов НСИ .......................8
3.3 Требования к файлу данных компонента НСИ для разовой (единовременной)
загрузке данных в ЕСНСИ ..............................................................................................................8
3.3.1 Общие требования ..................................................................................................... 9
3.3.2 Требования к файлу в формате XML ....................................................................... 9
4
ТРЕБОВАНИЯ К СТРУКТУРЕ ЭЛЕКТРОННЫХ СООБЩЕНИЙ .........................................10
1
2
3
4.1 Общие требования ......................................................................................................................10
4.2 Унифицированный служебный блок-обертка данных атрибутов сообщения СМЭВ
(smev:MessageData) ........................................................................................................................11
5
МЕТОДЫ ВЗАИМОДЕЙСТВИЯ С ЕСНСИ ДЛЯ ОПЕРАТОРА КОМПОНЕНТА
НСИ ........................................................................................................................................................12
5.1 Общие сведения ..........................................................................................................................12
5.2 Уведомление об изменении данных компонента НСИ (componentChanged) .......................12
5.3 Предоставление обновлений и реплики (getLastUpdates) на стороне Оператора
компонента НСИ ............................................................................................................................13
6
МЕТОДЫ ВЗАИМОДЕЙСТВИЯ С ЕСНСИ ДЛЯ ПОТРЕБИТЕЛЕЙ ....................................17
6.1 Общие сведения ..........................................................................................................................17
6.2 Поиск компонента (findComponent) ..........................................................................................17
6.3 Поиск и получение ревизии компонента (findComponentRevision) .......................................19
6.4 Получение ревизии элемента компонента (findElementRevision) ..........................................20
6.5 Получение обновлений и реплики (getLastUpdates) ................................................................22
6.6 Уведомление об обновлении описания либо данных компонента НСИ
(componentChanged) .......................................................................................................................25
6.7 Получение неверсионной реплики (getSnapshot).....................................................................26
6.8 Получение обновлений неверсионной реплики (getNewEvents) ............................................27
6.9 Получение перечня аннулированных элементов неверсионных данных
(getExpiredElements) ......................................................................................................................29
2
ТЕРМИНЫ И СОКРАЩЕНИЯ
Термин
Определение
Атрибут НСИ
Соответствует терминологии СУБД: поле записи, строки
ЕСНСИ
Единая система справочников и классификаторов, используемых в
государственных и муниципальных информационных системах
Идентификатор
Атрибут или набор атрибутов компонента НСИ, определённый
нормативными документами или Оператором компонента НСИ,
позволяющий однозначно идентифицировать элемент данных
компонента НСИ
ИС
Информационная система - совокупность содержащейся в базах
данных
информации
и
обеспечивающих
ее
обработку
информационных технологий и технических средств
Реестр НСИ
Специальный структурированный компонент НСИ, содержащий
информацию обо всех классификаторах и справочниках, имеющихся
в ЕНСИ.
Компонент НСИ
Отдельный классификатор или справочник (реестр, регистр, кадастр)
в составе информационной системы
Ревизия
компонента
Конкретные параметры справочника (компонента), такие как
название, текстовое развёрнутое описание справочника и хранимых
данных, период действия компонента в данной ревизии, структуру
(формат) хранимых элементов. Ревизия компонента владеет
множеством элементов с указанной структурой
НСИ
Нормативно-справочная информация
ОГВ
Органы государственной власти
Оператор
Юридическое лицо, осуществляющие деятельность по эксплуатации
информационной информационной системы, в том числе по обработке информации,
системы
содержащейся в ее базах данных (в ред. Федерального закона от 27
июля 2006г. № 149-ФЗ)
Оператор
Ведомство, или иной государственный орган обладатель
компонента НСИ информации, являющейся компонентом НСИ, и назначенный
(Оператор)
соответствующим нормативным актом лицом - ответственным за
ведение и актуализацию компонента НСИ.
СМЭВ
Система межведомственного электронного взаимодействия
Структура
Номенклатура, формат и смысловое содержание полей элементов
компонента НСИ НСИ
Ревизия элемента конкретная версия элемента справочника, информационное
наполнение элемента, также содержит период действия этой версии
3
Термин
Определение
элемента
Элемент НСИ
Непосредственно адресуемая запись (строка) справочника или
классификатора (в терминах СУБД – кортеж)
Эталонный банк
Совокупность баз данных разрабатываемой системы, размещаемых на
федеральном (федеральный банк) и региональном (региональные
банки) уровне и предназначенных для хранения эталонных
компонентов НСИ и предоставления пользователям информации из
этих компонентов.
XML
Текстовый
формат,
предназначенный
для
хранения
структурированных данных и обмена информацией между
программами
WSDL
Язык описания веб-сервисов и доступа к ним
4
1 ВВЕДЕНИЕ
Аннотация
Настоящий документ описывает требования к данным в Единой системе НСИ,
правила разработки программных интерфейсов и электронных сервисов,
предназначенных для взаимодействия с единой системой НСИ, в части применения
служебных блоков данных, передаваемых в электронных сообщениях, а также форматов
элементов НСИ.
Требования, указанные в документе, следует рассматривать в дополнение к:
 требованиям, содержащимся в приказе Министерства связи и массовых
коммуникаций Российской Федерации от 27 декабря 2010 г. № 190 «Об
утверждении технических требований к взаимодействию информационных
систем
в
единой
системе
межведомственного
электронного
взаимодействия»;
 методическим рекомендациям по разработке электронных сервисов и
применению технологии электронной подписи при межведомственном
электронном взаимодействии версии 2.4.4.
5
2 ОБЩИЕ СВЕДЕНИЯ ПО ЕСНСИ
Полное
наименование
системы:
Единая
система
справочников
и
классификаторов, используемых в государственных и муниципальных информационных
системах.
Краткое наименование системы: Единая система НСИ, ЕСНСИ, Система.
ЕСНСИ должна обеспечивать осуществление следующих основных функций:
− ведение единого реестра НСИ;
− доступ конечных пользователей к данным единого реестра НСИ;
− предоставление конечным пользователям данных компонентов НСИ.
Пользователями Системы являются:

поставщики справочных данных – органы государственной власти и
местного самоуправления, подведомственные им организации, органы
государственных внебюджетных фондов РФ, иные органы и организации,
размещающие в Системе справочные данные (описание справочников,
классификаторов и базовых информационных ресурсов, а также данные
справочников и классификаторов):
 операторы компонентов НСИ - органы государственной власти или
местного
самоуправления,
уполномоченные
на
ведение
справочников и классификаторов;
 операторы БГИР
органы
федеральные органы исполнительной власти и
государственных
уполномоченные
на
внебюджетных
ведение
базовых
фондов
РФ,
государственных
информационных ресурсов;

потребители
справочных
данных
–
информационные
системы
государственных и муниципальных органов власти, а также сотрудники этих
органов, обеспечивающие эксплуатацию
указанных информационных
систем;

оператор (ы) единого реестра НСИ, реестра БГИР и реестра объектов учета –
орган государственной власти, уполномоченный на формирование и ведение
указанных реестров.
6
Информационное взаимодействие Системы и информационных систем органов
исполнительных
власти,
государственных
внебюджетных
фондов
и
местного
самоуправления осуществляется посредством единой системы межведомственного
электронного взаимодействия (СМЭВ).
Система
поддерживает
следующие
варианты
предоставления
конечным
пользователям данных компонентов НСИ:
− данные конечным пользователям предоставляет оператор компонента НСИ;
− данные конечным пользователям предоставляются посредством Системы.
Система поддерживает следующие механизмы получения актуальных данных
компонентов НСИ от их операторов для предоставления конечным пользователям:
− Оператор компонента передает в Систему актуальные данные компонента
НСИ в соответствии с установленной регламентом периодичностью;
− Оператор компонента использует Систему для ведения данных компонента
НСИ.
7
3 ТРЕБОВАНИЯ К ДАННЫМ КОМПОНЕНТОВ НСИ
3.1 Общие требования к данным компонентов НСИ в ЕСНСИ
Для данных компонентов НСИ в ЕС НСИ предъявляются следующие требования:
 каждый компонент НСИ должен иметь идентификатор (уникальный
признак объекта, позволяющий различать объекты и/или объект);
 компонент НСИ не должен содержать дубликатов идентификаторов, за
исключением случаев поддержки компонентом версионности данных, а
также дубликатов записей с различными значениями идентификаторов;
 компонент НСИ должен быть нормализован, не допускается наличие
двух и более полей, содержащих одну и ту же информацию;
 при наличии в структуре данных компонента НСИ внутренних ссылок, он
должен удовлетворять требованиям ссылочной целостности;
 дата начала действия версии (ревизии) элемента должна быть меньше
даты конца действия версии (ревизии) элемента;
 периоды действия различных версий (ревизий) элемента компонента
НСИ не должны пересекаться;
 Передаваемые XML документы данных компонентов НСИ должны
соответствовать XML схеме соответствующей ревизии компонента
опубликованной или публикуемой в ЭБ ЕС НСИ.
3.2 Требования к
компонентов НСИ
передаче
реплики
или
обновлений
данных
При передаче реплики или обновлений данных предъявляются следующие
требования:
 при передаче данных в виде реплики либо обновления данных должны
соблюдаться все приведенные выше общие требования к данным;
 версии
(ревизии)
элементов
компонента
НСИ
передаваемые
на
публикацию в ЭБ ЕС НСИ должны передаваться (публиковаться,
размещаться в исходном для загрузки файле) в хронологическом порядке.
Данное требование предполагает, что версии (ревизии) элементов будут
упорядочены по дате начала действия версии (ревизии) элемента как первичному
признаку, и дате конца действия версии (ревизии) элемента как вторичному признаку в
рамках каждого элемента компонента НСИ
3.3 Требования к файлу данных компонента НСИ для разовой
8
(единовременной) загрузке данных в ЕСНСИ
3.3.1 Общие требования
Файл данных компонента НСИ для разовой (единовременной) загрузки в ЕСНСИ
должен быть представлен в формате XML документа, либо в формате представления
табличных данных CSV. Содержимое файла должно быть представлено в кодировке
UTF-8.
При предоставлении файла данных компонента НСИ необходимо предоставить
так же XSD схему документов XML предлагаемых к публикации в ЕСНСИ.
Записи элементов данных компонента НСИ предоставляемые в файле данных
компонента НСИ для разовой загрузки должны соответствовать XSD схеме по
атрибутному составу, представленному для каждой записи.
Для каждой записи элементов компонента НСИ необходимо указание даты начала
и конца действия. Данные даты будут изъяты из документов и в конечных XML
документах, публикуемых в ЕСНСИ содержаться не будут.
В случае историчности предоставляемых данных компонента НСИ, версии одного
и того же элемента должны располагаться в исходном файле в хронологическом порядке
(по возрастанию дат начала действия записей).
Предоставляемые данные компонента НСИ для разовой загрузки должны
соответствовать общим требованиям к данным, изложенным в данном документе
(методические рекомендации).
3.3.2 Требования к файлу в формате XML
Содержимое файла данных в формате XML должно быть разделено на записи
элементов компонента НСИ как отдельные элементы согласно терминологии XML.
Атрибуты элементов компонента НСИ могут представляться как атрибуты либо как
элементы, входящие в состав комплексных типов, согласно терминологии XML.
9
4 ТРЕБОВАНИЯ
СООБЩЕНИЙ
К
СТРУКТУРЕ
ЭЛЕКТРОННЫХ
4.1 Общие требования
Электронные
сообщения
в
системе
межведомственного
электронного
взаимодействия передаются в формате XML. Обмен сообщениями в СМЭВ должен
соответствовать методическим рекомендациям по разработке электронных сервисов и
применению технологии электронной подписи при межведомственном взаимодействии
(версии 2.4.4). Методические рекомендации размещены на технологическом портале
СМЭВ.
Согласно спецификации WS-I Basic Profile 1.1 все WSDL и XSD файлы должны
быть кодированы в кодировке UTF-8 или UTF-16 (с указанием этой кодировки в
заголовке XML) (Приказ Минкомсвязи N190 от 25.12.2010 года).
Для информационного обмена с единой системой НСИ кодировка сообщений
должна быть UTF-8.
Для именования пространства имен унифицированных элементов в сообщениях
НСИ, в документе применяется нотация xmlns:nsi.
Для того, чтобы можно было отличить одну версию формата от другой,
применяется следующее правило кодирования:
xmlns:nsi="http://nsi.gosuslugi.ru/revYYMMDD"
где YYMMDD указывает на дату принятия актуальной версии, соответственно:
 YY соответствует двум последним цифрам в номере года;
 MM – номер месяца;
 DD – номер числа в месяце.
Версии «рекомендаций» 1.0 соответствует пространство
xmlns:nsi=" http://nsi.gosuslugi.ru/rev111111"
Объекты, передаваемые посредством сервисов, соответствуют структуре СМЭВ и
содержат два блока:
 Унифицированный
служебный
блок
атрибутов
сообщения
СМЭВ
(smev:Message).
 2.5 Унифицированный служебный блок-обертка данных атрибутов сообщения
СМЭВ (smev:MessageData).
10
4.2 Унифицированный служебный блок-обертка данных атрибутов
сообщения СМЭВ (smev:MessageData)
Блок-обертка smev:MessageData состоит из двух блоков - smev:AppData и
smev:AppDocument. Для взаимодействия с единой системой НСИ используется блок
smev:AppData.
Подробнее о блоках сообщений СМЭВ можно прочитать в методических
рекомендациях по разработке электронных сервисов на технологическом портале СМЭВ
smev.gosuslugi.ru.
11
5 МЕТОДЫ ВЗАИМОДЕЙСТВИЯ
ОПЕРАТОРА КОМПОНЕНТА НСИ
С
ЕСНСИ
ДЛЯ
5.1 Общие сведения
Операции взаимодействия ЕСНСИ с Оператором компонента НСИ:
 Уведомление об обновлении компонента.
 Передача обновлений или реплики данных компонента НСИ.
Для публикации данных в ЭБ ЕСНСИ, Оператору компонента НСИ необходимо
уведомить ЕСНСИ посредством обращения к электронному сервису (параметр
componentChanged), предварительно обеспечив возможность получения данных по
сервису предоставления данных на стороне Оператора компонента НСИ.
5.2 Уведомление
об
(componentChanged)
изменении
данных
компонента
НСИ
Общие положения:
 Сервис, содержащий данный метод находится на стороне ЕСНСИ
 Метод
позволяет
уведомлять
ЭБ
ЕСНСИ
об
изменении
данных
компонентов НСИ.
 При передаче уведомлений данные изменений не передаются. Для
получения изменений необходимо обратиться к электронным сервисам ИС
Оператора компонента НСИ.
 После уведомления об обновлении компонента ЭБ обращается к сервису
оператора за получением данных.
 ЕСНСИ не обеспечивает запрос данных моментально сразу после
уведомления об обновлении компонента.
Параметры:
 Код компонента НСИ, текст (componentCode).
Условия обработки запроса:
 При получении данного уведомления в ЕСНСИ инициируется процесс
получения данных от Оператора компонента.
Пример запроса:
< ComponentChanged xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<componentCode>OKATO</componentCode>
</ ComponentChanged >
12
Пример ответа:
<response>
< status>SUCCESS</ status>
<response>
5.3 Предоставление обновлений и реплики (getLastUpdates) на стороне
Оператора компонента НСИ
Общие положения:
 Оператор
компонента
НСИ
должен
предоставлять
возможность
запрашивать и получать обновления данных по элементам конкретного
компонента НСИ.
 В ответ на запрос передается перечень ревизий элементов. Количество
элементов, отдаваемых за один раз, может быть ограничено настройками
ИС Оператора компонента НСИ.
 Формат передаваемых ревизий элементов, актуальных на определенную
дату
(период),
соответствует
структуре
компонента
из
ревизии
компонента, актуальной на ту же дату (период).
 Номер состояния системы (НСС, SSN) – отражает номер состояния
системы после изменения. Для каждого последующего изменения НСС
имеет значение большее, чем НСС предыдущего изменения.
 Изменения, передаваемые в ответе на запрос, должны передаваться по
порядку по номерам состояния системы.
 Под
изменениями,
влекущими
смену номера
состояния
системы,
понимаются:
− создание новой ревизии элемента (новый элемент, либо изменение
уже существовавшего);
− аннулирование
ревизии
элемента
(проставление
даты
конца
действия).
 Для каждого из передаваемых элементов необходимо указывать НСС,
соответствующий изменению такового элемента.
Параметры:
 Код компонента НСИ, текст (componentCode).
 Номер
состояния
системы,
обновления, число (lastSsn).
Условия обработки запроса:
13
после
которого
необходимо
получать
 При наличии изменений, после указанного в запросе НСС, в ответе
выдаются все ревизии элементов
 При указании SSN равного нулю, выдается полная реплика данных - все
ревизии элементов указанного компонента
Характеристики ответа:
 Оставшееся количество ревизий элементов после выданного перечня
(число) [remainder]. Если в данном элементе значение 0, то не имеется
более обновлений с заданными критериями, иначе обновления есть и
необходимо обращаться ещё для получения следующего пакета
 На каждую ревизию элемент указывается следующая информация:
− Дата начала действия ревизии элемента.
− Дата конца действия ревизии элемента.
− Дата создания ревизии элемента.
− НСС, соответствующий изменению элемента.
− Содержимое ревизии элемента в соответствии указанного варианта
предоставления данных.
Описание типов объектов:
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="getLastUpdates">
<xs:complexContent>
<xs:extension base="tns:request">
<xs:sequence>
<xs:element name="componentCode" type="xs:string"/>
<xs:element name="lastSsn" type="xs:long"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="lastUpdates">
<xs:sequence>
<xs:element minOccurs="0" name="lastSsn" type="xs:long"/>
<xs:element minOccurs="0" name="remainder" type="xs:long"/>
<xs:element maxOccurs="unbounded" minOccurs="0"
ref="tns:elementRevision"/>
</xs:sequence>
</xs:complexType>
14
<xs:complexType name="elementRevision">
<xs:complexContent>
<xs:extension base="tns:persistent">
<xs:sequence>
<xs:element minOccurs="1" name="code" type="xs:string"/>
<xs:element minOccurs="1" name="startDate" type="xs:date"/>
<xs:element minOccurs="0" name="endDate" type="xs:date"/>
<xs:element minOccurs="0" name="ssn" type="xs:long"/>
<xs:any namespace="##other" processContents="lax"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="persistent">
<xs:sequence>
<xs:element minOccurs="0" name="created" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
</definitions>
Пример запроса:
< getLastUpdates xmlns=”http://nsi.gosuslugi.ru/rev111111”>
< componentCode>TestComponent</ componentCode>
< lastSsn>0</ lastSsn>
</ getLastUpdates>
Пример ответа:
< response xmlns=”http://nsi.gosuslugi.ru/rev111111”>
< status>SUCCESS</ status>
< lastUpdates>
< lastSsn>9</ lastSsn>
< remainder>0</ remainder>
< elementRevision>
< created>2012-02-25T20:51:13.959+03:00</ created>
< code>111</ code>
< startDate>2012-01-01T00:00:00+03:00</ startDate>
< endDate>2012-01-01T00:00:00+03:00</ endDate>
< ssn>8</ ssn>
<q1:okato xmlns:q1="http://ensi.gosuslugi.ru/rev111111/okato">
<startDate:startDate
xmlns:startDate="http://ensi.gosuslugi.ru/rev111111">2012-0708T00:00:00.000+04:00</startDate:startDate>
15
<endDate:endDate
xmlns:endDate="http://ensi.gosuslugi.ru/rev111111">2999-1231T23:59:59.000+00:00</endDate:endDate>
<q1:okatoId>
<q1:code>01001000000</q1:code>
</q1:okatoId>
<q1:name>Название 2</q1:name>
<q1:part>1</q1:part>
<q1:extData>111</q1:extData>
<q1:description>Русские буквы 2</q1:description>
<q1:revNo>1</q1:revNo>
<q1:status>0</q1:status>
</q1:okato>
</ elementRevision>
< elementRevision>
< created>2012-02-25T20:51:14.065+03:00</ created>
< code>111</ code>
< startDate>2012-01-01T00:00:00+03:00</ startDate>
< ssn>9</ ssn>
<q1:okato xmlns:q1="http://ensi.gosuslugi.ru/rev111111/okato" >
<startDate:startDate
xmlns:startDate="http://ensi.gosuslugi.ru/rev111111">2012-0708T00:00:00.000+04:00</startDate:startDate>
<endDate:endDate
xmlns:endDate="http://ensi.gosuslugi.ru/rev111111">2999-1231T23:59:59.000+00:00</endDate:endDate>
<q1:okatoId>
<q1:code>01001000000</q1:code>
</q1:okatoId>
<q1:name>Название 2</q1:name>
<q1:part>1</q1:part>
<q1:extData>111</q1:extData>
<q1:description>Русские буквы 2</q1:description>
<q1:revNo>1</q1:revNo>
<q1:status>0</q1:status>
</q1:okato>
</ elementRevision>
</ lastUpdates>
</ response>
16
6 МЕТОДЫ ВЗАИМОДЕЙСТВИЯ
ПОТРЕБИТЕЛЕЙ
С
ЕСНСИ
ДЛЯ
6.1 Общие сведения
Операции, обеспечиваемые ЕСНСИ для Потребителей:
 Операции обеспечиваемые ЕСНСИ:
 Поиск и получение характеристик компонента.
 Поиск и получение характеристик ревизии определённого компонента:
− Поиск всех ревизий компонента НСИ.
− Поиск ревизии компонента НСИ, актуальной на указанную дату.
− Поиск последней активной ревизии компонента НСИ.
 Получение
заданной
(определённой)
ревизии
элемента
указанного
компонента по состоянию на заданную дату:
− Поиск всех ревизий элемента компонента НСИ.
− Поиск ревизии элемента компонента НСИ, актуальной на указанную
дату.
− Поиск последней активной ревизии элемента компонента НСИ.
 Получение обновлений или реплики данных компонента НСИ.
6.2 Поиск компонента (findComponent)
Общие положения:
 ЕСНСИ хранит Код каждого компонента НСИ. Код компонента НСИ не
может изменяться на всех этапах жизненного цикла компонента НСИ.
 Операция позволяет находить компоненты НСИ по коду.
Параметры:
 Код компонента НСИ, текст, необязательный (componentCode).
Условия обработки запроса:
 При указании кода компонента:
− В случае наличия совпадений по коду компонента (в том числе
частичного) в ЕСНСИ, Система вернёт найденный компонент и все
его ревизии;
− Если указанный компонент не найден ЭБ вернёт пустой ответ.
 При отсутствии кода компонента в запросе ЭБ вернёт список всех
компонентов зарегистрированных в Системе.
Примеры запроса:
17
<!-- поиск конкретного компонента -->
<findComponent xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<componentCode>OKATO</componentCode>
</findComponent>
<!-- поиск всех зарегистрированных компонентов -->
<findComponent xmlns=”http://ensi.gosuslugi.ru/rev111111”/>
Примеры ответа:
<!-- указанный компонент не найден или в системе нет ни одного
зарегистрированного компонента -->
<response xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<status>success</status>
</response>
<!-- указанный компонент найден -->
<response xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<status>success</status>
<component>
<code>OKATO</code>
<component>
</response>
<!-- найдено несколько компонентов -->
<ns2:response>
<ns2:status>SUCCESS</ns2:status>
<ns2:component>
<ns2:created>2012-02-21T19:52:16.735+04:00</ns2:created>
<ns2:code>ОКАТО</ns2:code>
<ns2:revisions/>
</ns2:component>
<ns2:component>
<ns2:created>2012-02-22T16:10:57.224+04:00</ns2:created>
<ns2:code>КЛАДР</ns2:code>
<ns2:revisions/>
</ns2:component>
</ns2:response>
<!-- произошёл сбой при обработке запроса -->
<response xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<status>failure</status>
<errorMessage>Описание ошибки</errorMessage>
18
</response>
6.3 Поиск и получение ревизии компонента (findComponentRevision)
Общие положения:
 Структура компонента НСИ определяется отдельно для каждой его
ревизии (версии).
 Операция позволяет находить и получать ревизии компонента НСИ.
Параметры:
 Код компонента НСИ, текст (componentCode).
 Дата актуальности ревизии, дата, необязательный (date).
Условия обработки запроса:
 В случае наличия искомого кода компонента в ЕСНСИ, Система вернёт
найденную ревизию компонента.
 В случае если компонент НСИ с указанным кодом не зарегистрирован в
Системе, будет передан пустой ответ (не содержащий ни одной ревизии
компонента).
 При указании даты, в ответ будет передана ревизия компонента,
актуальная на указанную дату (в случае наличия таковой ревизии).
Пример запроса:
<!-- поиск всех ревизий компонента -->
<findComponentRevision xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<componentCode>OKATO</componentCode>
</findComponentRevision>
<!-- поиск действующей ревизии компонента на указанную дату -->
<findComponentRevision xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<date>2012-01-01</date>
<componentCode>OKATO</componentCode>
</findComponentRevision>
Пример ответа:
<!-- ЭБ не нашёл ревизии на указанную дату, для компонента не
опубликовано ни одной ревизии или же не указанного компонента
не существует -->
<response xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<status>success</status>
</response>
19
<!-- ЭБ нашёл ревизии компонента -->
<response xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<status>success</status>
<componentRevision>
<name>Справочник ОКАТО</name>
<description>
Расширенное описание компонента</description>
<startDate>2012-01-01</startDate>
<endDate>2013-01-01</endDate>
<xsd><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
targetNamespace="http://ensi.gosuslugi.ru/okato"
xmlns:okato="http://ensi.gosuslugi.ru/okato"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Okato" type="okato:OkatoType"/>
<xs:complexType name="OkatoType">
<xs:sequence>
<xs:element type="xs:string" name="code"/>
<xs:element type="xs:string" name="name"/>
</xs:sequence>
</xs:complexType>
</xs:schema>]]>
</xsd>
</componentRevision>
</response>
6.4 Получение ревизии элемента компонента (findElementRevision)
Общие положения:
 ЭБ предоставляет содержимое найденной ревизии элемента в том виде, в
котором
оно
было
опубликовано,
иными
содержимого не производится ни в каком случае.
Параметры:
 Код компонента НСИ, текст (componentCode).
 Код элемента, строка (code).
 Дата актуальности, дата, необязательный (date).
Условия обработки запроса:
 При указании даты:
20
словами
модификация
− Если имеется ревизия элемента компонента НСИ активная на
указанную дату, будет выдана соответствующая ревизия элемента.
− Если указанная дата меньше даты начала действия ревизии
компонента будет выдано сообщение «Could not find actual
component
revision
corresponding
to
component
[Название
компонента] at [Дата]!»
 Если дата не указана, будет выдан пустой ответ.
Характеристики ответа:
 На каждую ревизию элемент указывается следующая информация:
− Дата начала действия ревизии элемента.
− Дата конца действия ревизии элемента.
− Дата создания ревизии элемента.
− НСС, соответствующий изменению элемента.
− Содержимое ревизии элемента.
Пример запроса:
<findElementRevision xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<!-- бизнес-идентификатор элемента -->
<code>15401000000</code>
<view>default</view>
<date>2012-02-01</date>
<componentCode>OKATO</componentCode>
</findElementRevision>
Пример ответа:
<response xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<status>success</status>
<elementRevision>
<code>15401000000</code>
<startDate>2012-02-01</startDate>
</elementRevision>
<!-- содержимое элемента справочника -->
<Okato xmlns="http://ensi.gosuslugi.ru/okato">
<code>15401000000</code>
<name>Москва</name>
</Okato>
</response>
<!-- элемент не существует или был аннулирован -->
21
<response xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<status>success</status>
</response>
6.5 Получение обновлений и реплики (getLastUpdates)
Общие положения:
 ЭБ предоставляет возможность запрашивать и получать обновления
данных по элементам конкретного компонента НСИ.
 В ответ на запрос передается перечень ревизий элементов. Количество
элементов, отдаваемых за один раз, ограничено настройками Системы.
Ограничение может быть индивидуально для каждого конкретного
компонента НСИ (ревизии компонента НСИ).
Параметры:
 Код компонента НСИ, текст (componentCode).
 Номер
состояния
системы,
после
которого
необходимо
получать
обновления, число (lastSsn).
Характеристики ответа:
 Оставшееся количество ревизий элементов после выданного перечня
(число) [remainder]. Если в данном элементе значение 0, то не имеется
более обновлений с заданными критериями, иначе обновления есть и
необходимо обращаться ещё для получения следующего пакета.
 На каждую ревизию элемент указывается следующая информация:
− Дата начала действия ревизии элемента.
− Дата конца действия ревизии элемента.
− Дата создания ревизии элемента.
− НСС, соответствующий изменению элемента.
− Код элемента.
− Содержимое ревизии элемента в соответствии указанного варианта
предоставления данных.
Описание типов объектов:
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="getLastUpdates">
22
<xs:complexContent>
<xs:extension base="tns:request">
<xs:sequence>
<xs:element name="componentCode" type="xs:string"/>
<xs:element name="lastSsn" type="xs:long"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="lastUpdates">
<xs:sequence>
<xs:element minOccurs="0" name="lastSsn" type="xs:long"/>
<xs:element minOccurs="0" name="remainder" type="xs:long"/>
<xs:element maxOccurs="unbounded" minOccurs="0"
ref="tns:elementRevision"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="elementRevision">
<xs:complexContent>
<xs:extension base="tns:persistent">
<xs:sequence>
<xs:element minOccurs="1" name="code" type="xs:string"/>
<xs:element minOccurs="1" name="startDate" type="xs:date"/>
<xs:element minOccurs="0" name="endDate" type="xs:date"/>
<xs:element minOccurs="0" name="ssn" type="xs:long"/>
<xs:any namespace="##other" processContents="lax"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="persistent">
<xs:sequence>
<xs:element minOccurs="0" name="created" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
</definitions>
Пример запроса:
< getLastUpdates xmlns=”http://nsi.gosuslugi.ru/rev111111”>
< componentCode>TestComponent</ componentCode>
< lastSsn>0</ lastSsn>
23
</ getLastUpdates>
Пример ответа:
< response xmlns=”http://nsi.gosuslugi.ru/rev111111”>
< status>SUCCESS</ status>
< lastUpdates>
< lastSsn>9</ lastSsn>
< remainder>0</ remainder>
< elementRevision>
< created>2012-02-25T20:51:13.959+03:00</ created>
< code>111</ code>
< startDate>2012-01-01T00:00:00+03:00</ startDate>
< endDate>2012-01-01T00:00:00+03:00</ endDate>
< ssn>8</ ssn>
<q1:okato xmlns:q1="http://ensi.gosuslugi.ru/rev111111/okato">
<startDate:startDate
xmlns:startDate="http://ensi.gosuslugi.ru/rev111111">2012-0708T00:00:00.000+04:00</startDate:startDate>
<endDate:endDate
xmlns:endDate="http://ensi.gosuslugi.ru/rev111111">2999-1231T23:59:59.000+00:00</endDate:endDate>
<q1:okatoId>
<q1:code>01001000000</q1:code>
</q1:okatoId>
<q1:name>Название 2</q1:name>
<q1:part>1</q1:part>
<q1:extData>111</q1:extData>
<q1:description>Русские буквы 2</q1:description>
<q1:revNo>1</q1:revNo>
<q1:status>0</q1:status>
</q1:okato>
</ elementRevision>
< elementRevision>
< created>2012-02-25T20:51:14.065+03:00</ created>
< code>111</ code>
< startDate>2012-01-01T00:00:00+03:00</ startDate>
< ssn>9</ ssn>
<q1:okato xmlns:q1="http://ensi.gosuslugi.ru/rev111111/okato" >
<startDate:startDate
xmlns:startDate="http://ensi.gosuslugi.ru/rev111111">2012-0708T00:00:00.000+04:00</startDate:startDate>
24
<endDate:endDate
xmlns:endDate="http://ensi.gosuslugi.ru/rev111111">2999-1231T23:59:59.000+00:00</endDate:endDate>
<q1:okatoId>
<q1:code>01001000000</q1:code>
</q1:okatoId>
<q1:name>Название 2</q1:name>
<q1:part>1</q1:part>
<q1:extData>111</q1:extData>
<q1:description>Русские буквы 2</q1:description>
<q1:revNo>1</q1:revNo>
<q1:status>0</q1:status>
</q1:okato>
</ elementRevision>
</ lastUpdates>
</ response>
6.6 Уведомление об обновлении описания либо данных компонента
НСИ (componentChanged)
Общие положения:
 Метод
позволяет
уведомлять
ЭБ
ЕСНСИ
об
изменении
данных
компонентов НСИ.
 При передаче уведомлений данные изменений не передаются. Для
получения изменений необходимо обратиться к электронным сервисам ИС
Оператора компонента НСИ.
 Запросы, содержащие уведомления о событиях передаются согласно
методическим рекомендациям СМЭВ версии 2.5.5.
Параметры:
 Код компонента НСИ, текст (componentCode).
 Тип обновления, текст [metadata или data] (type).
Пример запроса:
< componentChanged xmlns=”http://ensi.gosuslugi.ru/rev111111”>
<type>data</type>
<componentCode>OKATO</componentCode>
</ componentChanged>
25
6.7 Получение неверсионной реплики (getSnapshot)
Общие положения:
 ЭБ предоставляет возможность запрашивать и получать срез данных
конкретного компонента НСИ, действующий на текущий день.
 В ответ на запрос постранично передается перечень ревизий элементов.
Количество элементов, отдаваемых за один раз, ограничено настройками
Системы.
Параметры:
 Код компонента НСИ, текст (componentCode).
 Размер страницы (pageSize).
 Дата актуальности (actualDate).
Характеристики ответа:
 На каждую ревизию элемент указывается следующая информация:
− SSN соответствующий изменению.
− Код элемента.
− Дата начала действия ревизии элемента.
− Дата окончания действия ревизии элемента (не обязательное).
− Дата фактического создания записи.
− Содержимое ревизии элемента.
Пример запроса:
<rev1:getSnapshot>
<rev1:componentCode>КЛАДЭ.ОСН</rev1:componentCode>
<rev1:lastSsn>0</rev1:lastSsn>
<rev1:pageSize>100</rev1:pageSize>
<rev1:actualDate>2012-08-20</rev1:actualDate>
</rev1:getSnapshot>
Пример ответа:
<nsi:response>
<nsi:status>SUCCESS</nsi:status>
<nsi:elementRevision>
<nsi:created>2012-08-16T12:36:53.627+04:00</nsi:created>
<nsi:code>33z55z66</nsi:code>
<nsi:startDate>2012-07-30+04:00</nsi:startDate>
<nsi:ssn>46630388</nsi:ssn>
<ActualStatus
ACTSTATID="0123456789"
NAME="Ленина"
xmlns:inc="http://www.w3.org/2004/08/xop/include"
26
xmlns:rev="http://smev.gosuslugi.ru/rev111111"
xmlns:rev1="http://nsi.gosuslugi.ru/rev111111"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
</nsi:elementRevision>
<nsi:elementRevision>
<nsi:created>2012-08-16T12:37:20.226+04:00</nsi:created>
<nsi:code>66z55z66</nsi:code>
<nsi:startDate>2012-08-04+04:00</nsi:startDate>
<nsi:ssn>46630391</nsi:ssn>
<ActualStatus
ACTSTATID="9876543210"
NAME="Озерцово"
xmlns:inc="http://www.w3.org/2004/08/xop/include"
xmlns:rev="http://smev.gosuslugi.ru/rev111111"
xmlns:rev1="http://nsi.gosuslugi.ru/rev111111"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
</nsi:elementRevision>
</nsi:response>
6.8 Получение обновлений неверсионной реплики (getNewEvents)
Общие положения:
 ЭБ предоставляет возможность запрашивать и получать обновления
данных по элементам конкретного компонента НСИ.
 В ответ на запрос передается перечень ревизий элементов добавленных за
запрошенный период, что по факту соответствует событиям в системе на
рассматриваемый момент.
 В ответ передаются все события произошедшие с момента последнего
обращения
(параметр
входящего
запроса)
и
до
вчерашнего
дня
включительно. Изменения произошедшие после момента последнего
обращения
но
потерявшие
актуальность
к
прошедшему дню
включаются в ответ.
Параметры:
 Код компонента НСИ, текст (componentCode).
 Последняя дата обращения (fromDate).
 Последний SSN (lastSsn).
 Количество элементов на страницу, (pageSize).
Характеристики ответа:
 На каждую ревизию элемент указывается следующая информация:
− SSN соответствующий изменению.
27
не
− Код элемента.
− Дата начала действия ревизии элемента.
− Дата окончания действия ревизии элемента (не обязательное).
− Дата фактического создания записи.
− Содержимое ревизии элемента.
Пример запроса:
<rev1:getNewEvents>
<rev1:componentCode>КЛАДЭ.ОСН</rev1:componentCode>
<rev1:lastSsn>0</rev1:lastSsn>
<rev1:pageSize>10</rev1:pageSize>
<rev1:fromDate>2001-08-20</rev1:fromDate>
</rev1:getNewEvents>
Пример ответа:
<nsi:response>
<nsi:status>SUCCESS</nsi:status>
<nsi:elementRevision>
<nsi:created>2012-08-16T12:36:53.627+04:00</nsi:created>
<nsi:code>33z55z66</nsi:code>
<nsi:startDate>2012-07-30+04:00</nsi:startDate>
<nsi:ssn>46630388</nsi:ssn>
<ActualStatus
ACTSTATID="0123456789"
NAME="Ленина"
xmlns:inc="http://www.w3.org/2004/08/xop/include"
xmlns:rev="http://smev.gosuslugi.ru/rev111111"
xmlns:rev1="http://nsi.gosuslugi.ru/rev111111"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
</nsi:elementRevision>
<nsi:elementRevision>
<nsi:created>2012-08-16T12:37:20.226+04:00</nsi:created>
<nsi:code>66z55z66</nsi:code>
<nsi:startDate>2012-08-04+04:00</nsi:startDate>
<nsi:ssn>46630391</nsi:ssn>
<ActualStatus
ACTSTATID="9876543210"
xmlns:inc="http://www.w3.org/2004/08/xop/include"
xmlns:rev="http://smev.gosuslugi.ru/rev111111"
xmlns:rev1="http://nsi.gosuslugi.ru/rev111111"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
</nsi:elementRevision>
</nsi:response>
28
NAME="Озерцово"
6.9 Получение перечня аннулированных элементов неверсионных
данных (getExpiredElements)
Общие положения:
 ЭБ предоставляет возможность запрашивать и получать
перечень
аннулированных элементов конкретного компонента НСИ.
 В ответ на запрос передается перечень ревизий элементов с признаком
аннулирования, что по факту соответствует событиям в системе на
рассматриваемый момент.
 В ответ передаются все события аннулирования произошедшие с момента
последнего обращения (параметр входящего запроса) и до вчерашнего дня
включительно.
Параметры:
 Код компонента НСИ, текст (componentCode).
 Последняя дата обращения (fromDate).
 Последний SSN (lastSsn).
 Количество элементов на страницу, (pageSize).
Характеристики ответа:
 На каждую ревизию элемент указывается следующая информация:
− SSN соответствующий изменению.
− Код элемента.
− Дата начала действия ревизии элемента.
− Дата окончания действия ревизии элемента (не обязательное).
− Дата фактического создания записи.
− Содержимое ревизии элемента.
Пример запроса:
<rev1:getNewEvents>
<rev1:componentCode>КЛАДЭ.ОСН</rev1:componentCode>
<rev1:lastSsn>0</rev1:lastSsn>
<rev1:pageSize>10</rev1:pageSize>
<rev1:fromDate>2001-08-20</rev1:fromDate>
</rev1:getNewEvents>
Пример ответа:
<nsi:response>
<nsi:status>SUCCESS</nsi:status>
29
<nsi:elementRevision>
<nsi:created>2012-08-16T12:36:53.627+04:00</nsi:created>
<nsi:code>33z55z66</nsi:code>
<nsi:startDate>2012-07-30+04:00</nsi:startDate>
<nsi:ssn>46630388</nsi:ssn>
<ActualStatus
ACTSTATID="0123456789"
xmlns:inc="http://www.w3.org/2004/08/xop/include"
xmlns:rev="http://smev.gosuslugi.ru/rev111111"
xmlns:rev1="http://nsi.gosuslugi.ru/rev111111"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
</nsi:elementRevision>
<nsi:elementRevision>
NAME="Ленина"
<nsi:created>2012-08-16T12:37:20.226+04:00</nsi:created>
<nsi:code>66z55z66</nsi:code>
<nsi:startDate>2012-08-04+04:00</nsi:startDate>
<nsi:ssn>46630391</nsi:ssn>
<ActualStatus
ACTSTATID="9876543210"
NAME="Озерцово"
xmlns:inc="http://www.w3.org/2004/08/xop/include"
xmlns:rev="http://smev.gosuslugi.ru/rev111111"
xmlns:rev1="http://nsi.gosuslugi.ru/rev111111"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
</nsi:elementRevision>
</nsi:response>
30
Download