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