Приложение. Изменения, вносимые в требования к формату предоставления заключений о привлечении и об использовании иностранных работников в форме электронных документов, утвержденные приказом Министерства труда и социальной защиты Российской Федерации от 19 октября 2012 г. N 327

Приложение

к приказу Министерства труда

и социальной защиты

Российской Федерации

от 20 декабря 2012 г. N 612

ИЗМЕНЕНИЯ,

ВНОСИМЫЕ В ТРЕБОВАНИЯ К ФОРМАТУ ПРЕДОСТАВЛЕНИЯ

ЗАКЛЮЧЕНИЙ О ПРИВЛЕЧЕНИИ И ОБ ИСПОЛЬЗОВАНИИ ИНОСТРАННЫХ

РАБОТНИКОВ В ФОРМЕ ЭЛЕКТРОННЫХ ДОКУМЕНТОВ, УТВЕРЖДЕННЫЕ

ПРИКАЗОМ МИНИСТЕРСТВА ТРУДА И СОЦИАЛЬНОЙ ЗАЩИТЫ

РОССИЙСКОЙ ФЕДЕРАЦИИ ОТ 19 ОКТЯБРЯ 2012 Г. N 327

Изложить приложение в следующей редакции:

"Приложение

к требованиям к формату

предоставления заключений

о привлечении и об использовании

иностранных работников в форме

электронных документов, утвержденным

приказом Министерства труда

и социальной защиты

Российской Федерации

от 19 октября 2012 г. N 327

ОПИСАНИЕ

ФОРМАТА ИНФОРМАЦИОННОГО ВЗАИМОДЕЙСТВИЯ ПРИ ПОДГОТОВКЕ

ЗАКЛЮЧЕНИЯ О ПРИВЛЕЧЕНИИ И ОБ ИСПОЛЬЗОВАНИИ

ИНОСТРАННЫХ РАБОТНИКОВ

Изменения

┌──────────┬──────────────┬───────────┬───────────────────────────────────┐

│ Версия │ Дата │ Автор │ Изменения │

├──────────┼──────────────┼───────────┼───────────────────────────────────┤

│ 1.0 │ 27.01.2012 │ │Создан впервые │

├──────────┼──────────────┼───────────┼───────────────────────────────────┤

│ 2.0 │ 09.02.2012 │ │Устранение замечаний │

├──────────┼──────────────┼───────────┼───────────────────────────────────┤

│ 3.0 │ 04.04.2012 │ │Сервис изменен в соответствии с │

│ │ │ │методическими рекомендациями 2.4.4 │

├──────────┼──────────────┼───────────┼───────────────────────────────────┤

│ 4.0 │ 24.10.2012 │ │Внесены изменения в схему │

├──────────┼──────────────┼───────────┼───────────────────────────────────┤

│ 5.0 │ 24.10.2012 │ │Внесены изменения в схему │

├──────────┼──────────────┼───────────┼───────────────────────────────────┤

│ │ │ │ │

├──────────┼──────────────┼───────────┼───────────────────────────────────┤

│ │ │ │ │

├──────────┼──────────────┼───────────┼───────────────────────────────────┤

│ │ │ │ │

└──────────┴──────────────┴───────────┴───────────────────────────────────┘

Термины/сокращения

┌───────────────────┬─────────────────────────────────────────────────────┐

│ Термин/сокращение │ Описание │

├───────────────────┼─────────────────────────────────────────────────────┤

│СМЭВ │Система межведомственного электронного │

│ │взаимодействия │

├───────────────────┼─────────────────────────────────────────────────────┤

│Поставщик │Организация - владелец электронного сервиса │

├───────────────────┼─────────────────────────────────────────────────────┤

│ИС │Информационная система поставщика информации │

├───────────────────┼─────────────────────────────────────────────────────┤

│WSDL │Web Services Description Language - язык описания │

│ │веб-сервисов │

├───────────────────┼─────────────────────────────────────────────────────┤

│XSD │XML Schema definition - язык описания структуры XML │

│ │документа │

├───────────────────┼─────────────────────────────────────────────────────┤

│SOAP │Simple Object Access Protocol - протокол обмена │

│ │структурированными сообщениями в распределенной │

│ │вычислительной среде │

├───────────────────┼─────────────────────────────────────────────────────┤

│XML │eXtensible Markup Language - расширяемый язык │

│ │разметки │

├───────────────────┼─────────────────────────────────────────────────────┤

│Методические │Методические рекомендации по разработке электронных │

│рекомендации │сервисов и применению технологии электронной подписи │

│ │при межведомственном электронном взаимодействии, │

│ │версия 2.4.5 │

└───────────────────┴─────────────────────────────────────────────────────┘

1. Общие сведения

1.1. Руководящие документы

Основанием для разработки данного документа является требование п. 48 приказа Министерства связи и массовых коммуникаций Российской Федерации от 27 декабря 2010 г. N 190 "Об утверждении технических требований к взаимодействию информационных систем в единой системе межведомственного электронного взаимодействия", в соответствии с которым для подключения информационной системы к системе межведомственного электронного взаимодействия Поставщик предоставляет Оператору СМЭВ следующие документы:

