Документация iSZN
pkSMEV3Intf.sql
Получение входящих запросов
MessageReceived
FUNCTION MessageReceived( iServiceRegionID PLS_INTEGER, sServiceName VARCHAR2, iMessageRegionID PLS_INTEGER, bMessageData BLOB, iIsSignatureValid PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Обрабатывает входящее сообщение, полученное веб-сервисом.
Параметры:
- iServiceRegionID - ID района веб-сервиса;
- sServiceName - техническое наименование веб-сервиса (нечувствительное к регистру);
- iMessageRegionID - ID района, в который адресовано сообщение;
- bMessageData - содержимое сообщения СМЭВ;
- iIsSignatureValid - признак валидности цифровой подписи СМЭВ (0/1).
Возвращает результат работы: константу из числа pkSMEV3.IMsgReceived_xxx.
Если при сохранении входящего сообщения произошла ошибка, возникает exception.
AddIncMsgFSAttachment
FUNCTION AddIncMsgFSAttachment(rMessageGUID RAW, rFileGUID RAW, sFileName VARCHAR2, bFileContent BLOB, sMediaType VARCHAR2) RETURN PLS_INTEGER;
Описание
Связывает содержимое файла, полученного через файловое хранилище СМЭВ, с файлом входящего сообщения СМЭВ.
Параметры:
- rMessageGUID - GUID входящего сообщения СМЭВ-3;
- rFileGUID - UUID вложения;
- sFileName - имя файла;
- bFileContent - содержимое файла;
- sMediaType - тип содержимого файла.
Возвращает результат работы: константу из числа pkSMEV3.IFSAttachAdded_xxx.
Если при добавлении файла произошла ошибка, возникает exception.
AddIncMsgFSAttachmentExternal
PROCEDURE AddIncMsgFSAttachmentExternal( rMessageGUID RAW, rFileGUID RAW, sFileName VARCHAR2, sMediaType VARCHAR2, iFileSize PLS_INTEGER, rFileSha1 RAW, iResult OUT PLS_INTEGER, sExtFileName OUT VARCHAR2); /********************************************************************************************************************* Отправка исходящих запросов *********************************************************************************************************************/ -- Возвращает список ID запросов для СМЭВ-3, стоящих в очереди на отправку, для которых наступило время отправки. -- Параметры: -- iRegionID - ID района; -- iMaxCount - максимальное допустимое количество элементов, которое возвращает функция. -- Если запросов, требующих отправки, нет, возвращает пустой список. FUNCTION GetScheduledRequestIDs(iRegionID PLS_INTEGER, iMaxCount PLS_INTEGER) RETURN uszn.TIntegerList;
Описание
Связывает содержимое файла, полученного через файловое хранилище СМЭВ и сохранённого как внешний, с файлом
входящего сообщения СМЭВ.
Входные параметры:
- rMessageGUID - GUID входящего сообщения СМЭВ-3;
- rFileGUID - UUID вложения;
- sFileName - имя файла;
- sMediaType - тип содержимого файла;
- iFileSize - размер файла, байт;
- rFileSha1 - контрольная сумма файла.
Выходные параметры:
- iResult - результат работы: константу из числа pkSMEV3.IFSAttachAdded_xxx;
- sExtFileName - имя внешнего файла вместе с подкаталогом.
Если при добавлении файла произошла ошибка, возникает exception.
Отправка исходящих запросов
GetScheduledRequestIDs
FUNCTION GetScheduledRequestIDs(iRegionID PLS_INTEGER, iMaxCount PLS_INTEGER) RETURN uszn.TIntegerList;
Описание
Возвращает список ID запросов для СМЭВ-3, стоящих в очереди на отправку, для которых наступило время отправки.
Параметры:
- iRegionID - ID района;
- iMaxCount - максимальное допустимое количество элементов, которое возвращает функция.
Если запросов, требующих отправки, нет, возвращает пустой список.
GetRequestData
PROCEDURE GetRequestData( iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER, bRequestData OUT BLOB, rMessageGUID OUT RAW, iAttachmentCount OUT PLS_INTEGER, sKeyContainerName OUT VARCHAR2, iGostVersion OUT PLS_INTEGER, sRequestURL OUT VARCHAR2, sSOAPAction OUT VARCHAR2); -- Получение содержимого файла вложения исходящего сообщения СМЭВ. -- Входные параметры: -- iRegionID, iOutMessageID - ключ исходящего сообщения; -- iOrderNum - порядковый номер вложения; нумерация начинается с 1. -- Выходные параметры: -- bContent - содержимое файла; -- iCompressionMethod - метод сжатия, использованный при хранении содержимого; null, если сжатие не используется; -- sFileName - имя файла; -- sMimeType - MIME-тип содержимого; -- rGUID - UUID каталога, куда будет помещаться файл вложения на FTP-сервере. PROCEDURE GetRequestAttachment( iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER, iOrderNum PLS_INTEGER, bContent OUT BLOB, iCompressionMethod OUT PLS_INTEGER, sFileName OUT VARCHAR2, sMimeType OUT VARCHAR2, rGUID OUT RAW); -- Регистрирует факт успешной отправки исходящего сообщения в СМЭВ вызовом метода SendRequest или SendResponse. -- Параметры: -- iRegionID, iOutMessageID - ключ исходящего сообщения; -- dSendTime - дата и время отправки; -- rMessageGUID - GUID отправленного сообщения;
Описание
Получение данных, необходимых для отправки запроса в СМЭВ.
Входные параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения.
Выходные параметры:
- bRequestData - данные запроса (SOAP-конверт);
- rMessageGUID - GUID отправляемого сообщения;
- iAttachmentCount - количество вложений, передаваемых через FTP;
- sKeyContainerName - наименование ключевого контейнера, которым необходимо подписать отправляемое сообщение;
- iGostVersion - идентификатор версии ГОСТ;
- sRequestURL - URL для отправки запроса;
- sSOAPAction - значение свойства SOAPAction заголовка HTTP при отправке запроса.
Если запрос не существует или заблокирован, возникает exception.
Кроме того, exception возникает в случае, если для отправителя на задана ЭП или для сервиса не задан URL для
отправки запросов.
GetRequestAttachment
PROCEDURE GetRequestAttachment( iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER, iOrderNum PLS_INTEGER, bContent OUT BLOB, iCompressionMethod OUT PLS_INTEGER, sFileName OUT VARCHAR2, sMimeType OUT VARCHAR2, rGUID OUT RAW); -- Регистрирует факт успешной отправки исходящего сообщения в СМЭВ вызовом метода SendRequest или SendResponse. -- Параметры: -- iRegionID, iOutMessageID - ключ исходящего сообщения; -- dSendTime - дата и время отправки; -- rMessageGUID - GUID отправленного сообщения; -- bDataSent - отправленные данные; -- bReplyData - ответ СМЭВ; -- iIsSignatureValid - валидна ли ЭЦП ответа (0/1); null, если ответ не содержит подписи. -- Если исходящее сообщение не существует или заблокировано, возникает exception. PROCEDURE MessageDelivered( iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER, dSendTime DATE, rMessageGUID RAW, bDataSent BLOB, bReplyData BLOB, iIsSignatureValid PLS_INTEGER); -- Добавляет запись о неудачной отправке исходящего сообщения в СМЭВ. -- Параметры: -- iRegionID, iOutMessageID - ключ исходящего сообщения; -- dSendTime - дата и время отправки; -- bDataSent - отправленные данные; -- rMessageGUID - GUID отправленного сообщения;
Описание
Получение содержимого файла вложения исходящего сообщения СМЭВ.
Входные параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения;
- iOrderNum - порядковый номер вложения; нумерация начинается с 1.
Выходные параметры:
- bContent - содержимое файла;
- iCompressionMethod - метод сжатия, использованный при хранении содержимого; null, если сжатие не используется;
- sFileName - имя файла;
- sMimeType - MIME-тип содержимого;
- rGUID - UUID каталога, куда будет помещаться файл вложения на FTP-сервере.
MessageDelivered
PROCEDURE MessageDelivered( iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER, dSendTime DATE, rMessageGUID RAW, bDataSent BLOB, bReplyData BLOB, iIsSignatureValid PLS_INTEGER); -- Добавляет запись о неудачной отправке исходящего сообщения в СМЭВ. -- Параметры: -- iRegionID, iOutMessageID - ключ исходящего сообщения; -- dSendTime - дата и время отправки; -- bDataSent - отправленные данные; -- rMessageGUID - GUID отправленного сообщения; -- sErrorMessage - сообщение с описанием ошибки. -- Если запрос не существует или заблокирован, возникает exception. PROCEDURE MessageDeliveryFailed( iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER, dSendTime DATE, rMessageGUID RAW, bDataSent BLOB, bReplyData BLOB, sErrorMessage VARCHAR2); END; / CREATE OR REPLACE PACKAGE BODY uszn.pkSMEV3Intf IS -- Ключи атрибутов видов сведений:
Описание
Регистрирует факт успешной отправки исходящего сообщения в СМЭВ вызовом метода SendRequest или SendResponse.
Параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения;
- dSendTime - дата и время отправки;
- rMessageGUID - GUID отправленного сообщения;
- bDataSent - отправленные данные;
- bReplyData - ответ СМЭВ;
- iIsSignatureValid - валидна ли ЭЦП ответа (0/1); null, если ответ не содержит подписи.
Если исходящее сообщение не существует или заблокировано, возникает exception.
MessageDeliveryFailed
PROCEDURE MessageDeliveryFailed( iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER, dSendTime DATE, rMessageGUID RAW, bDataSent BLOB, bReplyData BLOB, sErrorMessage VARCHAR2); END; / CREATE OR REPLACE PACKAGE BODY uszn.pkSMEV3Intf IS -- Ключи атрибутов видов сведений: -- -- DELIVERY_PRIORITY IDK_ATTR_RGN_DELIVERY_PRIORITY CONSTANT PLS_INTEGER := 0; IDK_ATTR_ID_DELIVERY_PRIORITY CONSTANT PLS_INTEGER := 3; /********************************************************************************************************************/ FUNCTION MessageReceived( iServiceRegionID PLS_INTEGER, sServiceName VARCHAR2, iMessageRegionID PLS_INTEGER, bMessageData BLOB, iIsSignatureValid PLS_INTEGER) RETURN PLS_INTEGER IS iMessageID PLS_INTEGER;
Описание
Добавляет запись о неудачной отправке исходящего сообщения в СМЭВ.
Параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения;
- dSendTime - дата и время отправки;
- bDataSent - отправленные данные;
- rMessageGUID - GUID отправленного сообщения;
- sErrorMessage - сообщение с описанием ошибки.
Если запрос не существует или заблокирован, возникает exception.