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

pkSMEVProv.sql

Ошибки

Error_NoService

PROCEDURE Error_NoService(iRegionID PLS_INTEGER, iServiceID PLS_INTEGER);

Описание

Вызывает exception “Веб-сервис ... не найден”.

Error_NoService

PROCEDURE Error_NoService(iServiceRegionID PLS_INTEGER, sServiceName VARCHAR2);

Error_NoSvcOperation

PROCEDURE Error_NoSvcOperation(iRegionID PLS_INTEGER, iOperationID PLS_INTEGER);

Описание

Вызывает exception “Метод веб-сервиса ... не найден”.

Error_NoSvcOperation

PROCEDURE Error_NoSvcOperation(iServiceRegionID PLS_INTEGER, iServiceID PLS_INTEGER, sOperationName VARCHAR2, sNSURI VARCHAR2);

Error_NoMessage

PROCEDURE Error_NoMessage(rMessageGUID RAW);

Описание

Вызывает exception “Сообщение не найдено”.

Error_NoMessage

PROCEDURE Error_NoMessage(iMessageID PLS_INTEGER);

Error_NoMessageProcessing

PROCEDURE Error_NoMessageProcessing(iMessageProcessingID PLS_INTEGER);

Описание

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

Error_MessageNotProcessed

PROCEDURE Error_MessageNotProcessed(rMessageGUID RAW);

Описание

Вызывает exception “Сообщение ещё не обработано”.

Error_AlreadyProcessed

PROCEDURE Error_AlreadyProcessed(rMessageGUID RAW);

Описание

Вызывает exception “Сообщение уже обработано”.

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

GetSigCertificateID