паспорт электронного сервиса, регистрируемого в системе взаимодействия;

методику испытаний электронного сервиса, регистрируемого в системе взаимодействия, включая контрольный пример обращения к электронному сервису;

руководство пользователя электронного сервиса, регистрируемого в системе взаимодействия.

Основанием для создания и использования электронного сервиса являются следующие документы:

а) нормативные правовые документы:

постановление Правительства Российской Федерации от 8 сентября 2010 г. N 697 "О единой системе межведомственного электронного взаимодействия";

приказ Министерства связи и массовых коммуникаций Российской Федерации от 27 декабря 2010 г. N 190 "Об утверждении технических требований к взаимодействию информационных систем в единой системе межведомственного электронного взаимодействия";

б) технологические стандарты:

методические рекомендации по разработке электронных сервисов и применению технологии электронной подписи при межведомственном электронном взаимодействии, версия 2.4.5, одобренные Правительственной комиссией по внедрению информационных технологий в деятельность государственных органов и органов местного самоуправления (протокол заседания от 22 ноября 2012 г. N 10) (далее - Методические рекомендации).

1.2. Описание электронного сервиса

┌───────────────┬─────────────────────────────────────────────────────────┐

│Наименование: │Веб-сервис обработки запросов на предоставление сведений│

│ │о заключениях о привлечении и об использовании│

│ │иностранных работников │

├───────────────┼─────────────────────────────────────────────────────────┤

│Назначение: │Веб-сервис предназначен для приема запросов через СМЭВ,│

│ │возвращения статусов обработки запросов и результата│

│ │обработки запросов сведений о заключениях о привлечении│

│ │и об использовании иностранных работников │

├───────────────┼─────────────────────────────────────────────────────────┤

│Поставщик │Органы государственной власти субъекта Российской│

│данных: │Федерации в области содействия занятости населения │

├───────────────┼─────────────────────────────────────────────────────────┤

│Потребитель │Федеральная миграционная служба или ее территориальные│

│данных: │органы │

├───────────────┼─────────────────────────────────────────────────────────┤

│Область │Межведомственное взаимодействие │

│применения: │ │

└───────────────┴─────────────────────────────────────────────────────────┘

1.3. Операции (методы) электронного сервиса

┌────────────────────────────────────────┬────────────────────────────────┐

│ Метод │ Назначение │

├────────────────────────────────────────┼────────────────────────────────┤

│Код: processCanonicalService │Метод предназначен как для│

│Наименование: Запрос на регистрацию │регистрации запроса, так и для│

│задачи и получение результата │получения результата у│

│ │Поставщика данных │

└────────────────────────────────────────┴────────────────────────────────┘

1.4. Сценарии использования

Данный сценарий описывает ситуацию, когда Потребитель данных вызывает Поставщика данных с целью получения сведений о заключениях о привлечении и об использовании иностранных работников.

Запрос направляется на адрес маршрутизатора ФСМЭВ с указанием кода ОКТМО, посредством которого осуществляется динамическая маршрутизация вызова в целевой региональный орган исполнительной власти или муниципальное образование.

Сценарий предполагает асинхронный режим работы. Первый вызов осуществляет Потребитель данных. Последующие вызовы через определенные промежутки времени опрашивают Поставщика данных на предмет готовности ответных данных. В случае успешного получения данных работы по запросу прекращаются.

В случае каких-либо ошибок при обработке запроса ответ от ИС Поставщика данных будет содержать соответствующий код ошибки в поле errorCode, а также исчерпывающую текстовую информацию по ошибке в поле errorDescription.

1.5. Схема взаимодействия

Взаимодействие с СМЭВ осуществляется через интерфейсы web-сервисов подсистемы путем приема soap-запросов и выполнения запрашиваемой процедуры.

Потребитель данных должен вызвать метод processCanonicalService сервиса Поставщика данных, при этом поле BinaryData блока MessageData\AppDocument заполняется закодированной по Base64 строкой. Закодированная информация представляет собой zip-архив с XML-документом запроса в кодировке UTF-8, подготовленного по XSD-схемам запроса, приложенным в Приложении 2.

В унифицированном блоке СМЭВ в поле smev:Recipient/smev:Code Потребитель (федеральный) указывает мнемонику ИС маршрутизатора ФСМЭВ (ISMV01001), т.к. получателем сообщения является сервис-маршрутизатор, располагающийся на федеральном узле СМЭВ. В поле smev:Recipient/smev:Name Потребитель данных указывает значение "Маршрутизатор типовых сведений единой системы межведомственного электронного взаимодействия".

В блоке Message заполняется поле ОКТМО кодом целевого муниципального образования.

В ответ Поставщик данных, успешно зарегистрировав запрос, вернет уникальный номер заявки в блоке MessageData\AppData, в поле taskId.

