Документация iSZN
pkXML_SMEV2.sql
Ошибки
Error_NoHeader
Описание
Вызывает exception “Не найден служебный заголовок СМЭВ...”.
Error_TooManyHeaders
Описание
Вызывает exception “Обнаружено более одного служебного заголовка СМЭВ...”.
Error_Hdr_NoMessageID
PROCEDURE Error_Hdr_NoMessageID;
Описание
Вызывает exception “Отсутствует элемент <MessageID>”.
Error_Msg_InvalidElement
PROCEDURE Error_Msg_InvalidElement(iTagID PLS_INTEGER);
Описание
Вызывает exception “Недопустимый элемент сообщения: ...”. Вызывается при обнаружении в XML-данных сообщения элемента, который не предусмотрен МР.
Error_Msg_NoElement
Описание
Вызывает exception “Отсутствует элемент <...> в служебный блоке атрибутов сообщения”.
Параметры:
- sElementName - наименование отсутствующего элемента (без значков <>).
Error_Msg_InvalidElementValue
Описание
Вызывает exception “Недопустимое значение элемента <...> в служебном блоке атрибутов сообщения”.
Параметры:
- sElementName - наименование отсутствующего элемента (без значков <>);
- sValue - значение элемента, вызвавшее ошибку.
Error_Msg_NoStatus
PROCEDURE Error_Msg_NoStatus;
Описание
Вызывает exception “Отсутствует элемент <Status>”.
Error_Msg_InvalidStatus
Описание
Вызывает exception “Недопустимый элемент <Status>”.
Error_Msg_NoParticipantCode
PROCEDURE Error_Msg_NoParticipantCode(iParticipantKind PLS_INTEGER);
Описание
Вызывает exception “Отсутствует код участника взаимодействия”
Параметры:
- iParticipantKind - вид участника взаимодействия: 1 - отправитель; 2 - получатель; 3 - инициатор взаимодействия.
Error_Msg_NoServiceCode
PROCEDURE Error_Msg_NoServiceCode;
Описание
Вызывает exception “Отсутствует код государственной услуги”.
Error_Msg_NoCaseNumber
PROCEDURE Error_Msg_NoCaseNumber;
Описание
Вызывает exception “Отсутствует номер личного дела”.
Error_NoAppInAttachment
Описание
Вызывает exception “Архив вложения не содержит файла с заявлением”.
Настройка пространства имён СМЭВ
SetSMEVNamespace
Описание
Задаёт параметры текущего пространства имён СМЭВ.
Параметры:
- sXMLNSPrefix - наименование пространства имён СМЭВ; используется при формировании тегов СМЭВ;
- sXMLNSURI - URI пространства имён СМЭВ; используется как при формировании тегов СМЭВ, так и при при работе с разобранным XML сообщения.
SetSMEVNamespace
PROCEDURE SetSMEVNamespace(iSMEVVersionID PLS_INTEGER, sXMLNSPrefix VARCHAR2 := xmlns_SMEV_Default);
Описание
Настраивает пространство имён для указанной версии СМЭВ.
Параметры:
- iSMEVVersionID - ID версии СМЭВ из справочника;
- sXMLNSPrefix - префикс пространства имён СМЭВ.
Если такой версии СМЭВ не существует, возникает exception.
SetSMEVNSPrefix
Описание
Устанавливает префикс текущего пространства имён СМЭВ.
SetSMEVNSURI
Описание
Устанавливает URI текущего пространства имён СМЭВ.
GetSMEVNSPrefix
Описание
Возвращает префикс текущего пространства имён СМЭВ.
GetSMEVNSURI
Описание
Возвращает URI текущего пространства имён СМЭВ.
Поиск тегов
GetHeaderTagID
FUNCTION GetHeaderTagID(iStrict PLS_INTEGER, sActor VARCHAR2 := uri_actor_Recipient) RETURN PLS_INTEGER;
Описание
Находит и возвращает тег <Header> в текущем пространстве имён СМЭВ.
Тег <Header> является дочерним элементом тега <soap:header>.
Параметры:
- iStrict - определяет поведение, если тег не найден или их больше одного;
- sActor - значение атрибута actor.
Если тег <Header> один, атрибут actor игнорируется.
Если тегов <Header> более одного, из них выбирается тег с заданным значением атрибута actor.
Если все теги имеют неподходящее значение атрибута actor, или более одного тега имеют заданное его значение,
поиск считается неудачным.
GetMessageTagID
FUNCTION GetMessageTagID(iParentTagID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Находит и возвращает тег <Message> в текущем пространстве имён СМЭВ.
Параметры:
- iParentTagID - ID родительского тега;
- iStrict - определяет поведение в случае, если тег не найден.
GetMessageDataTagID
FUNCTION GetMessageDataTagID(iParentTagID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Находит и возвращает тег <MessageData> в текущем пространстве имён СМЭВ.
Параметры:
- iParentTagID - ID родительского тега;
- iStrict - определяет поведение в случае, если тег не найден.
GetAppDataTagID
FUNCTION GetAppDataTagID(iMessageDataTagID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Находит и возвращает тег <AppData> в текущем пространстве имён СМЭВ.
Параметры:
- iMessageDataTagID - ID тега <MessageData>;
- iStrict - определяет поведение в случае, если тег не найден.
GetAppDocumentTagID
FUNCTION GetAppDocumentTagID(iMessageDataTagID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Находит и возвращает тег <AppDocument> в текущем пространстве имён СМЭВ.
Параметры:
- iMessageDataTagID - ID тега <MessageData>;
- iStrict - определяет поведение в случае, если тег не найден.
Загрузка данных из тегов
GetHeader
FUNCTION GetHeader(iHeaderTagID PLS_INTEGER) RETURN uszn.pkSMEV.THeader;
Описание
Загружает и возвращает служебный заголовок СМЭВ в текущем пространстве имён СМЭВ.
GetSystemInfo
FUNCTION GetSystemInfo(iSystemInfoTagID PLS_INTEGER) RETURN uszn.pkSMEV.TSystemInfo;
Описание
Загружает и возвращает информацию о системе-участнике взаимодействия в текущем пространстве имён СМЭВ.
GetService
FUNCTION GetService(iServiceTagID PLS_INTEGER) RETURN uszn.pkSMEV.TService;
Описание
Загружает и возвращает содержимое тега <Service> в текущем пространстве имён СМЭВ.
GetMessage
FUNCTION GetMessage(iMessageTagID PLS_INTEGER) RETURN uszn.pkSMEV.TMessage;
Описание
Загружает и возвращает служебный блок атрибутов сообщения СМЭВ в текущем пространстве имён СМЭВ.
GetBinaryData
PROCEDURE GetBinaryData(iAppDocumentTagID PLS_INTEGER, sRequestCode OUT VARCHAR2, bBinaryData OUT BLOB, iStrict PLS_INTEGER);
Описание
Находит и возвращает в выходных параметрах двоичные данные из тега <AppDocument>.
Параметры:
- iAppDocumentTagID - ID тега <AppDocument>;
- sRequestCode - значение тега <RequestCode>;
- bBinaryData - декодированное из Base64 значение тега <BinaryData>;
- iStrict - определяет поведение при отсутствии данных элементов.
ParseBinaryDataApp
PROCEDURE ParseBinaryDataApp( sRequestCode VARCHAR2, bBinaryData BLOB, iStrictAppExists PLS_INTEGER, iRootTagID OUT PLS_INTEGER, ArchiveEntries OUT uszn.TZipArchiveEntryList, iClearParsedXML PLS_INTEGER, iComputeNSAttribs PLS_INTEGER, iComputeStatistics PLS_INTEGER, iMaxBatchSize PLS_INTEGER := 30); /********************************************************************************************************************* Подготовка ответов *********************************************************************************************************************/ -- Возвращает XML-файл с описанием списка вложений в соответствии с МР. -- Если список файлов равен null или пуст, возвращает null. FUNCTION GetAppliedDocsDescription(Documents uszn.TSMEVAppliedDocumentList) RETURN BLOB;
Описание
Распаковывает содержимое архива с двоичными данными и разбирает XML-файл с данными заявления, содержащийся в нём.
Возвращает информацию в выходных параметрах; кроме того, результат разбора заявления хранится в таблице с
разобранными XML-данными.
Параметры:
- sRequestCode - значение тега <RequestCode>;
- bBinaryData - декодированное из Base64 значение тега <BinaryData>;
- iStrictAppExists - определяет поведение при отсутствии в архиве требуемого файла с данными заявления;
- iRootTagID - ID корневого тега разобранного XML-файла с данными заявления;
- ArchiveEntries - содержимое архива;
- iClearParsedXML - очищать ли при разборе заявления существующие разобранные XML-данные (0/1);
- iComputeNSAttribs - выполнять ли извлечение префиксов пространства имён и последующее заполнение ссылок на атрибуты пространства имён для всех тегов разобранного заявления (0/1);
- iComputeStatistics - выполнять ли после разбора подсчёт статистики (0/1);
- iMaxBatchSize - максимальное количество записей, добавляемых/обновляемых за один приём при разборе XML.
Подготовка ответов
GetAppliedDocsDescription
Описание
Возвращает XML-файл с описанием списка вложений в соответствии с МР. Если список файлов равен null или пуст, возвращает null.
GetRequestCode
Описание
Возвращает значение для тега <RequestCode> по его Raw-значению.
GetAppDocumentData
FUNCTION GetAppDocumentData(sSMEVNSPrefix VARCHAR2, sRequestCode VARCHAR2, Files uszn.TBinaryFileList) RETURN CLOB;
Описание
Возвращает двоичные данные, закодированные в Base64, для тега AppDocument.
Параметры:
- sSMEVNSPrefix - префикс пространства имён СМЭВ;
- sRequestCode - значение тега <RequestCode>;
- Files - список файлов, помещаемых в архив.
Если список файлов равен null или пуст, возвращает null.
GetAppDocumentData
FUNCTION GetAppDocumentData(sSMEVNSPrefix VARCHAR2, Documents uszn.TSMEVAppliedDocumentList, rRequestCode RAW) RETURN CLOB;
Описание
Возвращает двоичные данные, закодированные в Base64, для тега AppDocument.
Параметры:
- sSMEVNSPrefix - префикс пространства имён СМЭВ;
- Documents - список двоичных файлов;
- rRequestCode - GUID для формирования значения тега <RequestCode>.
Если список файлов равен null или пуст, возвращает null.
GetSystemInfoTag
Описание
Формирует и возвращает готовый тег с информацией о системе-участнике обмена.
Параметры:
- sTagName - имя тега;
- SystemInfo - данные о системе, на основании которых формируется тег.
Используются текущие настройки пространства имён СМЭВ.
GetMessageTag
Описание
Формирует и возвращает готовый тег <Message> из предоставленных данных.
Параметры:
- Message - информация для формирования блока атрибутов сообщения СМЭВ.
Используются текущие настройки пространства имён СМЭВ.
GetSOAPReplyTag
FUNCTION GetSOAPReplyTag( sSOAPNSPrefix VARCHAR2, sReplyNSPrefix VARCHAR2, sReplyTag VARCHAR2, Message uszn.pkSMEV.TMessage, cAppData CLOB, cAppDocument CLOB := NULL, sEnvelopeAttribs VARCHAR2 := NULL) RETURN CLOB;
Описание
Формирует и возвращает готовый тег <soap:envelope> из предоставленных данных.
Параметры:
- sSOAPNSPrefix - префикс пространства имён SOAP;
- sReplyNSPrefix - префикс пространства имён тега с данными ответа;
- sReplyTag - наименование тега с данными ответа (корневого тега внутри тега <body>);
- Message - информация для формирования блока атрибутов сообщения СМЭВ;
- cAppData - данные для формирования служебного блока структурированных сведений;
- cAppDocument - данные для формирования служебного блока вложений (опционально);
- sEnvelopeAttribs - дополнительные атрибуты для тега <envelope> (опционально).
Для создаваемых элементов СМЭВ используются текущие настройки пространства имён СМЭВ.
GetSimpleReplyTag
FUNCTION GetSimpleReplyTag( sSOAPNSPrefix VARCHAR2, sReplyNSPrefix VARCHAR2, sReplyTag VARCHAR2, rSrcMessageGUID RAW, SrcMessage uszn.pkSMEV.TMessage, sMessageStatus VARCHAR2, sEnvelopeAttribs VARCHAR2 := NULL) RETURN CLOB;
Описание
Формирует и возвращает готовый тег <soap:envelope> для простого ответа, который содержит только статус сообщения.
Параметры:
- sSOAPNSPrefix - префикс пространства имён SOAP;
- sReplyNSPrefix - префикс пространства имён тега с данными ответа;
- sReplyTag - наименование тега с данными ответа (корневого тега внутри тега <body>);
- rSrcMessageGUID - GUID входящего сообщения СМЭВ, на которое формируется ответ;
- SrcMessage - блок атрибутов входящего сообщения СМЭВ, на которое формируется ответ;
- sReplyMessageStatus - статус сообщения-ответа; должна быть одна из констант pkSMEV.SMsgStatus_xxx;
- sEnvelopeAttribs - дополнительные атрибуты для тега <envelope> (опционально).
Для создаваемых элементов СМЭВ используются текущие настройки пространства имён СМЭВ.