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

pkXML_SMEV2.sql

Ошибки

Error_NoHeader

PROCEDURE Error_NoHeader(sNSURI VARCHAR2, sActor VARCHAR2);

Описание

Вызывает exception “Не найден служебный заголовок СМЭВ...”.

Error_TooManyHeaders

PROCEDURE Error_TooManyHeaders(sNSURI VARCHAR2, sActor VARCHAR2);

Описание

Вызывает 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

PROCEDURE Error_Msg_NoElement(sElementName VARCHAR2);

Описание

Вызывает exception “Отсутствует элемент <...> в служебный блоке атрибутов сообщения”.
Параметры:

  • sElementName - наименование отсутствующего элемента (без значков <>).

Error_Msg_InvalidElementValue

PROCEDURE Error_Msg_InvalidElementValue(sElementName VARCHAR2, sValue VARCHAR2);

Описание

Вызывает exception “Недопустимое значение элемента <...> в служебном блоке атрибутов сообщения”.
Параметры:

  • sElementName - наименование отсутствующего элемента (без значков <>);
  • sValue - значение элемента, вызвавшее ошибку.

Error_Msg_NoStatus

PROCEDURE Error_Msg_NoStatus;

Описание

Вызывает exception “Отсутствует элемент <Status>”.

Error_Msg_InvalidStatus

PROCEDURE Error_Msg_InvalidStatus(sMsgStatus VARCHAR2);

Описание

Вызывает 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

PROCEDURE Error_NoAppInAttachment(sAppFileName VARCHAR2);

Описание

Вызывает exception “Архив вложения не содержит файла с заявлением”.

Настройка пространства имён СМЭВ

SetSMEVNamespace

PROCEDURE SetSMEVNamespace(sXMLNSPrefix VARCHAR2, sXMLNSURI VARCHAR2);

Описание

Задаёт параметры текущего пространства имён СМЭВ.
Параметры:

  • sXMLNSPrefix - наименование пространства имён СМЭВ; используется при формировании тегов СМЭВ;
  • sXMLNSURI - URI пространства имён СМЭВ; используется как при формировании тегов СМЭВ, так и при при работе с разобранным XML сообщения.

SetSMEVNamespace

PROCEDURE SetSMEVNamespace(iSMEVVersionID PLS_INTEGER, sXMLNSPrefix VARCHAR2 := xmlns_SMEV_Default);

Описание

Настраивает пространство имён для указанной версии СМЭВ.
Параметры:

  • iSMEVVersionID - ID версии СМЭВ из справочника;
  • sXMLNSPrefix - префикс пространства имён СМЭВ.

Если такой версии СМЭВ не существует, возникает exception.

SetSMEVNSPrefix

PROCEDURE SetSMEVNSPrefix(sXMLNSPrefix VARCHAR2);

Описание

Устанавливает префикс текущего пространства имён СМЭВ.

SetSMEVNSURI

PROCEDURE SetSMEVNSURI(sXMLNSURI VARCHAR2);

Описание

Устанавливает URI текущего пространства имён СМЭВ.

GetSMEVNSPrefix

FUNCTION GetSMEVNSPrefix RETURN VARCHAR2;

Описание

Возвращает префикс текущего пространства имён СМЭВ.

GetSMEVNSURI

FUNCTION GetSMEVNSURI RETURN VARCHAR2;

Описание

Возвращает 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

FUNCTION GetAppliedDocsDescription(Documents uszn.TSMEVAppliedDocumentList) RETURN BLOB;

Описание

Возвращает XML-файл с описанием списка вложений в соответствии с МР. Если список файлов равен null или пуст, возвращает null.

GetRequestCode

FUNCTION GetRequestCode(rRequestCode RAW) RETURN VARCHAR2;

Описание

Возвращает значение для тега <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

FUNCTION GetSystemInfoTag(sTagName VARCHAR2, SystemInfo uszn.pkSMEV.TSystemInfo) RETURN CLOB;

Описание

Формирует и возвращает готовый тег с информацией о системе-участнике обмена.
Параметры:

  • sTagName - имя тега;
  • SystemInfo - данные о системе, на основании которых формируется тег.

Используются текущие настройки пространства имён СМЭВ.

GetMessageTag

FUNCTION GetMessageTag(Message uszn.pkSMEV.TMessage) RETURN CLOB;

Описание

Формирует и возвращает готовый тег <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> (опционально).

Для создаваемых элементов СМЭВ используются текущие настройки пространства имён СМЭВ.