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

pkGenericSvcIntf.sql

Отправка запросов

GetScheduledRequestIDs

FUNCTION GetScheduledRequestIDs(iRegionID PLS_INTEGER, iMaxCount PLS_INTEGER) RETURN uszn.TIntegerList;

Описание

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

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

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

GetRequestData

PROCEDURE GetRequestData(
  iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER,
  iSvcOpRegionID OUT PLS_INTEGER, iSvcOpID OUT PLS_INTEGER,
  bRequestData OUT BLOB, sRequestURL OUT VARCHAR2, sRequestMethod OUT VARCHAR2, sRequestMediaType OUT VARCHAR2, sRequestEncoding OUT VARCHAR2,
  sBasicAuthUsername OUT VARCHAR2, sBasicAuthPassword OUT VARCHAR2,
  sOAuth2TokenEndpointURL OUT VARCHAR2, sOAuth2TokenRequestParams OUT VARCHAR2,
  sSOAPAction OUT VARCHAR2, sKeyContainerName OUT VARCHAR2, iGostVersion OUT PLS_INTEGER,
  iForDelivery PLS_INTEGER := 1);
-- Регистрирует факт успешной отправки запроса.
-- Параметры:
--   iRegionID, iOutMessageID - ключ исходящего сообщения;
--   dSendTime                - дата и время отправки;
--   iDataSentUnchanged       - были ли данные запроса отправлены в неизменном виде (0/1);
--   bDataSent                - отправленные данные; null, если данные запроса были отправлены в неизменном виде;
--   bReplyData               - ответ сервиса;
--   sReplyMediaType          - тип содержимого ответа;
--   sReplyEncoding           - кодировка ответа;
--   iIsReplySignatureValid   - валидна ли ЭЦП ответа (0/1); null, если ответ не содержит или не требует подписи.
-- Если запрос не существует или заблокировано, возникает exception.
PROCEDURE MessageDelivered(
  iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER,

Описание

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

  • iRegionID, iOutMessageID - ключ исходящего сообщения.

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

  • iSvcOpRegionID, iSvcOpID - ключ операции вызываемого веб-сервиса;
  • bRequestData - данные запроса;
  • sRequestURL - URL для отправки запроса;
  • sRequestMethod - метод вызова (GET, POST и т.п.);
  • sRequestMediaType - MIME-тип содержимого;
  • sRequestEncoding - кодировка символов;
  • sBasicAuthUsername - имя пользователя для базовой авторизации;
  • sBasicAuthPassword - пароль для базовой авторизации;
  • sOAuth2TokenEndpointURL - URL для запроса получения токена доступа OAuth2; null, если OAuth2 не используется;
  • sOAuth2TokenRequestParams - параметры для запроса получения токена доступа OAuth2;
  • sSOAPAction - значение свойства SOAPAction заголовка HTTP при отправке запроса; заполняется только для сервисов, работающих по протоколу SOAP;
  • sKeyContainerName - наименование ключевого контейнера, которым при необходимости будет подписываться отправляемое сообщение; null, если у отправителя не задан сертификат ЭП;
  • iGostVersion - идентификатор версии ГОСТ; null, если у отправителя не задан сертификат ЭП;
  • iForDelivery - признак, что данные запрашиваются для доставки запроса (0/1).

Если запрос не существует или заблокирован, возникает exception.
Кроме того, exception возникает в случае, если для сервиса не задан URL для отправки запросов.

MessageDelivered

PROCEDURE MessageDelivered(
  iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER,
  dSendTime DATE, iDataSentUnchanged PLS_INTEGER, bDataSent BLOB,
  bReplyData BLOB, sReplyMediaType VARCHAR2, sReplyEncoding VARCHAR2, iIsReplySignatureValid PLS_INTEGER);
-- Добавляет запись о неудачной отправке запроса.
-- Параметры:
--   iRegionID, iOutMessageID - ключ исходящего сообщения;
--   dSendTime                - дата и время отправки;
--   iDataSentUnchanged       - были ли данные запроса отправлены в неизменном виде (0/1);
--   bDataSent                - отправленные данные;
--   bReplyData               - ответ сервиса;
--   sReplyMediaType          - тип содержимого ответа;
--   sReplyEncoding           - кодировка ответа;
--   sErrorMessage            - сообщение с описанием ошибки.
-- Если запрос не существует или заблокирован, возникает exception.
PROCEDURE MessageDeliveryFailed(
  iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER,
  dSendTime DATE, iDataSentUnchanged PLS_INTEGER, bDataSent BLOB,
  bReplyData BLOB, sReplyMediaType VARCHAR2, sReplyEncoding VARCHAR2, sErrorMessage VARCHAR2);
 
END;

Описание

Регистрирует факт успешной отправки запроса.
Параметры:

  • iRegionID, iOutMessageID - ключ исходящего сообщения;
  • dSendTime - дата и время отправки;
  • iDataSentUnchanged - были ли данные запроса отправлены в неизменном виде (0/1);
  • bDataSent - отправленные данные; null, если данные запроса были отправлены в неизменном виде;
  • bReplyData - ответ сервиса;
  • sReplyMediaType - тип содержимого ответа;
  • sReplyEncoding - кодировка ответа;
  • iIsReplySignatureValid - валидна ли ЭЦП ответа (0/1); null, если ответ не содержит или не требует подписи.

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

MessageDeliveryFailed

PROCEDURE MessageDeliveryFailed(
  iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER,
  dSendTime DATE, iDataSentUnchanged PLS_INTEGER, bDataSent BLOB,
  bReplyData BLOB, sReplyMediaType VARCHAR2, sReplyEncoding VARCHAR2, sErrorMessage VARCHAR2);
 
END;
 
/
CREATE OR REPLACE PACKAGE BODY uszn.pkGenericSvcIntf IS
 
Resource_Busy EXCEPTION;
PRAGMA exception_init(Resource_Busy, -54);
 
-- Ключи атрибутов вызываемых веб-сервисов
-- -- Автоматическая пометка об отправке
IAttrRgnID_AutoSentMark        CONSTANT PLS_INTEGER := 0;
IAttrID_AutoSentMark           CONSTANT PLS_INTEGER := 12;
-- -- Отключить автоматический повтор при сбое
IAttrRgnID_AutoRepeatOff       CONSTANT PLS_INTEGER := 0;
IAttrID_AutoRepeatOff          CONSTANT PLS_INTEGER := 13;

Описание

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

  • iRegionID, iOutMessageID - ключ исходящего сообщения;
  • dSendTime - дата и время отправки;
  • iDataSentUnchanged - были ли данные запроса отправлены в неизменном виде (0/1);
  • bDataSent - отправленные данные;
  • bReplyData - ответ сервиса;
  • sReplyMediaType - тип содержимого ответа;
  • sReplyEncoding - кодировка ответа;
  • sErrorMessage - сообщение с описанием ошибки.

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