После этого Потребитель данных должен периодически опрашивать Поставщика данных на предмет готовности сведений о заключениях о привлечении и об использовании иностранных работников (далее - Результат), заполняя унифицированное поле smev:Status значением "PING", и ранее полученным номером запроса в блоке MessageData\AppData, в поле taskId. Далее возможны два варианта:

в случае если Результат еще не сформирован, в ответе вернется блок smev:Status со значением "PROCESS", при этом блок MessageData\AppDocument\BinaryData заполнен не будет;

в случае готовности Результата в ответе вернет блок smev:Status со значением "RESULT", а в блоке MessageData\AppDocument поле BinaryData будет заполнено закодированной по Base64 строкой. Закодированная информация представляет собой zip-архив с XML-документом ответа в кодировке UTF-8, подготовленный по XSD-схемам ответа, приложенным в подразделе 4.2 "Приложение 2: Описание общих структур данных".

В случае каких-либо ошибок при обработке запроса ответ должен содержать соответствующий код ошибки в поле errorCode, а также исчерпывающую текстовую информацию по ошибке в поле errorDescription.

1.6. Связи с другими электронными сервисами

Данный сервис не имеет связей с другими сервисами.

2. Руководство пользователя

2.1. Операция "processCanonicalService"

2.1.1. Общие сведения

┌─────────────┬───────────────────────────────────────────────────────────┐

│ Метод:│processCanonicalService │

├─────────────┼───────────────────────────────────────────────────────────┤

│Наименование:│Получение сведений из заключения о привлечении и об │

│ │использовании иностранных работников │

├─────────────┼───────────────────────────────────────────────────────────┤

│ Назначение:│Метод предназначен как для регистрации запроса, так и для │

│ │получения результата у Поставщика данных - органы │

│ │государственной власти субъекта Российской Федерации в │

│ │области содействия занятости населения │

└─────────────┴───────────────────────────────────────────────────────────┘

Здесь и далее пространства имен расшифровываются следующим образом:

smev - http://smev.gosuslugi.ru/rev111111

impl - http://impl.canonicalRequests.gov.ru

2.1.2. Описание входных параметров

Инициирующий запрос

Следует отметить, что ключевой сущностью является отдельный документ запроса, сформированный в соответствии с XSD-схемой запроса соответствующей услуги и переданный в разделе AppDocument.

При формировании инициирующего запроса необходимо указывать следующую информацию:

┌──┬──────────────────┬──────────────────┬───────────┬────────────────────┐

│N │ Код параметра │ Описание │Обязательно│ Способ │

│ │ │ параметра │ │ заполнения/Тип │

├──┼──────────────────┼──────────────────┼───────────┼────────────────────┤

│1 │smev:AppDocument │Блок вложения │+ │smev:AppDocumentType│

│ │ │СМЭВ - │ │ │

│ │ │заполняется в │ │ │

│ │ │соответствии с │ │ │

│ │ │подразделом │ │ │

│ │ │2.1.4 │ │ │

│ │ │"Формирование │ │ │

│ │ │вложения" │ │ │

└──┴──────────────────┴──────────────────┴───────────┴────────────────────┘

Периодический запрос результата

При формировании периодического запроса результата необходимо указывать следующую информацию:

┌──┬──────────────────┬──────────────────┬───────────┬────────────────────┐

│N │ Код параметра │ Описание │Обязательно│ Способ │

│ │ │ параметра │ │ заполнения/Тип │

├──┼──────────────────┼──────────────────┼───────────┼────────────────────┤

│1 │impl:taskId │Идентификатор │+ │xs:string │

│ │ │запроса в ИС│ │ │

│ │ │РОИВ, полученный │ │ │

│ │ │в ответе на │ │ │

│ │ │инициирующий │ │ │

│ │ │запрос │ │ │

└──┴──────────────────┴──────────────────┴───────────┴────────────────────┘

2.1.3. Описание выходных параметров

Ответ на инициирующий запрос

Ответ на инициирующий запрос содержит следующую информацию:

┌──┬─────────────────────┬────────────────────┬───────────┬───────────────┐

│N │ Код параметра │ Описание параметра │Обязательно│ Способ │

│ │ │ │ │заполнения/Тип │

├──┼─────────────────────┼────────────────────┼───────────┼───────────────┤

│1 │impl:taskId │Идентификатор вновь │+ │xs:string │

│ │ │зарегистрированного │ │ │

│ │ │запроса в │ │ │

│ │ │Поставщике данных │ │ │

├──┼─────────────────────┼────────────────────┼───────────┼───────────────┤

│2 │impl:errorCode │Код ответа - │+ │xs:int │

│ │ │отличие его от 0 │ │ │

│ │ │говорит о │ │ │

│ │ │произошедшей в ИС │ │ │

│ │ │Поставщика данных │ │ │

│ │ │ошибке при │ │ │

│ │ │инициации запроса │ │ │

├──┼─────────────────────┼────────────────────┼───────────┼───────────────┤

│3 │impl:errorDescription│В случае │- │xs:string │

│ │ │возникновения │ │ │

│ │ │ошибки - ее │ │ │

│ │ │описание │ │ │

