Код параметра

Описание параметра

Обяз

Способ заполнения/Тип

1

smev:AppDocument

В случае готовности результата (получено значение smev:Status “RESULT”) - блок будет заполнен вложением с результатом обработки запроса в соответствии с правилами, описанными в разделе Формирование вложения. В случае, если результат еще не готов – блок заполнен не будет.

-

smev:AppDocumentType

2

impl:errorCode

Код ответа – отличие его от 0 говорит о произошедшей в ИС Поставщика данных ошибке

+

xs:int

3

impl:errorDescription

В случае возникновения ошибки – ее описание

-

xs:string

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

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

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

·  Формирование обращения в формате XML c именем req_GUID. xml. XSD-схема вложений запроса и ответа предлагается в Приложении 2.

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

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

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

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

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

НЕ нашли? Не то? Что вы ищете?

3.1.5  Коды возвратов

Приведены в Приложении 5.

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

Приведены в Приложении 4.

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

4.1  Общие условия

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

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

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

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

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

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

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

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

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

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

-  протестировать все операции на основании контрольных примеров

4.3  Особые условия

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

5  Приложения

5.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. *****/rev111111"

xmlns:tns="http://*****"

targetNamespace="http://*****">

<types>

<xs:schema targetNamespace="http://*****">

<xs:import namespace="http://smev. *****/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>

5.1.1  smevMessageData. xsd

Приведенный выше 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. *****"

xmlns:smev="http://smev. *****/rev111111"

targetNamespace="http://smev. *****/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. *****" 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>-->

</xs: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="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="OKTMO" 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>

</xs: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:OKTMO" 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:complexType name="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:processCanonicalServiceResponseMessageType" minOccurs="0"/>

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

</xs:sequence>

</xs:complexType>

</xs:schema>

5.1.2  xopInclude. xsd

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

<?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/xop/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>

5.1.3  customMessageTypes. xsd

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

<?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. *****"

targetNamespace="http://impl. *****"

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>

5.1.4  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

[2] http://www. w3.org/Consortium/Legal/IPR-FAQ.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>

<sequence>

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

<element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>

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

</sequence>

<sequence>

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

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

</sequence>

</choice>

</complexType>

<!-- End PGPData -->

<!-- Begin SPKIData -->

<element name="SPKIData" type="ds:SPKIDataType"/>

<complexType name="SPKIDataType">

<sequence maxOccurs="unbounded">

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

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

</sequence>

</complexType>

<!-- End SPKIData -->

<!-- End KeyInfo -->

<!-- Start Object (Manifest, SignatureProperty) -->

<element name="Object" type="ds:ObjectType"/>

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

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

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

</sequence>

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

<attribute name="MimeType" type="string" use="optional"/>

<!-- add a grep facet -->

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

</complexType>

<element name="Manifest" type="ds:ManifestType"/>

<complexType name="ManifestType">

<sequence>

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

</sequence>

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

</complexType>

<element name="SignatureProperties" type="ds:SignaturePropertiesType"/>

<complexType name="SignaturePropertiesType">

<sequence>

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

</sequence>

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

</complexType>

<element name="SignatureProperty" type="ds:SignaturePropertyType"/>

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

<choice maxOccurs="unbounded">

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

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

</choice>

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

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

</complexType>

<!-- End Object (Manifest, SignatureProperty) -->

<!-- Start Algorithm Parameters -->

<simpleType name="HMACOutputLengthType">

<restriction base="integer"/>

</simpleType>

<!-- Start KeyValue Element-types -->

<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>

<complexType name="DSAKeyValueType">

<sequence>

<sequence minOccurs="0">

<element name="P" type="ds:CryptoBinary"/>

<element name="Q" type="ds:CryptoBinary"/>

</sequence>

<element name="G" type="ds:CryptoBinary" minOccurs="0"/>

<element name="Y" type="ds:CryptoBinary"/>

<element name="J" type="ds:CryptoBinary" minOccurs="0"/>

<sequence minOccurs="0">

<element name="Seed" type="ds:CryptoBinary"/>

<element name="PgenCounter" type="ds:CryptoBinary"/>

</sequence>

</sequence>

</complexType>

<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>

<complexType name="RSAKeyValueType">

<sequence>

<element name="Modulus" type="ds:CryptoBinary"/>

<element name="Exponent" type="ds:CryptoBinary"/>

</sequence>

</complexType>

<!-- End KeyValue Element-types -->

<!-- End Signature -->

</schema>

5.1.5  XSD-описание форматов вложений

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5