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

pkXML_SMEV3.sql

Работа со схемой СМЭВ

GetSMEVSchemaVersion

FUNCTION GetSMEVSchemaVersion RETURN VARCHAR2;

Описание

Возвращает текущий код версии схемы СМЭВ; если версия схемы СМЭВ не задана, возвращает null.

GetSMEVVersionID

FUNCTION GetSMEVVersionID RETURN PLS_INTEGER;

Описание

Возвращает текущий ID версии СМЭВ; если версия схемы СМЭВ не задана, возвращает null.

CheckSMEVSchemaVersion

PROCEDURE CheckSMEVSchemaVersion;

Описание

Проверяет, что версия схемы СМЭВ задана; если нет, возникает exception.

SetSMEVSchemaVersion

PROCEDURE SetSMEVSchemaVersion(sSchemaVersionCode VARCHAR2);

Описание

Устанавливает текущую версию схемы СМЭВ.
Параметры:

  • sSchemaVersionCode - код версии схемы; константа из числа SSchemaVersion_xxx.

Если sVersion равен null, версия схемы становится не определена.
Если sVersion имеет ошибочное значение, возникает exception.

SetSMEVSchemaVersion

PROCEDURE SetSMEVSchemaVersion(iSMEVVersionID PLS_INTEGER);

Описание

Устанавливает текущую версию схемы СМЭВ по ID версии СМЭВ.
Параметры:

  • iSMEVVersionID - ID версии СМЭВ из справочника “Версии СМЭВ”;

Если iVersionID равен null, версия схемы становится не определена.
Если iVersionID имеет ошибочное значение, возникает exception.

Разбор данных входящих сообщений

GetSMEVTypeNSURI

FUNCTION GetSMEVTypeNSURI RETURN VARCHAR2;

Описание

Возвращает URI пространства имён СМЭВ uri_xmlns_SMEVTypes. Если версия схемы СМЭВ не задана вызовомpkXML_SMEV3.SetSMEVSchemaVersion, возникает exception.

GetSMEVBasicNSURI

FUNCTION GetSMEVBasicNSURI RETURN VARCHAR2;

Описание

Возвращает URI пространства имён СМЭВ uri_xmlns_SMEVTypesBasic. Если версия схемы СМЭВ не задана вызовомpkXML_SMEV3.SetSMEVSchemaVersion, возникает exception.

GetSMEVFaultsNSURI

FUNCTION GetSMEVFaultsNSURI RETURN VARCHAR2;

Описание

Возвращает URI пространства имён СМЭВ uri_xmlns_SMEVTypesFaults. Если версия схемы СМЭВ не задана вызовомpkXML_SMEV3.SetSMEVSchemaVersion, возникает exception.

GetSMEVTypeTagID

