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

pkSMEV2Call.sql

Ошибки

Error_NoRequest

PROCEDURE Error_NoRequest(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception “Запрос ... не найден”.

Error_NoRequestCall

PROCEDURE Error_NoRequestCall(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception “Запись отправки запроса ... не найдена”.

Error_NoCallProcessing

PROCEDURE Error_NoCallProcessing(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception “Запись обработки отправленного запроса ... не найдена”.

Error_RequestIsNotDelivered

PROCEDURE Error_RequestIsNotDelivered(iRegionID PLS_INTEGER, iCallID PLS_INTEGER);

Описание

Вызывает exception “Запрос ... не был доставлен”.

Error_RequestHasNoData

PROCEDURE Error_RequestHasNoData(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception “Запрос не содержит данных”.

Конфигурация

GetMaxFailedCallCount

FUNCTION GetMaxFailedCallCount RETURN PLS_INTEGER;

Описание

Возвращает максимальное количество сбоев при отправке запроса, после которого его отправка прекращается.

GetFailedCallTimeout

FUNCTION GetFailedCallTimeout RETURN PLS_INTEGER;

Описание

Возвращает интервал в секундах между повторными вызовами в случае сбоя при отправке запроса.

GetSvcOpRequestStatus

FUNCTION GetSvcOpRequestStatus(iOperationRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает статус запроса для указанной операции веб-сервиса через значение соответствующего атрибута.
Параметры:

  • iOperationRegionID, iOperationID - ключ операции;
  • iStrict - определяет поведение, если операция не существует, значение атрибута не задано или ошибочно.

GetSvcOpMsgServiceName

FUNCTION GetSvcOpMsgServiceName(iOperationRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование сервиса для указанной операции веб-сервиса через значение соответствующего атрибута.
Параметры:

  • iOperationRegionID, iOperationID - ключ операции;
  • iStrict - определяет поведение, если операция не существует, значение атрибута не задано или ошибочно.

GetSvcOpMsgService

FUNCTION GetSvcOpMsgService(iOperationRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iStrict PLS_INTEGER) RETURN uszn.pkSMEV.TService;

Описание

Возвращает мнемонику и версию сервиса для указанной операции веб-сервиса через значение соответствующих атрибутов.
Параметры:

  • iOperationRegionID, iOperationID - ключ операции;
  • iStrict - определяет поведение, если операция не существует, значение атрибутов не задано или ошибочно.

GetSvcOpMsgTypeCode

FUNCTION GetSvcOpMsgTypeCode(iOperationRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает декодированный код типа сообщения для указанной операции веб-сервиса через значение соответствующего
атрибута.
Параметры:

  • iOperationRegionID, iOperationID - ключ операции;
  • iStrict - определяет поведение, если операция не существует, значение атрибута не задано или ошибочно.

GetSvcOpRequestTimeout

FUNCTION GetSvcOpRequestTimeout(iOperationRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iIsFirstCall PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает задержку в минутах до отправки запроса для указанной операции веб-сервиса с момента постановки его в
очередь или после получения ответа, требующего повторной отправки, через значение соответствующего атрибута.
Параметры:

  • iOperationRegionID, iOperationID - ключ операции;
  • iIsFirstCall - первая ли это отправка запроса (1) или повторная (0);
  • iStrict - определяет поведение, если операция не существует, значение атрибута не задано или ошибочно.

Подготовка, отправка и обработка запросов

AllocateNewRequestID

FUNCTION AllocateNewRequestID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает новый ID записи запроса в заданном районе.

AllocateNewCallID

FUNCTION AllocateNewCallID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает новый ID записи отправки запроса в заданном районе.

AllocateNewCallProcessingID

FUNCTION AllocateNewCallProcessingID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает новый ID записи обработки результатов запроса в заданном районе.

CheckRequestExists

PROCEDURE CheckRequestExists(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER);

Описание

Проверяет, что запрос существует, и если это не так, вызывает exception.
Параметры:

  • iRegionID, iRequestID - ключ запроса.

LockRequest

PROCEDURE LockRequest(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER);

Описание

Устанавливает эксклюзивную блокировку на запрос.
Параметры:

  • iRegionID, iRequestID - ключ запроса.

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

GetRootRequestID

FUNCTION GetRootRequestID(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID корневого запроса для цепочки запросов.
Параметры:

  • iRegionID, iRequestID - ключ запроса.

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

GetRequestChain

FUNCTION GetRequestChain(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN uszn.TIntegerList;

Описание

Возвращает список ID запросов, связанных с указанным запросом. Поиск выполняется как вверх, так и вниз по иерархии
связанных запросов.
Параметры:

  • iRegionID, iRequestID - ключ запроса.

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

GetRequestPDocID

FUNCTION GetRequestPDocID(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID документа с данными запроса.
Параметры:

  • iRegionID, iRequestID - ключ запроса.

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

GetRequestScheduledTime

FUNCTION GetRequestScheduledTime(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN DATE;

Описание

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

  • iRegionID, iRequestID - ключ запроса.

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

GetRequestStatusID

FUNCTION GetRequestStatusID(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID статуса запроса.
Параметры:

  • iRegionID, iRequestID - ключ запроса.

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

UpdateRequestData

PROCEDURE UpdateRequestData(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER, bRequestData BLOB, iIsSigned PLS_INTEGER);

Описание

Сохраняет данные запроса и признак того, подписаны ли они ЭП.
Параметры:

  • iRegionID, iRequestID - ключ запроса;
  • bRequestData - содержимое запроса (конверт SOAP с ЭП или без неё);
  • iIsSigned - содержат ли данные запроса ЭП (0/1).

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

SchedulePrimaryRequest

FUNCTION SchedulePrimaryRequest(
    iRegionID PLS_INTEGER, iRequestPDocID PLS_INTEGER, rIncomingMessageGUID RAW,
    iOperationRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iRecipientRegionID PLS_INTEGER, iRecipientID PLS_INTEGER,
    ExtraIntParams IN uszn.TString30WithIDList,
    iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL) RETURN PLS_INTEGER;

Описание

Ставит в очередь первичный запрос.
Параметры:

  • iRegionID, iRequestPDocID - ключ экземпляра персонального документа с данными запроса;
  • rIncomingMessageGUID - GUID входящего сообщения, если запрос отправляется в ответ на входящее сообщение в асинхронном режиме, иначе null;
  • iOperationRegionID, iOperationID - ключ операции вызываемого веб-сервиса;
  • iRecipientRegionID, iRecipientID - ключ участника обмена, которому адресовано сообщение;
  • ExtraIntParams - список дополнительных целочисленных входных параметров;
  • iAudOriginID - ID источника события для аудита по документу;
  • sAudNotes - примечания для аудита по документу.

Возвращает ID записи запроса в очереди.
Если документ с данными запроса не существует или первичный запрос по нему уже есть в очереди, возникает exception.

ScheduleSecondaryRequest

FUNCTION ScheduleSecondaryRequest(
    iRegionID PLS_INTEGER, iOriginRequestID PLS_INTEGER,
    iOperationRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iRecipientRegionID PLS_INTEGER, iRecipientID PLS_INTEGER,
    ExtraIntParams IN uszn.TString30WithIDList,
    iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL) RETURN PLS_INTEGER;

Описание

Ставит в очередь повторный запрос.
Параметры:

  • iRegionID, iOriginRequestID - ключ первичного запроса;
  • iOperationRegionID, iOperationID - ключ операции вызываемого веб-сервиса;
  • iRecipientRegionID, iRecipientID - ключ участника обмена, которому адресовано сообщение; если null, то адресат берётся из первичного запроса;
  • ExtraIntParams - список дополнительных целочисленных входных параметров;
  • iAudOriginID - ID источника события для аудита по документу;
  • sAudNotes - примечания для аудита по документу.

Возвращает ID записи запроса в очереди.
Если первичный запрос не существует, возникает exception.

ScheduleCustomRequest

FUNCTION ScheduleCustomRequest(
    iRegionID PLS_INTEGER, rIncomingMessageGUID RAW,
    iOperationRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iRecipientRegionID PLS_INTEGER, iRecipientID PLS_INTEGER,
    ExtraIntParams IN uszn.TString30WithIDList) RETURN PLS_INTEGER;

Описание

Ставит в очередь запрос с произвольными данными, не связанный с экземпляром персонального документа.
Параметры:

  • iRegionID - ID района создаваемого запроса;
  • rIncomingMessageGUID - GUID входящего сообщения, если запрос отправляется в ответ на входящее сообщение в асинхронном режиме, иначе null;
  • iOperationRegionID, iOperationID - ключ операции вызываемого веб-сервиса;
  • iRecipientRegionID, iRecipientID - ключ участника обмена, которому адресовано сообщение; если null, то адресат берётся из первичного запроса;
  • ExtraIntParams - список дополнительных целочисленных входных параметров.

Возвращает ID записи запроса в очереди.
Если первичный запрос не существует, возникает exception.

ScheduleRequest

FUNCTION ScheduleRequest(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER, dSendTime DATE) RETURN DATE;

Описание

Ставит существующий запрос на выполнение в заданное время.
Возвращает предыдущее значение времени отправки.
Параметры:

  • iRegionID, iRequestID - ключ запроса;
  • dSendTime - желаемая дата и время отправки запроса.

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

UnscheduleRequest

FUNCTION UnscheduleRequest(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN DATE;

Описание

Отменяет отправку запроса в СМЭВ. Возвращает предыдущее значение предполагаемого времени отправки.
Параметры:

  • iRegionID, iRequestID - ключ запроса.

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

RepeatCall

PROCEDURE RepeatCall(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER, iMaxAttemptCount PLS_INTEGER, iReplyTimeLimit PLS_INTEGER);

Описание

iReplyTimeLimit - время в минутах, отведённое на обработку запроса; отсчитывается начиная с момента отправки первого запроса, ответ на который был успешно обработан; если null, ограничения по времени обработки нет.
Если максимальное разрешённое количество попыток уже было выполнено или истекло время, отведённое на обработку,
возникает exception.
Если запрос не существует, возникает exception.

RepeatFailedCall

PROCEDURE RepeatFailedCall(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER);

Описание

Ставит неудачно завершившийся запрос в очередь на повторную отправку.
Выполняется только в том случае, если отправка запроса ещё не запланирована, в противном случае заданное время
отправки остаётся без изменения. Запрос также не ставится в очередь на повторное выполнение, если неудачных
попыток не было или последняя попытка была успешной.
Параметры:

  • iRegionID, iRequestID - ключ запроса.

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

GetCallToProcessIDs

FUNCTION GetCallToProcessIDs(iRegionID PLS_INTEGER, iMaxRecordCount PLS_INTEGER) RETURN uszn.TIntegerList;

Описание

Возвращает список ID записей об отправке запроса, подлежащих обработке.
Параметры:

  • iRegionID - ID района;
  • iMaxRecordCount - максимальное допустимое количество записей, которое возвращает функция.

ProcessRequestResult

FUNCTION ProcessRequestResult(iRegionID PLS_INTEGER, iCallID PLS_INTEGER, iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL) RETURN PLS_INTEGER;

Описание

Обрабатывает результат запроса.
Параметры:

  • iRegionID, iCallID - ключ записи об отправке запроса;
  • iAudOriginID - ID источника события для аудита по документу;
  • sAudNotes - примечания для аудита по документу.

Запрос должен существовать и быть успешно отправлен в СМЭВ.
Возвращает ID записи с информацией об обработке.

GetCallState

FUNCTION GetCallState(iRegionID PLS_INTEGER, iCallID PLS_INTEGER) RETURN uszn.pkSMEVCall.TCallState;

Описание

Возвращает состояние записи об отправке запроса в СМЭВ.
Параметры:

  • iRegionID, iCallID - ключ записи об отправке запроса.

Если запись об отправке запроса не существует, возникает exception.

GetCallProcessingState

FUNCTION GetCallProcessingState(iRegionID PLS_INTEGER, iCallProcessingID PLS_INTEGER) RETURN uszn.pkSMEVCall.TCallProcessingState;

Описание

Возвращает состояние записи об обработке запроса, отправленного в СМЭВ.
Параметры:

  • iRegionID, iCallProcessingID - ключ записи об обработке отправленного запроса.

Если запись об обработке отправленного запроса не существует, возникает exception.

GetCallProcessingLog

FUNCTION GetCallProcessingLog(iRegionID PLS_INTEGER, iCallProcessingID PLS_INTEGER) RETURN CLOB;

Описание

Возвращает протокол обработки запроса, отправленного в СМЭВ.
Параметры:

  • iRegionID, iCallProcessingID - ключ записи об обработке отправленного запроса.

Если запись об обработке отправленного запроса не существует, возникает exception.

GetCalledRequestID

FUNCTION GetCalledRequestID(iRegionID PLS_INTEGER, iCallID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

  • iRegionID, iCallID - ключ записи об отправке запроса.

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

GetReplyStatusID

FUNCTION GetReplyStatusID(iRegionID PLS_INTEGER, iCallID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID статуса ответа для записи об отправке запроса.
Параметры:

  • iRegionID, iCallID - ключ записи об отправке запроса.

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

GetLastCallID

FUNCTION GetLastCallID(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

  • iRegionID, iRequestID - ключ запроса.

Если запрос ещё ни разу не отправлялся, возвращает null.
Если запрос не существует, возникает exception.

GetFirstSendTime

FUNCTION GetFirstSendTime(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN DATE;

Описание

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

  • iRegionID, iRequestID - ключ запроса.

Если попыток отправки не было, возвращает null.
Если запрос не существует, возникает exception.

GetLastSendTime

FUNCTION GetLastSendTime(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN DATE;

Описание

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

  • iRegionID, iRequestID - ключ запроса.

Если попыток отправки не было, возвращает null.
Если запрос не существует, возникает exception.

GetLastFailedCallCount

FUNCTION GetLastFailedCallCount(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает количество произошедших подряд сбоев при отправке запроса, начиная с последней отправки, допускающих
повторную отправку запроса до достижения максимально допустимого количества сбоев.
Параметры:

  • iRegionID, iRequestID - ключ запроса.

Если запрос ещё ни разу не отправлялся, возвращает 0.
Если запрос не существует, возникает exception.

GetFirstSuccessfulCallTime

FUNCTION GetFirstSuccessfulCallTime(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN DATE;

Описание

Возвращает дату и время отправки первого успешно или частично успешно обработанного ответов.
Параметры:

  • iRegionID, iRequestID - ключ запроса.

Если успешно обработанных попыток отправки не было, возвращает null.
Если запрос не существует, возникает exception.

GetSuccessfulCallCount

FUNCTION GetSuccessfulCallCount(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает количество успешно или частично успешно обработанных ответов.
Параметры:

  • iRegionID, iRequestID - ключ запроса.

Если запрос ещё ни разу не отправлялся, возвращает 0.
Если запрос не существует, возникает exception.

Универсальные функции для подготовки запросов

CreateRequestMessage

FUNCTION CreateRequestMessage(iRegionID PLS_INTEGER, iRequestID PLS_INTEGER) RETURN  uszn.pkSMEV.TMessage;

Описание

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

  • iRegionID, iRequestID - ключ запроса в очереди.

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

GetRequestEnvelope

FUNCTION GetRequestEnvelope(
    iRegionID PLS_INTEGER, iRequestID PLS_INTEGER, sSOAPNSPrefix VARCHAR2, sSMEVNSPrefix VARCHAR2, sRequestNSPrefix VARCHAR2,
    Message uszn.pkSMEV.TMessage, cAppData CLOB, cAppDocument CLOB := NULL, sEnvelopeAttribs VARCHAR2 := NULL) RETURN CLOB;

Описание

Формирует и возвращает готовый тег <soap:envelope> из предоставленных данных.
Параметры:

  • iRegionID, iRequestID - ключ запроса в очереди;
  • sSOAPNSPrefix - префикс пространства имён SOAP;
  • sSMEVNSPrefix - префикс пространства имён СМЭВ;
  • sRequestNSPrefix - префикс пространства имён запроса;
  • Message - данные служебного блока атрибутов сообщения СМЭВ;
  • cAppData - данные для формирования служебного блока структурированных сведений;
  • cAppDocument - данные для формирования служебного блока вложений (опционально);
  • sEnvelopeAttribs - дополнительные атрибуты для тега <envelope> (опционально).

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