FUNCTION GetSigCertificateID(iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

  • iStrict - определяет поведение при отсутствии значения настройки.

GetConnectParamList

FUNCTION GetConnectParamList(iServiceRegionID PLS_INTEGER, iServiceID PLS_INTEGER, iOnlyWithPassword PLS_INTEGER) RETURN TProvSvcConnectParamList;

Описание

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

  • iServiceRegionID, iServiceID - ключ веб-сервиса;
  • iOnlyWithPassword - не возвращать параметры подключения для пользователей, у которых пароль не сохранён в БД (0/1).

Если веб-сервис не существует, возникает exception.
Если параметры подключения к веб-сервису не заданы, возвращает пустой список.

Работа с сервисами и их методами

GetServiceName

FUNCTION GetServiceName(iRegionID PLS_INTEGER, iServiceID PLS_INTEGER, iNameKind PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование веб-сервиса.
Параметры:

  • iRegionID - ID района веб-сервиса;
  • iServiceID - ID веб-сервиса;
  • iNameKind - вид наименование: 0 - техническое, 1 - отображаемое;
  • iStrict - поведение при отсутствии указанного веб-сервиса.

GetSvcSMEVVersionID

FUNCTION GetSvcSMEVVersionID(iRegionID PLS_INTEGER, iServiceID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID версии СМЭВ веб-сервиса.
Параметры:

  • iRegionID, iServiceID - ключ веб-сервиса.

При отсутствии веб-сервиса возникает exception.

SetSvcSMEVNamespace

PROCEDURE SetSvcSMEVNamespace(iServiceRegionID PLS_INTEGER, iServiceID PLS_INTEGER, sXMLNSPrefix VARCHAR2 := uszn.pkXML_SMEV2.xmlns_SMEV_Default);

Описание

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

  • iServiceRegionID, iServiceID - ключ веб-сервиса;
  • sXMLNSPrefix - префикс пространства имён СМЭВ.

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

GetSvcOperationName

FUNCTION GetSvcOperationName(iRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iNameKind PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование метода веб-сервиса.
Параметры:

  • iRegionID - ID района веб-сервиса;
  • iOperationID - ID метода;
  • iNameKind - вид наименование: 0 - техническое, 1 - отображаемое;
  • iStrict - поведение при отсутствии операции.

GetServiceByName

FUNCTION GetServiceByName(iServiceRegionID PLS_INTEGER, sServiceName VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Находит веб-сервис по его техническому наименованию.
Параметры:

  • iServiceRegionID - ID района веб-сервиса;
  • sServiceName - наименование веб-сервиса (нечувствительное к регистру);
  • iStrict - поведение при отсутствии указанного веб-сервиса.

Возвращает ID найденного веб-сервиса или null, если такого не найдено.

GetSvcOperationByName

FUNCTION GetSvcOperationByName(iServiceRegionID PLS_INTEGER, iServiceID PLS_INTEGER, sOperationName VARCHAR2, sNSURI VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Находит операцию веб-сервиса по его наименованию и возвращает её ID.
Параметры:

  • iServiceRegionID, iServiceID - ключ веб-сервиса;
  • sOperationName - наименование операции веб-сервиса (нечувствительное к регистру);
  • sNSURI - URI пространства имён операции веб-сервиса (чувствительное к регистру);
  • iStrict - поведение при отсутствии указанного веб-сервиса или операции.

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

ReceiveMessage

FUNCTION ReceiveMessage(
    sCallerAddress VARCHAR2, iServiceRegionID PLS_INTEGER, sServiceName VARCHAR2,
    iRequestRegionID PLS_INTEGER, bRequestData BLOB, iIsSignatureValid PLS_INTEGER) RETURN BLOB;

Описание

Обрабатывает сообщение, полученное веб-сервисом, и возвращает ответ.
Параметры:

  • sCallerAddress - адрес системы, от которой поступил запрос;
  • iServiceRegionID - ID района веб-сервиса;
  • sServiceName - техническое наименование веб-сервиса (нечувствительное к регистру);
  • iRequestRegionID - ID района, в который адресован запрос;
  • bRequestData - содержимое сообщения СМЭВ;
  • iIsSignatureValid - признак валидности цифровой подписи (0/1).

Возвращает ответ в виде XML-данных тега <soap:envelope> в кодировке UTF-8, в том числе, возможно, SoapFault.
При возникновении фатальных ошибок вызывает соответствующие исключения.

AsyncProcessMessage

FUNCTION AsyncProcessMessage(iMessageID PLS_INTEGER, iForce PLS_INTEGER, iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL) RETURN PLS_INTEGER;

Описание

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

  • iMessageID - ID сообщения;
  • iForce - обрабатывать ли сообщение независимо от того, обработано оно или нет (0/1);
  • iAudOriginID - ID источника события для аудита;
  • sAudNotes - примечания для аудита.

Выполняемые действия определяются самим веб-сервисом.
Возвращает ID записи с информацией об обработке или null, если при обработке произошёл сбой.
Если такого сообщения нет, вызывает exception.

GetRequestToAsyncProcIDs

FUNCTION GetRequestToAsyncProcIDs(iRequestRegionID PLS_INTEGER, iMaxRecordCount PLS_INTEGER) RETURN uszn.TIntegerList;

Описание

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

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

DeleteMessage

PROCEDURE DeleteMessage(iMessageID PLS_INTEGER);

Описание

Удаляет входящее сообщение СМЭВ.
Параметры:

  • iMessageID - ID сообщения.

Если такого сообщения нет, вызывает exception.

Работа с очередью сообщений

GetMessageID

FUNCTION GetMessageID(rMessageGUID RAW, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID сообщения по его GUID.
Параметры:

  • rMessageGUID - GUID сообщение;
  • iStrict - определяет поведение при отсутствии указанного сообщения.

GetMessageGUID

FUNCTION GetMessageGUID(iMessageID PLS_INTEGER, iStrict PLS_INTEGER) RETURN RAW;

Описание

Возвращает GUID сообщения по его ID.
Параметры:

  • iMessageID - ID сообщение;
  • iStrict - определяет поведение при отсутствии указанного сообщения.

GetMessageRegionID

FUNCTION GetMessageRegionID(rMessageGUID RAW, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID района сообщения по его GUID.
Параметры:

  • rMessageGUID - GUID сообщение;
  • iStrict - определяет поведение при отсутствии указанного сообщения.

GetRequestData

FUNCTION GetRequestData(rMessageGUID RAW) RETURN BLOB;

Описание

Возвращает входные данные сообщения.
Параметры:

  • rMessageGUID - GUID сообщения;

Если такого сообщения нет, вызывает exception.

GetResponseData

FUNCTION GetResponseData(rMessageGUID RAW) RETURN BLOB;

Описание

Возвращает данные ответа на сообщение.
Параметры:

  • rMessageGUID - GUID сообщения;

Если такого сообщения нет, вызывает exception.

GetProcessedData

FUNCTION GetProcessedData(rMessageGUID RAW) RETURN BLOB;

Описание

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

  • rMessageGUID - GUID сообщения;

Если такого сообщения нет, вызывает exception.

SetIsAsync

PROCEDURE SetIsAsync(rMessageGUID RAW, iValue PLS_INTEGER);

Описание

Устанавливает у сообщения флаг is_async.
Параметры:

  • rMessageGUID - GUID сообщения;
  • iValue - значение флага (0/1).

Если такого сообщения нет, вызывает exception.
Если флаг уже установлен, ничего не происходит.

SetIsProcessed

PROCEDURE SetIsProcessed(rMessageGUID RAW, iValue PLS_INTEGER);

Описание

Устанавливает у сообщения флаг is_processed.
Параметры:

  • rMessageGUID - GUID сообщения;
  • iValue - значение флага (0/1).

Если такого сообщения нет, вызывает exception.
Если флаг уже установлен, ничего не происходит.

SetIsCancelled

PROCEDURE SetIsCancelled(rMessageGUID RAW, iValue PLS_INTEGER);

Описание

Устанавливает у сообщения флаг is_cancelled.
Параметры:

  • rMessageGUID - GUID сообщения;
  • iValue - значение флага (0/1).

Если такого сообщения нет, вызывает exception.
Если флаг уже установлен, ничего не происходит.

ScheduleAsyncProcessing

PROCEDURE ScheduleAsyncProcessing(rMessageGUID RAW);

Описание

Устанавливает/сбрасывает все необходимые флаги, чтобы сообщение встало в очередь для асинхронной обработки, в том
числе очищает статус ошибки.
Параметры:

  • rMessageGUID - GUID сообщения.

Если такого сообщения нет, возникает exception.

SetResponseData

PROCEDURE SetResponseData(rMessageGUID RAW, cResponseData CLOB, iSetIsProcessed PLS_INTEGER);

Описание

Устанавливает у сообщения ответ.
Параметры:

  • rMessageGUID - GUID сообщения;
  • cResponseData - ответное сообщение SOAP в виде <soap:envelope> в кодировке Windows-1251;
  • iSetIsProcessed - установить ли также флаг is_processed (0/1).

Если такого сообщения нет, вызывает exception.

SetFault

PROCEDURE SetFault(
    rMessageGUID RAW, sErrorMessage VARCHAR2, iErrorCode PLS_INTEGER,
    iSetIsProcessed PLS_INTEGER, iCreateFaultReply PLS_INTEGER, iProcessingSOAPBody PLS_INTEGER, iIsServerFault PLS_INTEGER);
-- Сохраняет результаты асинхронной обработки сообщения в таблицу.
-- Параметры:
--   rMessageGUID    - GUID сообщения;
--   bData           - сохраняемые данные в произвольном формате, определяемом процедурой обработки;
--   iSetIsProcessed - установить ли также флаг is_processed (0/1).
PROCEDURE SetProcessedData(rMessageGUID RAW, bData BLOB, iSetIsProcessed PLS_INTEGER);
-- Возвращает состояние запроса, полученного от СМЭВ.
-- Параметры:
--   iMessageID - ID запроса.
-- Если запрос не существует, возникает exception.
FUNCTION  GetMessageState(iMessageID PLS_INTEGER) RETURN TMessageState;

Описание

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

  • rMessageGUID - GUID сообщения;
  • sErrorMessage - текст сообщения об ошибке;
  • iErrorCode - код ошибки;
  • iSetIsProcessed - установить ли также флаг is_processed (0/1).
  • iCreateFaultReply - сохранять ли в ответное сообщение SoapFault, соответствующий указанной ошибке (0/1);
  • iProcessingSOAPBody - возникла ли ошибка при обработке <soap:body> (0/1); учитывается только при iCreateFaultReply=1 при формировании соответствующего ответа с SoapFault.
  • iIsServerFault - является ли источником ошибки сервер (1) или клиент (0); учитывается только при iCreateFaultReply=1 при формировании соответствующего ответа с SoapFault.

Если такого сообщения нет, возникает exception.

SetProcessedData

PROCEDURE SetProcessedData(rMessageGUID RAW, bData BLOB, iSetIsProcessed PLS_INTEGER);

Описание

Сохраняет результаты асинхронной обработки сообщения в таблицу.
Параметры:

  • rMessageGUID - GUID сообщения;
  • bData - сохраняемые данные в произвольном формате, определяемом процедурой обработки;
  • iSetIsProcessed - установить ли также флаг is_processed (0/1).

GetMessageState

FUNCTION GetMessageState(iMessageID PLS_INTEGER) RETURN TMessageState;

Описание

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

  • iMessageID - ID запроса.

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

GetMessageProcessingState

FUNCTION GetMessageProcessingState(iMessageProcessingID PLS_INTEGER) RETURN TMessageProcessingState;

Описание

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

  • iMessageProcessingID - ID записи об обработке запроса.

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

GetMessageProcessingLog

FUNCTION GetMessageProcessingLog(iMessageProcessingID PLS_INTEGER) RETURN CLOB;

Описание

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

  • iMessageProcessingID - ID записи об обработке запроса.

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