└──┴─────────────────────┴────────────────────┴───────────┴───────────────┘

Ответ на периодический запрос результата

Конечным ответом является отдельный документ, сформированный в соответствии с XSD-схемой ответа соответствующей услуги и переданный в разделе AppDocument.

┌──┬─────────────────────┬───────────────┬───────────┬────────────────────┐

│N │ Код параметра │ Описание │Обязательно│ Способ │

│ │ │ параметра │ │ заполнения/Тип │

├──┼─────────────────────┼───────────────┼───────────┼────────────────────┤

│1 │smev:AppDocument │В случае│- │smev:AppDocumentType│

│ │ │готовности │ │ │

│ │ │результата │ │ │

│ │ │(получено │ │ │

│ │ │значение │ │ │

│ │ │smev:Status │ │ │

│ │ │"RESULT") -│ │ │

│ │ │блок будет│ │ │

│ │ │заполнен │ │ │

│ │ │вложением с│ │ │

│ │ │результатом │ │ │

│ │ │обработки │ │ │

│ │ │запроса в│ │ │

│ │ │соответствии с│ │ │

│ │ │правилами, │ │ │

│ │ │описанными в│ │ │

│ │ │подразделе │ │ │

│ │ │2.1.4 │ │ │

│ │ │"Формирование │ │ │

│ │ │вложения". В│ │ │

│ │ │случае если│ │ │

│ │ │результат еще│ │ │

│ │ │не готов -│ │ │

│ │ │блок заполнен│ │ │

│ │ │не будет │ │ │

├──┼─────────────────────┼───────────────┼───────────┼────────────────────┤

│2 │impl:errorCode │Код ответа -│+ │xs:int │

│ │ │отличие его от│ │ │

│ │ │0 говорит о│ │ │

│ │ │произошедшей в│ │ │

│ │ │ИС Поставщика│ │ │

│ │ │данных ошибке │ │ │

├──┼─────────────────────┼───────────────┼───────────┼────────────────────┤

│3 │impl:errorDescription│В случае│- │xs:string │

│ │ │возникновения │ │ │

│ │ │ошибки - ее│ │ │

│ │ │описание │ │ │

└──┴─────────────────────┴───────────────┴───────────┴────────────────────┘

2.1.4. Формирование вложения

Порядок формирования вложения следующий:

генерация GUID по маске xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, где x описывается регулярным выражением [a-z0-9];

формирование обращения в формате XML с именем req_GUID.xml. XSD-схема вложений запроса и ответа предлагается в подразделе 4.2 "Приложение 2: Описание общих структур данных";

подпись XML-запроса по стандарту PKCS#7 и получение файла подписи req_GUID.xml.sig;

XML-заявление, его подпись, а также все вложения и их подписи архивируются в zip-файл с наименованием req_GUID.zip;

код заявления req_GUID проставляется в элемент smev:RequestCode;

архив req_GUID.zip кодируется в Base64 и полученный код становится содержимым элемента smev:BinaryData в электронном сообщении СМЭВ.

Более подробная информация по формированию вложения содержится в Методических рекомендациях.

2.1.5. Коды возвратов

Приведены в подразделе 4.5 "Приложение 5: Коды возвратов".

2.1.6. Контрольные примеры

Приведены в подразделе 4.4 "Приложение 4: Контрольные примеры".

3. Методика испытаний

3.1. Общие условия

Проведение контрольных испытаний при регистрации электронного сервиса регламентировано приказом Министерства связи и массовых коммуникаций Российской Федерации от 27 декабря 2010 г. N 190 "Об утверждении технических требований к взаимодействию информационных систем в единой системе межведомственного электронного взаимодействия".

Порядок проведения типовых испытаний предполагает следующие этапы:

проверка комплектности предоставленной документации;

проверка сетевой связности между узлом СМЭВ и точкой размещения электронного сервиса;

регистрация сервиса и тестирование сервиса на контрольном примере.

3.2. Параметры испытаний на тестовой среде

Проведение испытаний на тестовой среде перед регистрацией электронного сервиса в продуктивной среде СМЭВ является необходимым действием, обеспечивающим повышение качества и эффективности процесса и позволяющим выявлять ошибки и несоответствия разработанного сервиса заранее, а не в продуктивном контуре.

Адрес тестового экземпляра: ________________________

Режим функционирования тестовой среды: _____________. Особых условий доступности не определено.

Для того чтоб протестировать сервис, необходимо протестировать все операции на основании контрольных примеров.

3.3. Особые условия

Особые условия и правила проведения контрольных испытаний не предусмотрены.

4. Приложения

4.1. Приложение 1: Описание сервиса (WSDL и XSD)

Ниже приведено WSDL-описание электронного сервиса

<?xml version="1.0" encoding="UTF-8"?>

<definitions name="canonicalRequests"

xmlns="http://schemas.xmlsoap.org/wsdl/"

xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns:smev="http://smev.gosuslugi.ru/rev111111"

xmlns:tns="http://canonicalRequests.gov.ru"

targetNamespace="http://canonicalRequests.gov.ru">

<types>

