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