FUNCTION GetSMEVTypeTagID(iParentTagID PLS_INTEGER, sTagName VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Поиск тега в пространстве имён uri_xmlns_SMEVTypes.
Возвращает ID найденного тега или null.
Параметры:

  • iParentTagID - ID родительского тега;
  • sTagName - имя тега;
  • iStrict - определяет поведение, если данные не найдены.

Если версия схемы СМЭВ не задана вызовомpkXML_SMEV3.SetSMEVSchemaVersion, возникает exception.

GetSMEVTypeBasicTagID

FUNCTION GetSMEVTypeBasicTagID(iParentTagID PLS_INTEGER, sTagName VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Поиск тега в пространстве имён uri_xmlns_SMEVTypesBasic.
Возвращает ID найденного тега или null.
Параметры:

  • iParentTagID - ID родительского тега;
  • sTagName - имя тега;
  • iStrict - определяет поведение, если данные не найдены.

Если версия схемы СМЭВ не задана вызовомpkXML_SMEV3.SetSMEVSchemaVersion, возникает exception.

GetSMEVTypeFaultsTagID

FUNCTION GetSMEVTypeFaultsTagID(iParentTagID PLS_INTEGER, sTagName VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Поиск тега в пространстве имён uri_xmlns_SMEVTypesFaults.
Возвращает ID найденного тега или null.
Параметры:

  • iParentTagID - ID родительского тега;
  • sTagName - имя тега;
  • iStrict - определяет поведение, если данные не найдены.

Если версия схемы СМЭВ не задана вызовомpkXML_SMEV3.SetSMEVSchemaVersion, возникает exception.

GetSMEVTypeDirectiveTagID

FUNCTION GetSMEVTypeDirectiveTagID(iParentTagID PLS_INTEGER, sTagName VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Поиск тега в пространстве имён uri_xmlns_SMEVTypesDirective13.
Возвращает ID найденного тега или null.
Параметры:

  • iParentTagID - ID родительского тега;
  • sTagName - имя тега;
  • iStrict - определяет поведение, если данные не найдены.

GetSMEVTypeTagValue

FUNCTION GetSMEVTypeTagValue(iParentTagID PLS_INTEGER, sTagName VARCHAR2, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает значение тега в пространстве имён uri_xmlns_SMEVTypes.
Параметры:

  • iParentTagID - ID родительского тега;
  • sTagName - имя тега;
  • iStrict - определяет поведение, если данные не найдены.

Если версия схемы СМЭВ не задана вызовомpkXML_SMEV3.SetSMEVSchemaVersion, возникает exception.

GetSMEVTypeBasicTagValue

FUNCTION GetSMEVTypeBasicTagValue(iParentTagID PLS_INTEGER, sTagName VARCHAR2, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает значение тега в пространстве имён uri_xmlns_SMEVTypesBasic.
Параметры:

  • iParentTagID - ID родительского тега;
  • sTagName - имя тега;
  • iStrict - определяет поведение, если данные не найдены.

Если версия схемы СМЭВ не задана вызовомpkXML_SMEV3.SetSMEVSchemaVersion, возникает exception.

GetSMEVTypeDirectiveTagValue

FUNCTION GetSMEVTypeDirectiveTagValue(iParentTagID PLS_INTEGER, sTagName VARCHAR2, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает значение тега в пространстве имён uri_xmlns_SMEVTypesDirective13.
Параметры:

  • iParentTagID - ID родительского тега;
  • sTagName - имя тега;
  • iStrict - определяет поведение, если данные не найдены.

GetSMEVTypeGUID

FUNCTION GetSMEVTypeGUID(iParentTagID PLS_INTEGER, sTagName VARCHAR2, iStrict PLS_INTEGER) RETURN RAW;

Описание

Возвращает значение тега, содержащего GUID, в пространстве имён uri_xmlns_SMEVTypes.
Параметры:

  • iParentTagID - ID родительского тега;
  • sTagName - имя тега;
  • iStrict - определяет поведение, если данные не найдены.

Если версия схемы СМЭВ не задана вызовомpkXML_SMEV3.SetSMEVSchemaVersion, возникает exception.
Если значение имеется, но не является корректным GUID, возникает exception, независимо от значения iStrict.

GetParticipantData

FUNCTION GetParticipantData(iParentTagID PLS_INTEGER, sTagName VARCHAR2, iStrict PLS_INTEGER) RETURN uszn.pkSMEV3.TParticipant;

Описание

Извлекает из разобранных XML-данных структуру Participant.
Параметры:

  • iParentTagID - ID родительского тега;
  • sTagName - имя тега участника взаимодействия (Sender или Recipient);
  • iStrict - определяет поведение при отсутствии соответствующего тега участника.

Данные извлекаются в текущей версии схемы, для её задания необходимо вызватьpkXML_SMEV3.SetSMEVSchemaVersion.
Если необходимые данные не найдены, возникает exception.

GetSMEVFault

FUNCTION GetSMEVFault(iTagID PLS_INTEGER) RETURN uszn.pkSMEV3.TSmevFault;

Описание

Извлекает из разобранных XML-данных структуру TSmevFault.
Параметры:

  • iTagID - ID тега <SmevFault>.

Данные извлекаются в текущей версии схемы, для её задания необходимо вызватьpkXML_SMEV3.SetSMEVSchemaVersion.

GetAsyncProcStatus

FUNCTION GetAsyncProcStatus(iTagID PLS_INTEGER) RETURN uszn.pkSMEV3.TAsyncProcessingStatus;

Описание

Извлекает из разобранных XML-данных структуру TAsyncProcessingStatus.
Параметры:

  • iTagID - ID тега <AsyncProcessingStatus>.

Данные извлекаются в текущей версии схемы, для её задания необходимо вызватьpkXML_SMEV3.SetSMEVSchemaVersion.
Если необходимые данные не найдены, возникает exception.

GetRequestStatus

FUNCTION GetRequestStatus(iTagID PLS_INTEGER) RETURN uszn.pkSMEV3.TRequestStatus;

Описание

Извлекает из разобранных XML-данных структуру TRequestStatus.
Параметры:

  • iTagID - ID тега <RequestStatus>.

Данные извлекаются в текущей версии схемы, для её задания необходимо вызватьpkXML_SMEV3.SetSMEVSchemaVersion.
Если необходимые данные не найдены, возникает exception.

GetRequestRejectReasons

FUNCTION GetRequestRejectReasons(iOwnerTagID PLS_INTEGER) RETURN uszn.pkSMEV3.TRejectReasonList;

Описание

Извлекает из разобранных XML-данных список причин отказа в приёме запроса.
Параметры:

  • iOwnerTagID - ID родительского тега.

Данные извлекаются в текущей версии схемы, для её задания необходимо вызватьpkXML_SMEV3.SetSMEVSchemaVersion.
Если необходимые данные не найдены, возникает exception.

GetMessageMetadata

FUNCTION GetMessageMetadata(iParentTagID PLS_INTEGER) RETURN uszn.pkSMEV3.TMessageMetadata;

Описание

Извлекает из разобранных XML-данных структуру MessageMetadata.
Параметры:

  • iParentTagID - ID родительского тега.

Данные извлекаются в текущей версии схемы, для её задания необходимо вызватьpkXML_SMEV3.SetSMEVSchemaVersion.
Если необходимые данные не найдены, возникает exception.

GetAttachments

FUNCTION GetAttachments(iSPRDTagID PLS_INTEGER) RETURN uszn.pkSMEV3.TAttachmentList;

Описание

Извлекает из разобранных XML-данных список вложений, передаваемых в теле сообщения.
Параметры:

  • iSPRDTagID - ID тега SenderProvidedRequestData/SenderProvidedResponseData.

Данные извлекаются в текущей версии схемы, для её задания необходимо вызватьpkXML_SMEV3.SetSMEVSchemaVersion.
Если список вложений отсутствует, возвращает пустой список.
Если вложения есть, но не содержат обязательные данные, возникает exception.

GetFSAttachments

FUNCTION GetFSAttachments(iSPRDTagID PLS_INTEGER) RETURN uszn.pkSMEV3.TFSAttachmentList;

Описание

Извлекает из разобранных XML-данных список вложений, передаваемых через файловое хранилище СМЭВ.
Параметры:

  • iSPRDTagID - ID тега SenderProvidedRequestData/SenderProvidedResponseData.

Данные извлекаются в текущей версии схемы, для её задания необходимо вызватьpkXML_SMEV3.SetSMEVSchemaVersion.
Если список вложений отсутствует, возвращает пустой список.
Если вложения есть, но не содержат обязательные данные, возникает exception.

Get_GetRequestResponse

PROCEDURE Get_GetRequestResponse(iOperationTagID PLS_INTEGER, Response OUT uszn.pkSMEV3.TGetRequestResponse, iDataRootTagID OUT PLS_INTEGER);

Описание

Извлекает из разобранных XML-данных ответ на вызов метода GetRequest.
Параметры:

  • iOperationTagID - ID тега <GetRequestResponse>;
  • Response - структурированные данные ответа;
  • iDataRootTagID - ID тега с данными запроса, специфичными для вида сведений.

Данные извлекаются в текущей версии схемы, для её задания необходимо вызватьpkXML_SMEV3.SetSMEVSchemaVersion.
Если необходимые данные не найдены, возникает exception.

Get_GetResponseResponse

PROCEDURE Get_GetResponseResponse(iOperationTagID PLS_INTEGER, Response OUT uszn.pkSMEV3.TGetResponseResponse, iDataRootTagID OUT PLS_INTEGER);

Описание

Извлекает из разобранных XML-данных ответ на вызов метода GetResponse.
Параметры:

  • iOperationTagID - ID тега <GetResponseResponse>;
  • Response - структурированные данные ответа;
  • iDataRootTagID - ID тега с данными запроса, специфичными для вида сведений.

Данные извлекаются в текущей версии схемы, для её задания необходимо вызватьpkXML_SMEV3.SetSMEVSchemaVersion.
Если необходимые данные не найдены, возникает exception.

Get_SendRequestResponse

PROCEDURE Get_SendRequestResponse(iSOAPBodyTagID PLS_INTEGER, Response OUT uszn.pkSMEV3.TSendRequestResponse);

Описание

Извлекает из разобранных XML-данных синхронный ответ на вызов метода SendRequestRequest.
Параметры:

  • iSOAPBodyTagID - ID тега <soap:Body>;
  • Response - структурированные данные синхронного ответа.

Данные извлекаются в текущей версии схемы, для её задания необходимо вызватьpkXML_SMEV3.SetSMEVSchemaVersion.
Если необходимые данные не найдены, возникает exception.

ParseDirectiveRegistry

PROCEDURE ParseDirectiveRegistry(iParentTagID PLS_INTEGER, iStrictSingleRecord PLS_INTEGER, TagsInfo OUT TDirectiveTags);

Описание

Извлекает из разобранных XML-данных информацию о служебных тегах реестра директивных видов сведений.
Входные параметры:

  • iParentTagID - родительский тег; должен быть корневым тегом вида сведений;
  • iStrictSingleRecord - требуется ли в данных ровно одна запись реестра (0/1).

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

  • TagsInfo - информация о найденных тегах реестра.

Если обязательные теги отсутствуют или содержат некорректные значения, возникает exception.
При наличии нескольких тегов RegistryRecord возникает exception, если iStrictSingleRecord!=0.

Подготовка данных запросов и ответов

AddSignedInfoIDAttrib

PROCEDURE AddSignedInfoIDAttrib(sAttribs IN OUT NOCOPY VARCHAR2, iSignerKind PLS_INTEGER);

Описание

Добавляет в список атрибутов ID подписываемых данных.
Параметры:

  • sAttribs - текущий список атрибутов; дополняется идентификатором;
  • iSignerKind - вид подписанта; константа из числа ISignerKind_xxx.

Если вид подписанта некорректен, возникает exception.

AddSignedInfoTemplate

PROCEDURE AddSignedInfoTemplate(cRequest IN OUT NOCOPY CLOB);

Описание

Добавляет шаблон подписи системы-отправителя.
Параметры:

  • cRequest - данные тега <SendRequestRequest> или <SendResponseRequest>, содержащие <SenderProvidedRequestData> или <SenderProvidedResponseData> соответственно.

Эти данные дополняются пустым тегом <CallerInformationSystemSignature>.

GetDataKindOutMessageTag

FUNCTION GetDataKindOutMessageTag(iDataKindRegionID PLS_INTEGER, iDataKindID PLS_INTEGER, iMessageKindID PLS_INTEGER, sNSPrefix VARCHAR2, cData CLOB, sExtraAttribs VARCHAR2 := NULL) RETURN CLOB;

Описание

Формирует и возвращает корневой тег исходящего сообщения по виду сведений.
Параметры:

  • iDataKindRegionID, iDataKindID - ключ вида сведений;
  • iMessageKindID - ID вида сообщения; константа из числа pkSMEV3.IOutMessageKindID_xxx;
  • sNSPrefix - префикс пространства имён вида сведений;
  • cData - содержимое тега;
  • sExtraAttribs - дополнительные атрибуты.

Если вид сведений не существует, возникает exception.

GetSendRequestRequestTag

FUNCTION GetSendRequestRequestTag(Request uszn.pkSMEV3.TSendRequestRequest) RETURN CLOB;

Описание

Возвращает данные XML для создания запроса.
Параметры:

  • Request - структурированные данные запроса.

GetSendResponseRequestTag

FUNCTION GetSendResponseRequestTag(Response uszn.pkSMEV3.TSendResponseRequest) RETURN CLOB;

Описание

Возвращает данные XML для ответа на запрос.
Параметры:

  • Response - структурированные данные ответа.

GetRequestEnvelope

FUNCTION GetRequestEnvelope(cHeader CLOB, cBody CLOB) RETURN BLOB;

Описание

Формирует SOAP-конверт.
Параметры:

  • cHeader - данные тега <Header>; если null, тег <Header> не создаётся;
  • cBody - данные тега <Body>.

Переводит ответ в UTF-8 и добавляет псевдотег <?xml version=...?>.