<xs:schema targetNamespace="http://canonicalRequests.gov.ru">

<xs:import namespace="http://smev.gosuslugi.ru/rev111111"

schemaLocation="smevMessageData.xsd" />

<xs:element name="processCanonicalService"

type="smev:processCanonicalServiceMessage"/>

<xs:element name="processCanonicalServiceResponse"

type="smev:processCanonicalServiceResponseMessage"/>

</xs:schema>

</types>

<message name="processCanonicalService">

<part name="parameters" element="tns:processCanonicalService"/>

</message>

<message name="processCanonicalServiceResponse">

<part name="result" element="tns:processCanonicalServiceResponse"/>

</message>

<portType name="canonicalRequestsService">

<operation name="processCanonicalService">

<input message="tns:processCanonicalService"/>

<output message="tns:processCanonicalServiceResponse"/>

</operation>

</portType>

<binding name="canonicalRequestsBinding" type="tns:canonicalRequestsService">

<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>

<operation name="processCanonicalService">

<soap:operation soapAction=""/>

<input>

<soap:body use="literal"/>

</input>

<output>

<soap:body use="literal"/>

</output>

</operation>

</binding>

<service name="canonicalRequests">

<port name="canonicalRequestsPort" binding="tns:canonicalRequestsBinding">

<soap:address location="${service.endpoint.url.here}"/>

</port>

</service>

</definitions>

4.1.1. Ссылки

Приведенный WSDL содержит ссылку (import) на файл форматов данных

smevMessageData.xsd

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:xop="http://www.w3.org/2004/08/xop/include"

xmlns:impl="http://impl.canonicalRequests.gov.ru"

xmlns:smev="http://smev.gosuslugi.ru/rev111111"

targetNamespace="http://smev.gosuslugi.ru/rev111111"

elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">

<xs:import namespace="http://www.w3.org/2004/08/xop/include"

schemaLocation="xopInclude.xsd"/>

<xs:import namespace="http://impl.canonicalRequests.gov.ru"

schemaLocation="customMessageTypes.xsd"/>

<xs:element name="Header" type="smev:HeaderType">

<xs:annotation>

<!--<xs:documentation>Служебный заголовок СМЭВ</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="BaseMessage" type="smev:BaseMessageType">

<xs:annotation>

<!--<xs:documentation>Базовый тип, описывающий сообщение в целом</xs:documentation>-

->

</хs:annotation>

</xs:element>

<xs:element name="Message" type="smev:MessageType">

<xs:annotation>

<!--<xs:documentation>Служебный блок атрибутов СМЭВ</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="MessageData" type="smev:MessageDataType">

<xs:annotation>

<!--<xs:documentation>Блок-обертка данных СМЭВ</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="AppData" type="smev:AppDataType">

<xs:annotation>

<!--<xs:documentation>Блок структурированных сведений</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="AppDocument" type="smev:AppDocumentType">

<xs:annotation>

<!--<xs:documentation>Блок вложений</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="Sender" type="smev:orgExternalType">

<xs:annotation>

<!--

<xs:documentation>Данные о системе-инициаторе взаимодействия

(Потребителе) (валидируется СМЭВ на соответствие сертификату)

</xs:documentation>

-->

</xs:annotation>

</xs:element>

<xs:element name="Recipient" type="smev:orgExternalType">

<xs:annotation>

<!--

<xs:documentation>Данные о системе-получателе сообщения (Поставщике)

(валидируется СМЭВ реестру поставщиков)

</xs:documentation>

-->

</xs:annotation>

</xs:element>

<xs:element name="Originator" type="smev:orgExternalType">

<xs:annotation>

<!--

<xs:documentation>Данные о системе, инициировавшей цепочку из

нескольких запросов-ответов, объединенных единым процессом в рамках взаимодействия

</xs:documentation>

-->

</xs:annotation>

</xs:element>

<xs:element name="TypeCode" type="smev:TypeCodeType">

<xs:annotation>

<!--<xs:documentation>Тип сообщения</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="Date" type="xs:dateTime">

<xs:annotation>

<!--<xs:documentation>Дата создания запроса</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="RequestIdRef" type="smev:idType">

<xs:annotation>

<!--<xs:documentation>Идентификатор сообщения-запроса, инициировавшего

взаимодействие</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="OriginRequestIdRef" type="smev:idType">

<xs:annotation>

<!--

<xs:documentation>Идентификатор сообщения-запроса, инициировавшего

цепочку из нескольких запросов-ответов, объединенных единым процессом в рамках взаимодействия

</xs:documentation>

-->

</xs:annotation>

</xs:element>

<xs:element name="ServiceCode" type="xs:string">

<xs:annotation>

<!--<xs:documentation>Код услуги</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="CaseNumber" type="xs:string">

<xs:annotation>

<!--<xs:documentation>Номер заявки в информационной системе-

отправителе</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="ОКТМО" type="xs:string">

<xs:annotation>

<!--<xs:documentation>Код ОКТМО</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="MessageId" type="smev:idType">

<xs:annotation>

