Участником взаимодействия может быть разработан сервис приема push-уведомлений самостоятельно в соответствии с данным описанием, либо использовано готовое решение, которое входит в состав набора шаблонов электронных сервисов.
Описание сервиса приёма push-уведомлений
Сервис приема push-уведомлений осуществляет прием входных и отправку выходных данных, приведенных в таблице 9.
Таблица 9 – Перечень входных и выходных данных сервиса приема push-уведомлений
№ | Название | Тип | Обозначение | Описание |
1 | Входные данные | |||
1.1 | Push-уведомление | Контейнер | PushNotification | Push-уведомление передается средствами метода PushNotification web-сервиса и включает следующие данные (рисунок 29):
SOAP-запрос приведён на рисунке 30. |
1.1.1 | Время опроса очередей доставки ИС УВ | dateTime | InformationTimestamp | Время опроса в формате ГГГГ-ММ-ДДTЧЧ:ММ:ССZ |
1.1.2 | Данные состояния очереди | Контейнер | QueueInformation | Включает следующие данные:
|
1.1.2.1 | Наименование очереди доставки | String | QueueName | Наименование одной из трех очередей доставки (не более 500 символов). |
1.1.2.2 | Количество сообщений в очереди доставки | Int | QueueSize | Количество сообщений в очереди доставки, которая соответствует queueName. |
2 | Выходные данные | |||
2.1 | Ответное сообщение на отправленное push-уведомление | Контейнер | PushNotificationResponse | Ответное сообщение на отправленное push-уведомление является подтверждением успешного получения ИС УВ push-уведомления. Ответное сообщение передается средствами метода PushNotification web-сервиса и не содержит никаких бизнес данных (рисунок 31). |
2.2 | Ответное сообщение с ошибкой на отправленное push-уведомление | Контейнер | PushNotificationException | Ответное сообщение с ошибкой на отправленное push-уведомление является подтверждением успешного получения ИС УВ push-уведомления. Ответное сообщение с ошибкой передается средствами метода PushNotification web-сервиса и может содержать описание ошибки (рисунок 32). |
2.3 | Метод передачи данных push-уведомления | Метод SOAP-сервера | PushNotificationData | Метод передает следующие данные:
|

Рисунок 40 – Cхема структуры данных push-уведомления
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas. xmlsoap. org/soap/envelope/" xmlns:SOAP-ENC="http://schemas. xmlsoap. org/soap/encoding/" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www. w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <PushNotificationRequest xmlns:m="urn://x-artefacts-smev-gov-ru/smev/1.0"> <PushNotification> <InformationTimestamp>2015-02-06T15:14:20Z</InformationTimestamp> <QueueInformation> <QueueName>name1</QueueName> <QueueSize>2</QueueSize> </QueueInformation> <QueueInformation> <QueueName>name2</QueueName> <QueueSize>25</QueueSize> </QueueInformation> <QueueInformation> <QueueName>name3</QueueName> <QueueSize>12</QueueSize> </QueueInformation> </PushNotification> </PushNotificationRequest> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Рисунок 41 – SOAP-структура push-уведомления

Рисунок 42 – Схема структуры данных ответного сообщения на отправленное push-уведомление

Рисунок 43 – Схема структуры данных ответного сообщения с ошибкой на отправленное push-уведомление
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www. w3.org/2001/XMLSchema" xmlns:tns="urn://x-artefacts-smev-gov-ru/smev/1.0" targetNamespace="urn://x-artefacts-smev-gov-ru/smev/1.0" elementFormDefault="unqualified"> <xs:element name="PushNotificationRequest" type="tns:PushNotificationRequest"/> <xs:complexType name="PushNotificationRequest"> <xs:sequence> <xs:element name="PushNotification" type="tns:QueueNotificationInformation"/> </xs:sequence> </xs:complexType> <xs:complexType name="QueueNotificationInformation"> <xs:sequence> <xs:element name="InformationTimestamp" type="xs:dateTime"/> <xs:element name="QueueInformation" type="tns:QueueInformation" form="qualified" nillable="true" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="QueueInformation"> <xs:sequence> <xs:element name="QueueName"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="500"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="QueueSize" type="xs:int"/> </xs:sequence> </xs:complexType> <xs:element name="PushNotificationResponse" type="tns:PushNotificationResponse"/> <xs:complexType name="PushNotificationResponse"> <xs:sequence> <xs:element name="DescriptionResponse" type="tns:Description"/> </xs:sequence> </xs:complexType> <xs:element name="PushNotificationException" type="tns:PushNotificationException"/> <xs:complexType name="PushNotificationException"> <xs:sequence> <xs:element name="DescriptionException" type="tns:Description"/> </xs:sequence> </xs:complexType> <xs:complexType name="Description"> <xs:sequence> <xs:element name="Description" type="xs:string" form="qualified" nillable="true" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema> |
Рисунок 44 – xsd-схема сервиса приема push-уведомлений «PushNotificationSchema. xsd»
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |


