Документация 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 корневого тега заявления.