<!--<xs:documentation>Идентификатор сообщения</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="TimeStamp" type="xs:dateTime">

<xs:annotation>

<!--<xs:documentation>Метка времени получения запроса СМЭВом</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="NodeId" type="xs:string">

<xs:annotation>

<!--<xs:documentation>Уникальный идентификатор узла</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="MessageClass" type="smev:MessageClassType">

<xs:annotation>

<!--<xs:documentation>Идентификатор класса сообщения</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="Status" type="smev:StatusType">

<xs:annotation>

<!--<xs:documentation>Статус сообщения</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="ExchangeType" type="xs:string">

<xs:annotation>

<!--<xs:documentation>Категория взаимодействия</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="BinaryData" type="xs:base64Binary">

<xs:annotation>

<!--<xs:documentation>Контент вложения</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="Reference"type="smev:ReferenceType">

<xs:annotation>

<!--<xs:documentation>Ссылка на вложение</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="DigestValue" type="xs:base64Binary">

<xs:annotation>

<!--<xs:documentation>Хеш-код вложения</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="TestMsg" type="xs:string">

<xs:annotation>

<!--<xs:documentation>Идентификатор тестового запроса</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="ОКТМО" type="xs:string">

<xs:annotation>

<!--<xs:documentation>ОКТМО</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="RequestCode" type="xs:string">

<xs:annotation>

<!--<xs:documentation>Код заявления</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:complexType name="HeaderType">

<xs:sequence>

<xs:element ref="smev:NodeId" minOccurs="0"/>

<xs:element ref="smev:MessageId"/>

<xs:element ref="smev:TimeStamp"/>

<xs:element ref="smev:MessageClass" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="BaseMessageType">

<xs:sequence>

<xs:element ref="smev:Message"/>

<xs:element ref="smev:MessageData"/>

</xs:sequence>

</хs:complexType>

<xs:complexType name="MessageType">

<xs:sequence>

<xs:element ref="smev:Sender"/>

<xs:element ref="smev:Recipient"/>

<xs:element ref="smev:Originator" minOccurs="0"/>

<xs:element ref="smev:TypeCode"/>

<xs:element ref="smev:Status"/>

<xs:element ref="smev:Date"/>

<xs:element ref="smev:ExchangeType"/>

<xs:element ref="smev:RequestIdRef" minOccurs="0"/>

<xs:element ref="smev:OriginRequestIdRef" minOccurs="0"/>

<xs:element ref="smev:ServiceCode" minOccurs="0"/>

<xs:element ref="smev:CaseNumber" minOccurs="0"/>

<xs:element ref="smev:TestMsg" minOccurs="0"/>

<xs:element ref="smev:ОКТМО" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="MessageDataType">

<xs:sequence>

<xs:element ref="smev:AppData" minOccurs="0"/>

<xs:element ref="smev:AppDocument" minOccurs="0"/>

</xs:sequence"

</xs:complexType>

<xs:complexType name="AppDataType">

<xs:sequence"

<xs:any namespace="##any" processContents="lax" minOccurs="0"

maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType"

<xs:complexType name="AppDocumentType">

<xs:sequence"

<xs:element ref"smev:RequestCode"/>

<xs:choice>

<xs:element ref="smev:BinaryData"/>

<xs:sequence>

<xs:element ref="smev:Reference"/>

<xs:element ref="smev:DigestValue"/>

</xs:sequence>

</xs:choice>

</xs:sequence>

</xs:complexType>

<xs:complexType name="ReferenceType" mixed="true">

<xs:sequence>

<xs:element ref="xop:Include" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="orgExternalType">

<xs:annotation>

<!--<xs:documentation>Сведения об информационной системе</xs:documentation>-->

</xs:annotation>

<xs:sequence>

<xs:element name="Code" type="xs:string">

<xs:annotation"

<!--<xs:documentation>Идентификатор системы</xs:documentation>-->

</xs:annotation>

</xs:element>

<xs:element name="Name" type="xs:string">

<xs:annotation"

<!--<xs:documentation>Наименование системы</xs:documentation>-->

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

<xs:simpleType name="TypeCodeType">

<xs:restriction base="xs:string">

<xs:enumeration value="GSRV">

<xs:annotation>

<!--<xs:documentation>Взаимодействие в рамках оказания государственных

услуг</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="GFNC">

<xs:annotation>

<!--<xs:documentation>Взаимодействие в рамках исполнения</xs:documentation>-

->

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="MessageClassType">

<xs:restriction base="xs:string">

<xs:enumeration value="REQUEST">

<xs:annotation>

<!--<xs:documentation>Запрос от потребителя к поставщику</xs:documentation>-

->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="RESPONSE">

<xs:annotation>

<!--<xs:documentation>Ответ поставщика потребителю</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="StatusType">

<xs:restriction base="xs:string">

<xs:enumeration value="REQUEST">

<xs:annotation>

<!--<xs:documentation>Запрос</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="RESULT">

<xs:annotation>

<!--<xs:documentation>Результат</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="REJECT">

<xs:annotation>

