С целью повышения уровня безопасности системы введена дополнительная проверка в механизм обработки сообщений на стороне СМЭВ 3.
Для перечисленных ниже методов вводится контроль временной метки сообщения, которая размещается в следующих элементах соответственно:
1. Метод GetRequestRequest : GetRequestRequest - MessageTypeSelector - Timestamp2. Метод GetResponseRequest : GetResponseRequest – MessageTypeSelector - Timestamp
3. Метод GetStatus : GetStatusRequest - Timestamp
На остальные методы изменение не повлияет.
В случае, если значение временной метки в сообщении будет отличаться от текущего (допустимая дельта - 30 минут), отправителю будет направлено синхронное статусное уведомление, содержащее текст "SMEV-403:Метка времени сообщения 2014-02-11T17:10:03.61604:00 не действительна". Дальнейшая обработка сообщения будет прекращена.
Пример статусного уведомления:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/&quot;&gt; <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>Метка времени сообщения 2014-02-11T17:10:03.616+04:00 не действительна</faultstring> <detail> <ns3:InvalidContent xmlns:ns3="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/faults/1.2" xmlns:ns2="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.2" xmlns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.2"> <Code>fed0:TEST_AREA:FED0_CORE1 : TR:SYNC:PP:3</Code> <Description>SMEV-403:Метка времени сообщения 2014-02-11T17:10:03.616+04:00 не действительна</Description> </ns3:InvalidContent> </detail> </soap:Fault> </soap:Body> </soap:Envelope> |
Согласно формату временной метки, описанному по адресу "https://www.w3.org/TR/xmlschema-2/#dateTime" в пп. 3.2.7 dateTime, который используется в схемах СМЭВ, использование миллисекунд в элементе Timestamp является необязательным условием. Со схемой СМЭВ можно ознакомиться в документе "Методические рекомендации по работе с ЕСМЭВ версия 3.5.X.X" пп. Приложение М. Схемы единого сервиса СМЭВ3.Х.
На примере 31.03.2020 19:30:29 (время московское), метку корректно будет сформировать любым из указанных способов:
- 2020-03-31T19:30:29.000
- 2020-03-31T19:30:29.00003:00
- 2020-03-31T16:30:29.000Z