№ | Код параметра | Описание параметра | Обяз | Способ заполнения/Тип |
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 |