<!--<xs:documentation>Мотивированный отказ</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="INVALID">

<xs:annotation>

<!--<xs:documentation>Ошибка при ФЛК</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ACCEPT">

<xs:annotation>

<!--<xs:documentation>Сообщение-квиток о приеме</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="PING">

<xs:annotation>

<!--<xs:documentation>Запрос данных/результатов</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="PROCESS">

<xs:annotation>

<!--<xs:documentation>В обработке</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="NOTIFY">

<xs:annotation>

<!--<xs:documentation>Уведомление об ошибке</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="FAILURE">

<xs:annotation>

<!--<xs:documentation>Технический сбой</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="CANCEL">

<xs:annotation>

<!--<xs: documentation>Отзыв заявления</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="STATE">

<xs:annotation>

<!--<xs:documentation>Возврат состояния</xs:documentation>-->

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="idType">

<xs:restriction base="xs:string"/>

</xs:simpleType>

<!-- processCanonicalService request/response wrappers -->

<xs:complexType name="processCanonicalServiceMessage">

<xs:sequence>

<xs:element ref="smev:Message" />

<xs:element name="MessageData" type="smev:processCanonicalServiceMessageData" />

</xs:sequence>

</xs:complexType>

<xs:complexTypename="processCanonicalServiceMessageData">

<xs:sequence>

<xs:element name="AppData" type="impl:processCanonicalServiceMessageType"

minOccurs="0"/>

<xs:element name="AppDocument" type="smev:AppDocumentType" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="processCanonicalServiceResponseMessage">

<xs:sequence>

<xs:element ref="smev:Message"/>

<xs:element name="MessageData"

type="smev:processCanonicalServiceResponseMessageData"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="processCanonicalServiceResponseMessageData">

<xs:sequence>

<xs:element name="AppData" type="impl:processCanonicalServiceMessageType"

minOccurs="0"/>

<xs:element name="AppDocument" type="smev:AppDocumentType" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

4.1.2. Ссылки

Приведенный XSD содержит ссылку (import) на следующие файлы форматов данных:

xopInclude.xsd

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'

xmlns:tns='http://www.w3.org/2004/08/хор/include'

targetNamespace='http://www.w3.org/2004/08/xop/include'>

<xs:element name='Include' type='tns:Include' />

<xs:complexType name='Include' >

<xs:sequence>

<xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded' />

</xs:sequence>

<xs:attribute name='href' type='xs:anyURI' use='required' />

<xs:anyAttribute namespace='##other' />

</xs:complexType>

</xs:schema"

customMessageTypes.xsd

<?xml version="1.0" encoding""UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"

xmlns:impl="http://impl.canonicalRequests.gov.ru"

targetNamespace="http://impl.canonicalRequests.gov.ru"

elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-

schema.xsd"/>

<xs:complexType name="baseMessageType" abstract="true">

<xs:sequence>

<xs:element ref="ds:Signature" minOccurs="0" />

<xs:element name="taskId" type="xs:string" minOccurs="0" />

</xs:sequence>

<xs:attribute name="Id" type="xs:string"/>

</xs:complexType>

<xs:complexType name="processCanonicalServiceMessageType">

<xs:complexContent>

<xs:extension base="impl:baseMessageType" />

</xs:complexContent>

</xs:complexType>

<xs:complexType name="processCanonicalServiceResponseMessageType">

<xs:complexContent>

<xs:extension base="impl:baseMessageType">

<xs:sequence>

<xs:element name="errorCode" type="xs:int" />

<xs:element name="errorDescription" type="xs:string" minOccurs="0" />

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

</xs:schema>

xmldsig-core-schema.xsd

Приведенный XSD содержит ссылку (import) на стандартизованный файл форматов данных ЭП xmldsig-core-schema.xsd

<?xml version="1.0" encoding="UTF-8"?>

<!-- Schema for XML Signatures

http://www.w3.org/2000/09/xmldsig#

$Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $

Copyright 2001 The Internet Society and W3C (Massachusetts Institute

of Technology, Institut National de Recherche en Informatique et en

Automatique, Keio University). All Rights Reserved.

http://www.w3.org/Consortium/Legal/

This document is governed by the W3C Software License [1] as

described in the FAQ [2].

[1] http://www.w3.org/Consortium/Legal/copyright-software-19980720

