Документация iSZN

pkSvcEpguApp.sql

Разбор и обработка сообщений СМЭВ

ParseAppRequest

FUNCTION ParseAppRequest(iParentTagID PLS_INTEGER, sNSURI VARCHAR2, AppRequest OUT TAppRequest) RETURN BOOLEAN;

Описание

Заполняет запрос заявления из разобранного XML-файла.
Параметры:

  • iParentTagID - ID родительского тега;
  • sNSURI - URI пространства имён;
  • AppRequest - заполняемые данные.

Возвращает True, если данные XML содержали запрос заявления, иначе False.
Если запрос содержит ошибки, возникает exception.

ParseApplicationXml

PROCEDURE ParseApplicationXml(iIncMessageID PLS_INTEGER, MTOMAttachments IN uszn.pkSMEV3.TAttachmentList, ArchiveEntries IN uszn.TZipArchiveEntryList, iRootTagID OUT PLS_INTEGER, iStrictAppExists PLS_INTEGER, iClearParsedXML PLS_INTEGER, iComputeNSAttribs PLS_INTEGER, iComputeStatistics PLS_INTEGER, iMaxBatchSize PLS_INTEGER := 30);

Описание

Разбирает XML-файл с данными заявления (application.xml), приложенный к входящему сообщению СМЭВ-3.
Входные параметры:

  • iIncMessageID - ID входящего сообщения СМЭВ-3;
  • MTOMAttachments - список вложений, полученных в составе сообщения (MTOM-вложения);
  • ArchiveEntries - распакованный архив SignedContent.zip (при наличии), приложенный к входящему сообщению;
  • iStrictAppExists - определяет поведение при отсутствии требуемого файла с данными заявления;
  • iClearParsedXML - очищать ли при разборе заявления существующие разобранные XML-данные (0/1);
  • iComputeNSAttribs - выполнять ли извлечение префиксов пространства имён и последующее заполнение ссылок на атрибуты пространства имён для всех тегов разобранного заявления (0/1);
  • iComputeStatistics - выполнять ли после разбора подсчёт статистики (0/1);
  • iMaxBatchSize - максимальное количество записей, добавляемых/обновляемых за один приём при разборе XML.

Выходные параметры:

  • iRootTagID - ID корневого тега разобранного XML-файла с данными заявления; null, если файл отсутствует.

ParseTextRequest

FUNCTION ParseTextRequest(iParentTagID PLS_INTEGER, sNSURI VARCHAR2, TextRequest OUT TTextRequest) RETURN BOOLEAN;

Описание

Заполняет запрос текстового сообщения из разобранного XML-файла.
Параметры:

  • iParentTagID - ID родительского тега;
  • sNSURI - URI пространства имён;
  • AppRequest - заполняемые данные.

Возвращает True, если данные XML содержали запрос текстового сообщения, иначе False.
Если запрос содержит ошибки, возникает exception.

ProcessAppRequest

PROCEDURE ProcessAppRequest(
  iIncMessageID PLS_INTEGER, Request IN uszn.pkSMEV3.TGetRequestResponse, AppRequest IN TAppRequest,
  iWarningCount IN OUT NOCOPY PLS_INTEGER, iErrorCount IN OUT NOCOPY PLS_INTEGER, sErrorMsg IN OUT NOCOPY VARCHAR2, cLogData IN OUT NOCOPY CLOB,
  iLogLevel PLS_INTEGER, iRegionID OUT PLS_INTEGER, iOutMessageID OUT PLS_INTEGER,
  iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL);
 
-- Извлекает из сообщения СМЭВ-3 данные XML обращения и разбирает его.
-- Входные параметры:
--   rIncMessageGUID    - GUID входящего сообщения СМЭВ-3 с данными заявления;
--   iClearParsedXML    - очищать ли содержимое таблицы с разобранными XML-данными (0/1);
--   iClearSMEVTags     - удалять ли из таблицы с разобранными XML-данными теги конверта СМЭВ (0/1);
--                        учитывается только при iClearParsedXML=1;
--   iComputeStatistics - выполнять ли расчёт статистики (0/1).
-- Выходные параметры:
--   iDataRootTagID - ID тега с данными запроса, специфичными для вида сведений СМЭВ-3; null, если данные конверта
--                    СМЭВ удаляются из таблицы с разобранными XML-данными;
--   iAppRootTagID  - ID корневого тега заявления.
PROCEDURE ExtractAndParseApplication(rIncMessageGUID RAW, iClearParsedXML PLS_INTEGER, iClearSMEVTags PLS_INTEGER, iComputeStatistics PLS_INTEGER, iDataRootTagID OUT PLS_INTEGER, iAppRootTagID OUT PLS_INTEGER);
 
END;

Описание

Обрабатывает входящий запрос подачи заявления.
Параметры:

  • iIncMessageID - ID входящего сообщения;
  • Request - структурированные данные исходного запроса;
  • AppRequest - структурированные данные предметной части запроса;
  • iWarningCount - количество предупреждений; обновляется в процессе обработки;
  • iErrorCount - количество сбоев; обновляется в процессе обработки;
  • sErrorMsg - последнее сообщение об ошибке/предупреждении;
  • cLogData - данные протокола, заполняются процессе обработки;
  • iLogLevel - начальный уровень отступа в протоколе;
  • iRegionID, iOutMessageID - ключ исходящего сообщения;
  • iAudOriginID - ID источника события для аудита;
  • sAudNotes - примечания для аудита.

ExtractAndParseApplication

PROCEDURE ExtractAndParseApplication(rIncMessageGUID RAW, iClearParsedXML PLS_INTEGER, iClearSMEVTags PLS_INTEGER, iComputeStatistics PLS_INTEGER, iDataRootTagID OUT PLS_INTEGER, iAppRootTagID OUT PLS_INTEGER);

Описание

Извлекает из сообщения СМЭВ-3 данные XML обращения и разбирает его.
Входные параметры:

  • rIncMessageGUID - GUID входящего сообщения СМЭВ-3 с данными заявления;
  • iClearParsedXML - очищать ли содержимое таблицы с разобранными XML-данными (0/1);
  • iClearSMEVTags - удалять ли из таблицы с разобранными XML-данными теги конверта СМЭВ (0/1); учитывается только при iClearParsedXML=1;
  • iComputeStatistics - выполнять ли расчёт статистики (0/1).

Выходные параметры:

  • iDataRootTagID - ID тега с данными запроса, специфичными для вида сведений СМЭВ-3; null, если данные конверта СМЭВ удаляются из таблицы с разобранными XML-данными;
  • iAppRootTagID - ID корневого тега заявления.