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

pkXML_SOAP.sql

Формирование конвертов SOAP

GetEnvelopeTag

FUNCTION GetEnvelopeTag(sNSPrefix VARCHAR2, cHeader CLOB, cBody CLOB, sAttributes VARCHAR2) RETURN CLOB;

Описание

Возвращает тег <envelope> с заданными данными тегов <header> и <body>.
Параметры:

  • sNSPrefix - префикс пространства имён SOAP;
  • cHeader - содержимое тега <header> (без самого тега);
  • cBody - содержимое тега <body> (без самого тега).

GetFaultEnvelopeTag

FUNCTION GetFaultEnvelopeTag(sNSPrefix VARCHAR2, sFaultCode VARCHAR2, sFaultString VARCHAR2, cDetail CLOB := NULL) RETURN CLOB;

Описание

Возвращает тег <envelope> с сообщением об ошибке SOAP.
Параметры:

  • sNSPrefix - префикс пространства имён SOAP;
  • sFaultCode - код ошибки; должна быть одна из констант SFaultCode_xxx;
  • sFaultString - сообщение об ошибке;
  • cDetail - данные с детализированной информацией об ошибке при обработке тега <body> согласно спецификации SOAP.

GetSQLExceptionDetail

FUNCTION GetSQLExceptionDetail(sErrorNSPrefix VARCHAR2, sSQLErrM VARCHAR2, iSQLErrCode PLS_INTEGER) RETURN CLOB;

Описание

Возвращает содержимое для тега <detail> для последующей подстановки в SoapFault с сообщением об ошибке SQL в iSZN.
Параметры:

  • sErrorNSPrefix - префикс пространства имён ошибок SQL в iSZN;
  • sSQLErrM - сообщение об ошибке SQL;
  • iSQLErrCode - код ошибки SQL.

GetSOAPFaultTag

FUNCTION GetSOAPFaultTag(sMessage VARCHAR2, iIsServerFault PLS_INTEGER) RETURN CLOB;

Описание

Формирует и возвращает <soap:envelope> с сообщением SoapFault без элемента <Detail>.
Должен вызываться при сбое, не связанном с обработкой элемента <body>.
Параметры:

  • sMessage - текст сообщения об ошибке;
  • iIsServerFault - является ли источником ошибки сервер (1) или клиент (0).

Префиксы пространства имён задаются по умолчанию.

GetSOAPFaultTagEx

FUNCTION GetSOAPFaultTagEx(sErrorMessage VARCHAR2, iErrorCode PLS_INTEGER, iProcessingSOAPBody PLS_INTEGER, iIsServerFault PLS_INTEGER) RETURN CLOB;

Описание

Формирует и возвращает <soap:envelope> с сообщением SoapFault с элементом <Detail> или без него.
Параметры:

  • sErrorMessage - текст сообщения об ошибке;
  • iErrorCode - код ошибки;
  • iProcessingSOAPBody - возникла ли ошибка при обработке <soap:body> (0/1);
  • iIsServerFault - является ли источником ошибки сервер (1) или клиент (0).

Если ошибка связана с обработкой <soap:body>, создаётся конверт с описанием ошибки SQL.
Префиксы пространства имён задаются по умолчанию.

GetSOAPBodyFaultTag_SQLErr

FUNCTION GetSOAPBodyFaultTag_SQLErr(sMessage VARCHAR2, sSQLErrM VARCHAR2, iSQLErrCode PLS_INTEGER, iIsServerFault PLS_INTEGER) RETURN CLOB;

Описание

Формирует и возвращает <soap:envelope> с сообщением SoapFault для ошибки SQL при обработке тега <body>.
Параметры:

  • sMessage - текст сообщения об ошибке;
  • sSQLErrM - текст ошибки SQL;
  • iSQLErrCode - код ошибки SQL;
  • iIsServerFault - является ли источником ошибки сервер (1) или клиент (0).

Префиксы пространства имён задаются по умолчанию.

Загрузка данных из разобранных конвертов SOAP

GetEnvelopeTagID

FUNCTION GetEnvelopeTagID(iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Находит и возвращает ID тега <envelope>. Если такой тег не найден, поведение определяется параметром iStrict. Согласно спецификации SOAP, тег <envelope> должен быть корневым элементом документа.

GetHeaderTagID

FUNCTION GetHeaderTagID(iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Находит и возвращает ID тега <header>. Если такой тег не найден, поведение определяется параметром iStrict. Согласно спецификации SOAP, тег <header> должен быть дочерним элементом тега <envelope>.

GetBodyTagID

FUNCTION GetBodyTagID(iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Находит и возвращает ID тега <body>. Если такой тег не найден, поведение определяется параметром iStrict. Согласно спецификации SOAP, тег <body> должен быть дочерним элементом тега <envelope>.

IsFault

FUNCTION IsFault(iBodyTagID PLS_INTEGER, sFaultCode OUT VARCHAR2, sFaultMessage OUT VARCHAR2, iDetailTagID OUT PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает, содержится ли в теле конверта SOAP тег <fault> (0/1).
Параметры:

  • iBodyTagID - ID тега <body>;
  • sFaultCode - значение тега <faultCode> (без префикса пространства имён);
  • sFaultMessage - текст сообщения об ошибке;
  • iDetailTagID - ID тега <detail> (null, если тег <detail> отсутствует).

Если функция вернула 0, значение out-параметров не определено.

IsFaultCodeInheritedFrom

FUNCTION IsFaultCodeInheritedFrom(sFaultCode VARCHAR2, sFaultCodeRoot VARCHAR2) RETURN PLS_INTEGER deterministic;

Описание

Возвращает, является ли тега <faultCode> расширением заданного базового значения (0/1).
Параметры:

  • sFaultCode - проверяемое значение тега <faultCode> без префикса пространства имён;
  • sFaultCodeRoot - базовое значение тега <faultCode> без префикса пространства имён.

Согласно спецификации SOAP, значение тега <faultCode> может быть расширено в dot-нотации, например:
Client.Authentication.