[2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD

-->

<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"

targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1"

elementFormDefault="qualified">

<!-- Basic Types Defined for Signatures -->

<simpleType name="CryptoBinary">

<restriction base="base64Binary">

</restriction>

</simpleType>

<!-- Start Signature -->

<element name="Signature" type="ds:SignatureType"/>

<complexType name="SignatureType">

<sequence>

<element ref="ds:SignedInfo"/>

<element ref="ds:SignatureValue"/>

<element ref="ds:KeyInfo" minOccurs="0"/>

<element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>

</sequence>

<attribute name="Id" type="ID" use="optional"/>

</complexType>

<element name="SignatureValue" type="ds:SignatureValueType"/>

<complexType name="SignatureValueType">

<simpleContent>

<extension base="base64Binary">

<attribute name="Id" type="ID" use="optional"/>

</extension>

</simpleContent>

</complexType>

<!-- Start SignedInfo -->

<element name="SignedInfo" type="ds:SignedInfoType"/>

<complexType name="SignedInfoType">

<sequence>

<element ref="ds:CanonicalizationMethod"/>

<element ref="ds:SignatureMethod"/>

<element ref="ds:Reference" maxOccurs="unbounded"/>

</sequence>

<attribute name="Id" type="ID" use="optional"/>

</complexType>

<element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>

<complexType name="CanonicalizationMethodType" mixed="true">

<sequence>

<any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>

<!-- (0,unbounded) elements from (1,1) namespace -->

</sequence>

<attribute name="Algorithm" type="anyURI" use="required"/>

</complexType>

<element name="SignatureMethod" type="ds:SignatureMethodType"/>

<complexType name="SignatureMethodType" mixed="true">

<sequence>

<element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>

<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>

<!-- (0,unbounded) elements from (1,1) external namespace -->

</sequence>

<attribute name="Algorithm" type="anyURI" use="required"/>

</complexType>

<!-- Start Reference -->

<element name="Reference" type="ds:ReferenceType"/>

<complexType name="ReferenceType">

<sequence>

<element ref="ds:Transforms" minOccurs="0"/>

<element ref="ds:DigestMethod"/>

<element ref="ds:DigestValue"/>

</sequence>

<attribute name="Id" type="ID" use="optional"/>

<attribute name="URI" type="anyURI" use="optional"/>

<attribute name="Type" type="anyURI" use="optional"/>

</complexType>

<element name="Transforms" type="ds:TransformsType"/>

<complexType name="TransformsType">

<sequence>

<element ref="ds:Transform" maxOccurs="unbounded"/>

</sequence>

</complexType>

<element name="Transform" type="ds:TransformType"/>

<complexType name="TransformType" mixed="true">

<choice minOccurs="0" maxOccurs="unbounded">

<any namespace="##other" processContents="lax"/>

<!-- (1,1) elements from (0,unbounded) namespaces -->

<element name="XPath" type="string"/>

</choice>

<attribute name="Algorithm" type="anyURI" use="required"/>

</complexType>

<!-- End Reference -->

<element name="DigestMethod" type="ds:DigestMethodType"/>

<complexType name="DigestMethodType" mixed="true">

<sequence>

<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</sequence>

<attribute name="Algorithm" type="anyURI" use="required"/>

</complexType>

<element name="DigestValue" type="ds:DigestValueType"/>

<simpleType name="DigestValueType">

<restriction base="base64Binary"/>

</simpleType>

<!-- End SignedInfo -->

<!-- Start KeyInfo -->

<element name="KeyInfo" type="ds:KeyInfoType"/>

<complexType name="KeyInfoType" mixed="true">

<choice maxOccurs="unbounded">

<element ref="ds:KeyName"/>

<element ref="ds:KeyValue"/>

<element ref="ds:RetrievalMethod"/>

<element ref="ds:X509Data"/>

<element ref="ds:PGPData"/>

<element ref="ds:SPKIData"/>

<element ref="ds:MgmtData"/>

<any processContents="lax" namespace="##other"/>

<!-- (1,1) elements from (0,unbounded) namespaces -->

</choice>

<attribute name="Id" type="ID" use="optional"/>

</complexType>

<element name="KeyName" type="string"/>

<element name="MgmtData" type="string"/>

<element name="KeyValue" type="ds:KeyValueType"/>

<complexType name="KeyValueType" mixed="true">

<choice>

<element ref="ds:DSAKeyValue"/>

<element ref="ds:RSAKeyValue"/>

<any namespace="##other" processContents="lax"/>

</choice>

</complexType>

<element name="RetrievalMethod" type="ds:RetrievalMethodType"/>

<complexType name="RetrievalMethodType">

<sequence>

<element ref="ds:Transforms" minOccurs="0"/>

</sequence>

<attribute name="URI" type="anyURI"/>

<attribute name="Type" type="anyURI" use="optional"/>

</complexType>

<!-- Start X509Data -->

<element name="X509Data" type="ds:X509DataType"/>

<complexType name="X509DataType">

<sequence maxOccurs="unbounded">

<choice>

<element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>

<element name="X509SKI" type="base64Binary"/>

<element name="X509SubjectName" type="string"/>

<element name="X509Certificate" type="base64Binary"/>

<element name="X509CRL" type="base64Binary"/>

<any namespace="##other" processContents="lax"/>

</choice>

</sequence>

</complexType>

<complexType name="X509IssuerSerialType">

<sequence>

<element name="X509IssuerName" type="string"/>

<element name="X509SerialNumber" type="integer"/>

</sequence>

</complexType>

<!-- End X509Data -->

<!-- Begin PGPData -->

<element name="PGPData" type="ds:PGPDataType"/>

<complexType name="PGPDataType">

<choice>

Полный текст документа вы можете просмотреть в коммерческой версии КонсультантПлюс.