Справочник по ошибкам, связанным с нарушением правил

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

Правила AccessControl

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
accesscontrol.IPDeniedAccess 403 IP-адрес клиента или IP-адрес, переданный в запросе к API, соответствует IP-адресу, указанному в элементе <SourceAddress> внутри элемента <MatchRule> правила управления доступом, а атрибут action элемента <MatchRule> имеет значение DENY.

Переменные ошибок

Эти переменные задаются при возникновении ошибки выполнения. Подробнее о переменных, связанных с ошибками правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "IPDeniedAccess"
acl.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. acl.AC-AllowAccess.failed = true

Пример ответа об ошибке

{
   "fault":{
     "faultstring":"Access Denied for client ip : 52.211.243.3"
      "detail":{
         "errorcode":"accesscontrol.IPDeniedAccess"
      }
   }
}

Пример правила обработки ошибок

<FaultRule name="IPDeniedAccess">
    <Step>
        <Name>AM-IPDeniedAccess</Name>
        <Condition>(fault.name Matches "IPDeniedAccess") </Condition>
    </Step>
    <Condition>(acl.failed = true) </Condition>
</FaultRule>

Правила AccessEntity

Дополнительную информацию см. в разделах «Что нужно знать об ошибках политики» и «Обработка ошибок» .

Ошибки выполнения

Никто.

Ошибки развертывания

Название ошибки Строка неисправности Статус HTTP Происходит, когда
InvalidEntityType Invalid type [entity_type] in ACCESSENTITYStepDefinition [policy_name] Н/Д Используемый тип объекта должен быть одним из поддерживаемых типов .

Правило AssignMessage

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.assignmessage.SetVariableFailed 500 Правило не смогло задать переменную. Название неразрешенной переменной можно найти в строке ошибки.
steps.assignmessage.VariableOfNonMsgType 500

Эта ошибка возникает, если атрибуту source элемента <Copy> присвоена переменная, которая не относится к типу message.

Переменные типа сообщения представляют собой полные HTTP-запросы и ответы. Встроенные переменные потока Edge request, response и message имеют тип message. Подробнее о переменных в сообщениях…

steps.assignmessage.UnresolvedVariable 500

Эта ошибка возникает, если переменная, указанная в правиле "Назначить сообщение",

  • недоступно (недоступно в определенном процессе, в котором выполняется правило).
  • или
  • не может быть разрешен (не определен);

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidIndex Если индекс, указанный в элементах <Copy> и/или <Remove> правила "Назначить сообщение", равен 0 или отрицательному числу, развертывание прокси API завершится неудачно.
InvalidVariableName Если дочерний элемент <Name> пуст или не указан в элементе <AssignVariable>, развертывание прокси-сервера API завершится неудачно, поскольку нет действительного имени переменной, которой можно присвоить значение. Укажите допустимое имя переменной.
InvalidPayload Недопустимая полезная нагрузка, указанная в правиле.

Переменные ошибок

Эти переменные задаются, когда правило вызывает ошибку во время выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "UnresolvedVariable"
assignmessage.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. assignmessage.AM-SetResponse.failed = true

Пример ответа об ошибке

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.assignmessage.VariableOfNonMsgType"
      },
      "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message"
   }
}

Пример правила обработки ошибок

    <FaultRule name="Assign Message Faults">    <Step>
        <Name>AM-CustomNonMessageTypeErrorResponse</Name>
        <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition>
    </Step>
    <Step>
        <Name>AM-CustomSetVariableErrorResponse</Name>
        <Condition>(fault.name = "SetVariableFailed")</Condition>
    </Step>
    <Condition>(assignmessage.failed = true) </Condition>
</FaultRule>

Правила BasicAuthentication

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.basicauthentication.InvalidBasicAuthenticationSource 500 При декодировании, если входящая строка в кодировке Base64 не содержит допустимого значения или заголовок имеет неправильный формат (например, не начинается с "Basic").
steps.basicauthentication.UnresolvedVariable 500 Не указаны необходимые исходные переменные для декодирования или кодирования. Эта ошибка может возникнуть, только если для параметра IgnoreUnresolvedVariables задано значение false.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Когда возникает Исправить
UserNameRequired Для именованной операции должен быть указан элемент <User>.
PasswordRequired Для именованной операции должен быть указан элемент <Password>.
AssignToRequired Для именованной операции должен быть указан элемент <AssignTo>.
SourceRequired Для именованной операции должен быть указан элемент <Source>.

Переменные ошибок

Эти переменные задаются при возникновении ошибки выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "UnresolvedVariable"
BasicAuthentication.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. BasicAuthentication.BA-Authenticate.failed = true

Пример ответа об ошибке

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.basicauthentication.UnresolvedVariable"
      },
      "faultstring":"Unresolved variable : request.queryparam.password"
   }
}

Пример правила обработки ошибок

<FaultRule name="Basic Authentication Faults">
    <Step>
        <Name>AM-UnresolvedVariable</Name>
        <Condition>(fault.name Matches "UnresolvedVariable") </Condition>
    </Step>
    <Step>
        <Name>AM-AuthFailedResponse</Name>
        <Condition>(fault.name = "InvalidBasicAuthenticationSource")</Condition>
    </Step>
    <Condition>(BasicAuthentication.BA-Authentication.failed = true) </Condition>
</FaultRule>

Правила ConcurrentRateLimit

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Когда возникает
policies.concurrentratelimit.ConcurrentRatelimtViolation 503

Превышено ограничение на количество одновременных подключений. Ограничение на количество подключений : {0}

Примечание. Код ошибки, показанный слева, правильный, хотя в нем есть опечатка ("limt"). При создании правил обработки ошибок обязательно используйте код в том виде, в котором он показан здесь.

Ошибки развертывания

Название ошибки Когда возникает
InvalidCountValue Указано недопустимое значение для параметра ConcurrentRatelimit.
ConcurrentRatelimitStepAttachment\
NotAllowedAtProxyEndpoint
Прикрепление правила ограничения скорости {0} к путям запроса/ответа/ошибки прокси-сервера запрещено. Это правило должно быть размещено в целевой конечной точке.
ConcurrentRatelimitStepAttachment\
MissingAtTargetEndpoint
Прикрепленный файл с правилами ограничения скорости {0} отсутствует в целевом запросе/ответе/ошибке пути. Это правило должно быть размещено в Target Request Preflow, Target Response Postflow и DefaultFaultRule.
InvalidTTLForMessageTimeOut Для тайм-аута сообщения указано недопустимое значение TTL. Это должно быть положительное целое число.

Переменные ошибок

Эти переменные задаются, когда правило вызывает ошибку. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "ConcurrentRatelimtViolation"

Примечание. Код ошибки, показанный в примере, правильный, хотя в нем есть опечатка ("limt"). При создании правил обработки ошибок обязательно используйте код, указанный здесь.

concurrentratelimit.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. concurrentratelimit.CRL-RateLimitPolicy.failed = true

Пример ответа об ошибке

Если ограничение на количество запросов превышено, правило возвращает клиенту только код статуса HTTP 503.

Пример правила обработки ошибок

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRules>
    <FaultRule name="Quota Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "ConcurrentRatelimtViolation") </Condition>
        </Step>
        <Condition>concurrentratelimit.CRL-RateLimitPolicy.failed=true</Condition>
    </FaultRule>
</FaultRules>

Правило DecodeJWS

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Когда возникает
steps.jws.FailedToDecode 401 Правило не смогло декодировать JWS. Возможно, JWS поврежден.
steps.jws.FailedToResolveVariable 401 Возникает, когда переменная потока, указанная в элементе <Source> правила, не существует.
steps.jws.InvalidClaim 401 Если отсутствует или не совпадает утверждение, заголовок или значение заголовка.
steps.jws.InvalidJsonFormat 401 В заголовке JWS найден недопустимый JSON.
steps.jws.InvalidJws 401 Эта ошибка возникает, когда не удается проверить подпись JWS.
steps.jws.InvalidPayload 401 Недействительная полезная нагрузка JWS.
steps.jws.InvalidSignature 401 <DetachedContent> отсутствует, а полезная нагрузка контента JWS отделена.
steps.jws.MissingPayload 401 Отсутствует полезная нагрузка JWS.
steps.jws.NoAlgorithmFoundInHeader 401 Возникает, когда в заголовке JWS отсутствует алгоритм.
steps.jws.UnknownException 401 Произошло неизвестное исключение.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Когда возникает
InvalidAlgorithm Допустимые значения: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

Другие возможные ошибки развертывания.

Переменные неисправности

Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .

Переменные Где Пример
fault.name=" fault_name " fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. fault.name Matches "TokenExpired"
JWS.failed Все политики JWS устанавливают одну и ту же переменную в случае сбоя. jws.JWS-Policy.failed = true

Пример ответа об ошибке

Для обработки ошибок лучше всего перехватывать часть errorcode в ответе на ошибку. Не полагайтесь на текст в faultstring , поскольку он может измениться.

Пример правила неисправности

<FaultRules>
    <FaultRule name="JWS Policy Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "TokenExpired")</Condition>
        </Step>
        <Condition>JWS.failed=true</Condition>
    </FaultRule>
</FaultRules>

Правило DecodeJWT

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.jwt.FailedToDecode 401 Происходит, когда правилу не удается декодировать JWT. Токен JWT может быть неправильно сформирован, недействителен или не подлежит декодированию.
steps.jwt.FailedToResolveVariable 401 Возникает, когда переменная потока, указанная в элементе <Source> правила, не существует.
steps.jwt.InvalidToken 401 Возникает, когда переменная потока, указанная в элементе <Source> правила, находится вне области действия или не может быть разрешена.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidEmptyElement Возникает, когда переменная потока, содержащая JWT для декодирования, не указана в элементе <Source> политики.

Переменные неисправности

Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .

Переменные Где Пример
fault.name=" fault_name " fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. fault.name Matches "TokenExpired"
JWT.failed Все политики JWT устанавливают одну и ту же переменную в случае сбоя. JWT.failed = true

Пример ответа об ошибке

Коды ошибок политики JWT

Для обработки ошибок лучше всего перехватывать часть errorcode в ответе на ошибку. Не полагайтесь на текст в faultstring , поскольку он может измениться.

Пример правила неисправности

    <FaultRules>
        <FaultRule name="JWT Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "TokenExpired")</Condition>
            </Step>
            <Condition>JWT.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

Правило ExtractVariables

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.extractvariables.ExecutionFailed 500

Эта ошибка возникает в следующих случаях:

  • Входная полезная нагрузка (JSON, XML) пуста.
  • Входные данные (JSON, XML и т. д.), переданные правилу, недействительны или имеют неправильный формат.
steps.extractvariables.ImmutableVariable 500 Переменная, используемая в правиле, неизменяема. Правило не смогло задать эту переменную.
steps.extractvariables.InvalidJSONPath 500 Эта ошибка возникает, если в элементе JSONPath правила используется недопустимый путь JSON. Например, если в полезной нагрузке JSON нет объекта Name, но вы указали Name в качестве пути в правиле, возникнет эта ошибка.
steps.extractvariables.JsonPathParsingFailure 500 Эта ошибка возникает, когда правилу не удается обработать путь JSON и извлечь данные из переменной потока, указанной в элементе Source. Обычно это происходит, если переменная потока, указанная в элементе Source, не существует в текущем потоке.
steps.extractvariables.SetVariableFailed 500 Эта ошибка возникает, если правилу не удалось задать значение для переменной. Эта ошибка обычно возникает, если вы пытаетесь присвоить значения нескольким переменным, названия которых начинаются с одних и тех же слов вложенного формата с точками.
steps.extractvariables.SourceMessageNotAvailable 500 Эта ошибка возникает, если переменная message, указанная в элементе Source правила, является:
  • Не в области действия (недоступно в определенном процессе, в котором выполняется правило) или
  • Не удается разрешить (не определено)
steps.extractvariables.UnableToCast 500 Эта ошибка возникает, если правило не может преобразовать извлеченное значение в переменную. Обычно это происходит, когда вы пытаетесь присвоить переменной одного типа данных значение другого типа.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
NothingToExtract Если в правиле нет элементов URIPath, QueryParam, Header, FormParam, XMLPayload или JSONPayload, развертывание прокси API завершится неудачно, поскольку извлекать будет нечего.
NONEmptyPrefixMappedToEmptyURI Эта ошибка возникает, если в правиле определен префикс в элементе Namespace под элементом XMLPayload, но не определен URI.
DuplicatePrefix Эта ошибка возникает, если в элементе Namespace в элементе XMLPayload префикс правила определен более одного раза.
NoXPathsToEvaluate Если в элементе XMLPayload нет элемента XPath, развертывание прокси-сервера API завершится с ошибкой.
EmptyXPathExpression Если в правиле есть пустое выражение XPath в элементе XMLPayload, развертывание прокси-сервера API завершится неудачно.
NoJSONPathsToEvaluate Если в элементе JSONPayload нет элемента JSONPath, развертывание прокси-сервера API завершится с ошибкой.
EmptyJSONPathExpression Если в правиле есть пустое выражение XPath в элементе XMLPayload, развертывание прокси-сервера API завершится неудачно.
MissingName Если в каком-либо элементе правил, например QueryParam, Header, FormParam или Variable, отсутствует атрибут name, то развертывание прокси-сервера API завершится неудачно.
PatternWithoutVariable Если в элементе Pattern правила не указана переменная, развертывание прокси-сервера API завершится неудачно. Элементу Pattern требуется название переменной, в которой будут храниться извлеченные данные.
CannotBeConvertedToNodeset Если в правиле есть выражение XPath, в котором тип Variable определен как nodeset, но выражение нельзя преобразовать в nodeset, развертывание прокси-сервера API завершится неудачно.
JSONPathCompilationFailed Правило не может скомпилировать указанный путь JSON.
InstantiationFailed Не удалось создать экземпляр правила.
XPathCompilationFailed Если префикс или значение, используемое в элементе XPath, не входит ни в одно из объявленных в правиле пространств имен, развертывание прокси-сервера API завершится неудачно.
InvalidPattern Если определение элемента Pattern недействительно в каком-либо из элементов, например URIPath, QueryParam, Header, FormParam, XMLPayload или JSONPayload, в правиле, развертывание прокси-сервера API завершится неудачей.

Переменные ошибок

Эти переменные задаются, когда правило вызывает ошибку во время выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name = "SourceMessageNotAvailable"
extractvariables.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. extractvariables.EV-ParseJsonResponse.failed = true

Пример ответа об ошибке

{
   "fault":{
      "detail":{
         "errorcode":"steps.extractvariables.SourceMessageNotAvailable"
      },
      "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse"
   }
}

Пример правила обработки ошибок

<FaultRule name="Extract Variable Faults">
    <Step>
        <Name>AM-CustomErrorMessage</Name>
        <Condition>(fault.name = "SourceMessageNotAvailable") </Condition>
    </Step>
    <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition>
</FaultRule>

Правило GenerateJWS

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Когда возникает
steps.jws.GenerationFailed 401 Правило не смогло сгенерировать JWS.
steps.jws.InsufficientKeyLength 401 Для ключа длиной менее 32 байт для алгоритма HS256
steps.jws.InvalidClaim 401 Если отсутствует или не совпадает утверждение, заголовок или значение заголовка.
steps.jws.InvalidCurve 401 Кривая, указанная ключом, не подходит для алгоритма на основе эллиптических кривых.
steps.jws.InvalidJsonFormat 401 В заголовке JWS найден недопустимый JSON.
steps.jws.InvalidPayload 401 Недействительная полезная нагрузка JWS.
steps.jws.InvalidSignature 401 <DetachedContent> отсутствует, а полезная нагрузка контента JWS отделена.
steps.jws.KeyIdMissing 401 Правило Verify использует JWKS в качестве источника открытых ключей, но подписанный JWS не содержит свойство kid в заголовке.
steps.jws.KeyParsingFailed 401 Не удалось проанализировать открытый ключ на основе предоставленной информации.
steps.jws.MissingPayload 401 Отсутствует полезная нагрузка JWS.
steps.jws.NoAlgorithmFoundInHeader 401 Возникает, когда в заголовке JWS отсутствует алгоритм.
steps.jws.SigningFailed 401 В GenerateJWS для ключа, размер которого меньше минимального для алгоритмов HS384 или HS512
steps.jws.UnknownException 401 Произошло неизвестное исключение.
steps.jws.WrongKeyType 401 Указан ключ неправильного типа. Например, если вы укажете ключ RSA для алгоритма на эллиптических кривых или ключ на эллиптических кривых для алгоритма RSA.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Когда возникает
InvalidAlgorithm Допустимые значения: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

Другие возможные ошибки развертывания.

Переменные неисправности

Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .

Переменные Где Пример
fault.name=" fault_name " fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. fault.name Matches "TokenExpired"
JWS.failed Все политики JWS устанавливают одну и ту же переменную в случае сбоя. jws.JWS-Policy.failed = true

Пример ответа об ошибке

Для обработки ошибок лучше всего перехватывать часть errorcode в ответе на ошибку. Не полагайтесь на текст в faultstring , поскольку он может измениться.

Пример правила неисправности

<FaultRules>
    <FaultRule name="JWS Policy Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "TokenExpired")</Condition>
        </Step>
        <Condition>JWS.failed=true</Condition>
    </FaultRule>
</FaultRules>

Правило GenerateJWT

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Когда возникает
steps.jwt.AlgorithmInTokenNotPresentInConfiguration 401 Возникает, когда в правиле проверки используется несколько алгоритмов.
steps.jwt.AlgorithmMismatch 401 Алгоритм, указанный в правиле Generate, не совпадает с алгоритмом, ожидаемым в правиле Verify. Указанные алгоритмы должны совпадать.
steps.jwt.FailedToDecode 401 Правило не смогло декодировать JWT. Возможно, JWT поврежден.
steps.jwt.GenerationFailed 401 Правило не смогло сгенерировать JWT.
steps.jwt.InsufficientKeyLength 401 Для ключа размером менее 32 байт для алгоритма HS256, менее 48 байт для алгоритма HS386 и менее 64 байт для алгоритма HS512.
steps.jwt.InvalidClaim 401 Если отсутствует или не совпадает утверждение, заголовок или значение заголовка.
steps.jwt.InvalidCurve 401 Кривая, указанная ключом, не подходит для алгоритма на основе эллиптических кривых.
steps.jwt.InvalidJsonFormat 401 В заголовке или полезной нагрузке найден недопустимый код JSON.
steps.jwt.InvalidToken 401 Эта ошибка возникает, когда не удается проверить подпись JWT.
steps.jwt.JwtAudienceMismatch 401 Не удалось проверить утверждение аудитории в токене.
steps.jwt.JwtIssuerMismatch 401 При проверке токена не удалось подтвердить утверждение издателя.
steps.jwt.JwtSubjectMismatch 401 Не удалось проверить утверждение subject в токене.
steps.jwt.KeyIdMissing 401 Правило Verify использует JWKS в качестве источника открытых ключей, но подписанный JWT не содержит свойство kid в заголовке.
steps.jwt.KeyParsingFailed 401 Не удалось проанализировать открытый ключ на основе предоставленной информации.
steps.jwt.NoAlgorithmFoundInHeader 401 Возникает, когда в токене JWT нет заголовка алгоритма.
steps.jwt.NoMatchingPublicKey 401 Правило Verify использует JWKS в качестве источника открытых ключей, но kid в подписанном JWT не указан в JWKS.
steps.jwt.SigningFailed 401 В GenerateJWT для ключа, размер которого меньше минимального для алгоритмов HS384 или HS512
steps.jwt.TokenExpired 401 Правило пытается проверить токен, срок действия которого истек.
steps.jwt.TokenNotYetValid 401 Токен ещё не действителен.
steps.jwt.UnhandledCriticalHeader 401 Заголовок, найденный правилом Verify JWT в заголовке crit, не указан в KnownHeaders.
steps.jwt.UnknownException 401 Произошло неизвестное исключение.
steps.jwt.WrongKeyType 401 Указан ключ неправильного типа. Например, если вы укажете ключ RSA для алгоритма на эллиптических кривых или ключ на эллиптических кривых для алгоритма RSA.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidNameForAdditionalClaim Развертывание завершится неудачно, если в дочернем элементе <Claim> элемента <AdditionalClaims> используется одно из следующих зарегистрированных имен: kid, iss, sub, aud, iat, exp, nbf или jti.
InvalidTypeForAdditionalClaim Если в дочернем элементе <Claim> элемента <AdditionalClaims> используется заявка не типа string, number, boolean или map, развертывание завершится неудачно.
MissingNameForAdditionalClaim Если название заявки не указано в дочернем элементе <Claim> элемента <AdditionalClaims>, развертывание завершится неудачно.
InvalidNameForAdditionalHeader Эта ошибка возникает, когда название требования, используемого в дочернем элементе <Claim> элемента <AdditionalClaims>, – alg или typ.
InvalidTypeForAdditionalHeader Если тип заявки, указанный в дочернем элементе <Claim> элемента <AdditionalClaims>, не относится к типу string, number, boolean или map, развертывание завершится неудачно.
InvalidValueOfArrayAttribute Эта ошибка возникает, когда значение атрибута массива в дочернем элементе <Claim> элемента <AdditionalClaims> не равно true или false.
InvalidConfigurationForActionAndAlgorithm Если элемент <PrivateKey> используется с алгоритмами семейства HS или элемент <SecretKey> используется с алгоритмами семейства RSA, развертывание завершится неудачно.
InvalidValueForElement Если значение, указанное в элементе <Algorithm>, не является допустимым значением, развертывание завершится неудачно.
MissingConfigurationElement Эта ошибка возникает, если элемент <PrivateKey> не используется с алгоритмами семейства RSA, а элемент <SecretKey> – с алгоритмами семейства HS.
InvalidKeyConfiguration Если дочерний элемент <Value> не определен в элементах <PrivateKey> или <SecretKey>, развертывание завершится неудачно.
EmptyElementForKeyConfiguration Если атрибут ref дочернего элемента <Value> элементов <PrivateKey> или <SecretKey> пуст или не указан, развертывание завершится неудачно.
InvalidVariableNameForSecret Эта ошибка возникает, если имя переменной потока, указанное в атрибуте ref дочернего элемента <Value> элементов <PrivateKey> или <SecretKey>, не содержит частный префикс (private.).
InvalidSecretInConfig Эта ошибка возникает, если дочерний элемент <Value> элементов <PrivateKey> или <SecretKey> не содержит частный префикс (private.).
InvalidTimeFormat Если значение, указанное в элементе <NotBefore>, не соответствует поддерживаемому формату, развертывание завершится неудачно.

Переменные неисправности

Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .

Переменные Где Пример
fault.name=" fault_name " fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. fault.name Matches "TokenExpired"
JWT.failed Все политики JWT устанавливают одну и ту же переменную в случае сбоя. JWT.failed = true

Пример ответа об ошибке

Коды ошибок политики JWT

Для обработки ошибок лучше всего перехватывать часть errorcode в ответе на ошибку. Не полагайтесь на текст в faultstring , поскольку он может измениться.

Пример правила неисправности

    <FaultRules>
        <FaultRule name="JWT Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "TokenExpired")</Condition>
            </Step>
            <Condition>JWT.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

Правило JavaCallout

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .

Ошибки выполнения

Эти ошибки могут возникнуть при выполнении политики.

Код неисправности Статус HTTP Причина Исправить
steps.javacallout.ExecutionError 500 Происходит, когда код Java генерирует исключение или возвращает значение NULL во время выполнения политики JavaCallout.

Ошибки развертывания

Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего политику.

Название ошибки Строка неисправности Статус HTTP Происходит, когда
ResourceDoesNotExistResource with name [name] and type [type] does not exist Н/Д Файл, указанный в элементе <ResourceURL> , не существует.
JavaCalloutInstantiationFailed Failed to instantiate the JavaCallout Class [classname] Н/Д Файл класса, указанный в элементе <ClassName> отсутствует в банке.
IncompatibleJavaVersion Failed to load java class [classname] definition due to - [reason] Н/Д См. строку ошибки. См. также Поддерживаемое программное обеспечение и поддерживаемые версии .
JavaClassNotFoundInJavaResource Failed to find the ClassName in java resource [jar_name] - [class_name] Н/Д См. строку ошибки.
JavaClassDefinitionNotFound Failed to load java class [class_name] definition due to - [reason] Н/Д См. строку ошибки.
NoAppropriateConstructor No appropriate constructor found in JavaCallout class [class_name] Н/Д См. строку ошибки.
NoResourceForURL Could not locate a resource with URL [string] Н/Д См. строку ошибки.

Переменные неисправности

Эти переменные устанавливаются, когда эта политика вызывает ошибку. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .

Переменные Где Пример
fault.name=" fault_name " fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. fault.name Matches "ExecutionError"
javacallout. policy_name .failed policy_name — указанное пользователем имя политики, вызвавшей ошибку. javacallout.JC-GetUserData.failed = true

Пример ответа об ошибке

{  
   "fault":{  
      "faultstring":"Failed to execute JavaCallout. [policy_name]",
      "detail":{  
         "errorcode":"javacallout.ExecutionError"
      }
   }
}

Пример правила неисправности

<FaultRule name="JavaCalloutFailed">
    <Step>
        <Name>AM-JavaCalloutError</Name>
    </Step>
    <Condition>(fault.name Matches "ExecutionError") </Condition>
</FaultRule>

Правила JavaScript

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .

Ошибки выполнения

Эти ошибки могут возникнуть при выполнении политики.

Код неисправности Статус HTTP Причина Исправить
steps.javascript.ScriptExecutionFailed 500 Политика JavaScript может вызывать множество различных типов ошибок ScriptExecutionFailed. Часто встречающиеся типы ошибок включают RangeError , ReferenceError , SyntaxError , TypeError и URIError .
steps.javascript.ScriptExecutionFailedLineNumber 500 Произошла ошибка в коде JavaScript. Подробности смотрите в строке ошибки. Н/Д
steps.javascript.ScriptSecurityError 500 Ошибка безопасности произошла при выполнении JavaScript. Подробности смотрите в строке ошибки. Н/Д

Ошибки развертывания

Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.

Название ошибки Причина Исправить
InvalidResourceUrlFormat Если формат URL-адреса ресурса, указанный в элементе <ResourceURL> или <IncludeURL> политики JavaScript, недействителен, развертывание прокси-сервера API завершается неудачно.
InvalidResourceUrlReference Если элементы <ResourceURL> или <IncludeURL> ссылаются на несуществующий файл JavaScript, развертывание прокси-сервера API завершается неудачно. Исходный файл, на который есть ссылка, должен существовать либо на уровне прокси-сервера API, либо на уровне среды, либо на уровне организации.
WrongResourceType Эта ошибка возникает во время развертывания, если элементы <ResourceURL> или <IncludeURL> политики JavaScript относятся к любому типу ресурса, кроме jsc (файл JavaScript).
NoResourceURLOrSource Развертывание политики JavaScript может завершиться неудачей из-за этой ошибки, если элемент <ResourceURL> не объявлен или если URL-адрес ресурса не определен в этом элементе. Элемент <ResourceURL> является обязательным элементом. Или элемент <IncludeURL> объявлен, но URL-адрес ресурса не определен в этом элементе. Элемент <IncludeURL> является необязательным, но если он объявлен, URL-адрес ресурса должен быть указан внутри элемента <IncludeURL> .

Переменные неисправности

Эти переменные устанавливаются, когда эта политика вызывает ошибку во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .

Переменные Где Пример
fault.name=" fault_name " fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. fault.name Matches "ScriptExecutionFailed"
javascript. policy_name .failed policy_name — указанное пользователем имя политики, вызвавшей ошибку. javascript.JavaScript-1.failed = true

Пример ответа об ошибке

{
  "fault": {
    "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"",
    "detail": {
      "errorcode": "steps.javascript.ScriptExecutionFailed"
    }
  }
}

Пример правила неисправности

<FaultRule name="JavaScript Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition>
    </Step>
    <Condition>(javascript.JavaScript-1.failed = true) </Condition>
</FaultRule>

Правило JSONThreatProtection

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .

Ошибки выполнения

Эти ошибки могут возникнуть при выполнении политики.

Код неисправности Статус HTTP Причина Исправить
steps.jsonthreatprotection.ExecutionFailed 500 Политика JSONThreatProtection может вызывать множество различных типов ошибок ExecutionFailed. Большинство этих ошибок возникает при превышении определенного порога, установленного в политике. К этим типам ошибок относятся: длина имени записи объекта , количество записей объекта , количество элементов массива , глубина контейнера , длина строкового значения . Эта ошибка также возникает, когда полезные данные содержат недопустимый объект JSON .
steps.jsonthreatprotection.SourceUnavailable 500 Эта ошибка возникает, если переменная сообщения , указанная в элементе <Source> , имеет одно из следующих значений:
  • Вне области действия (недоступно в конкретном потоке, в котором выполняется политика)
  • Не является одним из допустимых значений request , response или message
steps.jsonthreatprotection.NonMessageVariable 500 Эта ошибка возникает, если для элемента <Source> установлена ​​переменная, которая не имеет типа message .

Ошибки развертывания

Никто.

Переменные неисправности

Эти переменные устанавливаются, когда эта политика вызывает ошибку. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .

Переменные Где Пример
fault.name=" fault_name " fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. fault.name Matches "SourceUnavailable"
jsonattack. policy_name .failed policy_name — указанное пользователем имя политики, вызвавшей ошибку. jsonattack.JTP-SecureRequest.failed = true

Пример ответа об ошибке

{
  "fault": {
    "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2",
    "detail": {
      "errorcode": "steps.jsonthreatprotection.ExecutionFailed"
    }
  }
}

Пример правила неисправности

<FaultRule name="JSONThreatProtection Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ExecutionFailed") </Condition>
    </Step>
    <Condition>(jsonattack.JPT-SecureRequest.failed = true) </Condition>
</FaultRule>

Типы правил JSONThreatProtection определяют следующие коды ошибок:

Правило JSONtoXML

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.jsontoxml.ExecutionFailed 500 Входные данные (JSON), переданные в правило JSON в XML, пусты или имеют недействительный или неверный формат.
steps.jsontoxml.InCompatibleTypes 500 Эта ошибка возникает, если тип переменной, определенной в элементе <Source>, не совпадает с типом переменной, определенной в элементе <OutputVariable>. Типы переменных, содержащихся в элементах <Source> и <OutputVariable>, должны совпадать. Допустимые типы: message и string.
steps.jsontoxml.InvalidSourceType 500 Эта ошибка возникает, если тип переменной, используемой для определения элемента <Source>, недопустим. Допустимые типы переменных: message и string.
steps.jsontoxml.OutputVariableIsNotAvailable 500 Эта ошибка возникает, если переменная, указанная в элементе <Source> правила JSON в XML, имеет тип string, а элемент <OutputVariable> не определен. Элемент <OutputVariable> обязателен, если переменная, определенная в элементе <Source>, имеет тип string (строка).
steps.jsontoxml.SourceUnavailable 500 Эта ошибка возникает, если переменная message, указанная в элементе <Source> правила JSON в XML, имеет одно из следующих значений:
  • недоступно (не поддерживается в определенном процессе, в котором выполняется правило);
  • не может быть разрешен (не определен);

Ошибки развертывания

Нет.

Переменные ошибок

Эти переменные задаются при возникновении ошибки выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "SourceUnavailable"
jsontoxml.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. jsontoxml.JSON-to-XML-1.failed = true

Пример ответа об ошибке

{
  "fault": {
    "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available",
    "detail": {
      "errorcode": "steps.json2xml.SourceUnavailable"
    }
  }
}

Пример правила обработки ошибок

<FaultRule name="JSON To XML Faults">
    <Step>
        <Name>AM-SourceUnavailableMessage</Name>
        <Condition>(fault.name Matches "SourceUnavailable") </Condition>
    </Step>
    <Step>
        <Name>AM-BadJSON</Name>
        <Condition>(fault.name = "ExecutionFailed")</Condition>
    </Step>
    <Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition>
</FaultRule>

Правило KeyValueMapOperations

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.keyvaluemapoperations.SetVariableFailed 500

Эта ошибка возникает, если вы пытаетесь получить значение из зашифрованной карты "ключ-значение" и присвоить его переменной, название которой не начинается с префикса private. Префикс, который необходим для базовой безопасности при отладке, скрывает зашифрованные значения от API-прокси Trace и сеансов отладки.

steps.keyvaluemapoperations.UnsupportedOperationException 500

Эта ошибка возникает, если атрибуту mapIdentifier присвоена пустая строка в правиле "Операции с картой значений ключей".

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidIndex Если атрибут index, указанный в элементе <Get> правила "Операции с картой значений ключей", равен нулю или отрицательному числу, развертывание прокси-сервера API завершится неудачно. Индекс начинается с 1, поэтому нулевой или отрицательный индекс считается недействительным.
KeyIsMissing Эта ошибка возникает, если элемент <Key> отсутствует или элемент <Parameter> отсутствует в элементе <Key> под элементом <Entry> элемента <InitialEntries> правила "Операции с картой значений ключей".
ValueIsMissing Эта ошибка возникает, если элемент <Value> отсутствует в элементе <Entry> элемента <InitialEntries> правила "Операции с картой значений ключей".

Правила LDAP

Эта политика использует следующие коды ошибок:

Код ошибки Сообщение
InvalidAttributeName Invalid attribute name {0}.
InvalidSearchBase Search base can not be empty.
InvalidValueForPassword Invalid value for password field. It can not be empty.
InvalidSearchScope Invalid scope {0}. Allowed scopes are {1}.
InvalidUserCredentials Invalid user credentials.
InvalidExternalLdapReference Invalid external ldap reference {0}.
LdapResourceNotFound Ldap resource {0} not found.
BaseDNRequired Base DN required.
OnlyReferenceOrValueIsAllowed Only value or reference is allowed for {0}.
AttributesRequired At least one attribute required for search action.
UserNameIsNull User name is null.
SearchQueryAndUserNameCannotBePresent Both search query and username can not be present in the authentication action. Please specify either one of them.

Правило MessageLogging

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина
steps.messagelogging.StepDefinitionExecutionFailed 500 Посмотреть строку ошибки.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidProtocol Развертывание правила MessageLogging может завершиться с этой ошибкой, если протокол, указанный в элементе <Protocol>, недопустим. Допустимые протоколы – TCP и UDP. Для отправки сообщений syslog по протоколу TLS/SSL поддерживается только TCP.
InvalidPort Развертывание правила MessageLogging может завершиться с этой ошибкой, если номер порта не указан в элементе <Port> или указан неверно. Номер порта должен быть целым числом больше нуля.

Переменные ошибок

Эти переменные задаются при возникновении ошибки выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "StepDefinitionExecutionFailed"
messagelogging.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. messagelogging.ML-LogMessages.failed = true

Пример ответа об ошибке

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
      },
      "faultstring":"Execution failed"
   }
}

Пример правила обработки ошибок

<FaultRule name="MessageLogging">
    <Step>
        <Name>ML-LogMessages</Name>
        <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
    </Step>
    <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>

Правила OASValidation

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина
steps.oasvalidation.Failed 500 Тело запроса не может быть проверено на соответствие спецификации OpenAPI.
steps.oasvalidation.SourceMessageNotAvailable 500

Переменная, указанная в элементе <Source> правила, находится вне области действия или не может быть разрешена.

steps.oasvalidation.NotMessageVariable 500

Для элемента <Source> задана переменная, тип которой не message.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина
ResourceDoesNotExist Спецификация OpenAPI, на которую ссылается элемент <OASResource>, не существует.
ResourceCompileFailed Спецификация OpenAPI, включенная в развертывание, содержит ошибки, из-за которых ее нельзя скомпилировать. Обычно это означает, что спецификация не соответствует требованиям OpenAPI Specification 3.0.
BadResourceURL Не удалось обработать спецификацию OpenAPI, указанную в элементе <OASResource>. Это может произойти, если файл не является файлом JSON или YAML или URL файла указан неправильно.

Переменные ошибок

Эти переменные задаются, когда правило вызывает ошибку во время выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "ResourceDoesNotExist"
oasvalidation.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. oasvalidation.myoaspolicy.failed = true

Правило PopulateCache

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Когда возникает
policies.populatecache.EntryCannotBeCached 500 Запись нельзя кешировать. Кэшируемый объект сообщения не является экземпляром класса, который можно сериализовать.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidCacheResourceReference Эта ошибка возникает, если элемент <CacheResource> в правиле PopulateCache имеет название, которое не существует в среде, где развертывается прокси-сервер API.
CacheNotFound Кэш, указанный в элементе <CacheResource>, не существует.

Переменные ошибок

Эти переменные задаются, когда правило вызывает ошибку. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name = "EntryCannotBeCached"
populatecache.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. populatecache.POP-CACHE-1.failed = true

Пример ответа об ошибке

{
  "fault": {
    "faultstring": "[entry] can not be cached. Only serializable entries are cached.",
    "detail": {
      "errorcode": "steps.populatecache.EntryCannotBeCached"
    }
  }
}

Пример правила обработки ошибок

<FaultRule name="Populate Cache Fault">
    <Step>
        <Name>AM-EntryCannotBeCached</Name>
        <Condition>(fault.name Matches "EntryCannotBeCached") </Condition>
    </Step>
    <Condition>(populatecache.POP-CACHE-1.failed = true) </Condition>
</FaultRule>

Правила LookupCache

В этом разделе описаны сообщения об ошибках и переменные потока, которые задаются, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила сбоев для прокси. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .

Префикс кода ошибки

Н/Д

Ошибки выполнения

Эта политика не вызывает никаких ошибок во время выполнения.

Ошибки развертывания

Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.

Название ошибки Причина Исправить
InvalidCacheResourceReference Эта ошибка возникает, если для элемента <CacheResource> установлено имя, которое не существует в среде, где развертывается прокси-сервер API.
InvalidTimeout Если для элемента <CacheLookupTimeoutInSeconds> установлено отрицательное число, развертывание прокси-сервера API завершается неудачей.
CacheNotFound Эта ошибка возникает, если конкретный кэш, упомянутый в сообщении об ошибке, не был создан в определенном компоненте процессора сообщений.

Переменные неисправности

Н/Д

Пример ответа об ошибке

Н/Д

Правило InvalidateCache

В этом разделе описаны сообщения об ошибках и переменные потока, которые задаются, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила сбоев для прокси. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .

Префикс кода ошибки

Н/Д

Ошибки выполнения

Эта политика не вызывает никаких ошибок во время выполнения.

Ошибки развертывания

Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.

Название ошибки Причина Исправить
InvalidCacheResourceReference Эта ошибка возникает, если элементу <CacheResource> в политике InvalidateCache присвоено имя, не существующее в среде, где развертывается прокси-сервер API.
CacheNotFound Эта ошибка возникает, если конкретный кэш, упомянутый в сообщении об ошибке, не был создан в определенном компоненте процессора сообщений.

Переменные неисправности

Н/Д

Пример ответа об ошибке

Н/Д

Правила ResponseCache

В этом разделе описаны сообщения об ошибках и переменные потока, которые устанавливаются, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок для прокси. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Префикс кода ошибки

Н/Д

Ошибки времени выполнения

Это правило не вызывает ошибок во время выполнения.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidTimeout Если для элемента <CacheLookupTimeoutInSeconds> правила ResponseCache задано отрицательное число, развертывание прокси-сервера API завершится неудачно.
InvalidCacheResourceReference Эта ошибка возникает, если для элемента <CacheResource> в правиле ResponseCache задано имя, которое не существует в среде, где развертывается прокси-сервер API.
ResponseCacheStepAttachmentNotAllowedReq Эта ошибка возникает, если одна и та же политика ResponseCache прикреплена к нескольким путям запросов в любом из потоков прокси-сервера API.
ResponseCacheStepAttachmentNotAllowedResp Эта ошибка возникает, если одни и те же правила ResponseCache прикреплены к нескольким путям ответа в любом из потоков прокси-сервера API.
InvalidMessagePatternForErrorCode Эта ошибка возникает, если элемент <SkipCacheLookup> или <SkipCachePopulation> в правиле ResponseCache содержит недопустимое условие.
CacheNotFound Эта ошибка возникает, если упомянутый в сообщении об ошибке кеш не был создан в определенном компоненте Message Processor.

Переменные ошибок

Н/Д

Пример ответа об ошибке

Н/Д

Правила OAuthV2

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исключения, возникающие при выполнении операций
steps.oauth.v2.access_token_expired 401 Срок действия токена доступа истек.

VerifyAccessToken
InvalidateToken

steps.oauth.v2.access_token_not_approved 401 Токен доступа был отозван. VerifyAccessToken
steps.oauth.v2.apiresource_doesnot_exist 401 Запрошенный ресурс не существует ни в одном из продуктов API, связанных с токеном доступа. VerifyAccessToken
steps.oauth.v2.FailedToResolveAccessToken 500 Политика должна была найти токен доступа в переменной, указанной в элементе <AccessToken>, но не смогла определить эту переменную. GenerateAccessToken
steps.oauth.v2.FailedToResolveAuthorizationCode 500 Согласно правилу, код авторизации должен находиться в переменной, указанной в элементе <Code>, но переменную не удалось определить. GenerateAuthorizationCode
steps.oauth.v2.FailedToResolveClientId 500 Правило должно было найти идентификатор клиента в переменной, указанной в элементе <ClientId>, но не смогло определить эту переменную. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.FailedToResolveRefreshToken 500 Правило должно было найти токен обновления в переменной, указанной в элементе <RefreshToken>, но не смогло определить эту переменную. RefreshAccessToken
steps.oauth.v2.FailedToResolveToken 500 По правилам политики в переменной, указанной в элементе <Tokens>, должен быть токен, но переменную не удалось разрешить.

ValidateToken
InvalidateToken

steps.oauth.v2.InsufficientScope 403 Область действия токена доступа, представленного в запросе, не соответствует области действия, указанной в правиле проверки токена доступа. Подробнее о работе с областями действия OAuth2… VerifyAccessToken
steps.oauth.v2.invalid_access_token 401 Недействительный токен доступа, отправленный клиентом. VerifyAccessToken
steps.oauth.v2.invalid_client 401

Это название ошибки возвращается, когда для свойства <GenerateResponse> правила задано значение true и идентификатор клиента, отправленный в запросе, является недействительным. Убедитесь, что вы используете правильные значения ключа клиента и секрета для приложения разработчика, связанного с вашим прокси-сервером. Как правило, эти значения отправляются в виде заголовка Basic Authorization, закодированного по стандарту Base64.

Примечание. Рекомендуем изменить условия существующих правил обработки ошибок, чтобы они учитывали названия invalid_client и InvalidClientIdentifier. Дополнительную информацию и пример можно найти в примечаниях к выпуску от 16 сентября 2021 г..

GenerateAccessToken
RefreshAccessToken
steps.oauth.v2.InvalidRequest 400 Это название ошибки используется для разных типов неполадок, обычно связанных с отсутствием или неправильным указанием параметров в запросе. Если для <GenerateResponse> задано значение false, используйте переменные ошибки (описаны ниже), чтобы получить сведения об ошибке, например ее название и причину. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.InvalidAccessToken 401 В заголовке авторизации отсутствует слово "Bearer", которое является обязательным. Пример: Authorization: Bearer your_access_token VerifyAccessToken
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401

Прокси-сервер API не входит в продукт, связанный с токеном доступа.

Советы. Убедитесь, что продукт, связанный с токеном доступа, настроен правильно. Например, если вы используете подстановочные знаки в путях к ресурсам, убедитесь, что они используются правильно. Подробнее о том, как создавать продукты API…

Также ознакомьтесь с этой записью в сообществе Apigee, чтобы узнать больше о причинах этой ошибки.

VerifyAccessToken
steps.oauth.v2.InvalidClientIdentifier 500

Это название ошибки возвращается, когда для свойства <GenerateResponse> правила задано значение false и в запросе указан недействительный идентификатор клиента. Убедитесь, что вы используете правильные значения ключа клиента и секрета для приложения разработчика, связанного с вашим прокси-сервером. Как правило, эти значения отправляются в виде заголовка Basic Authorization, закодированного по стандарту Base64.

Примечание. Раньше в такой ситуации возникала ошибка invalid_client. Рекомендуем изменить условия существующих правил обработки ошибок, чтобы они учитывали названия invalid_client и InvalidClientIdentifier. Дополнительную информацию и пример можно найти в примечаниях к выпуску от 16 сентября 2021 г..

GenerateAccessToken
RefreshAccessToken

steps.oauth.v2.InvalidParameter 500 В правиле должен быть указан токен доступа или код авторизации, но не оба варианта одновременно. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.InvalidTokenType 500 В элементе <Tokens>/<Token> необходимо указать тип токена (например, refreshtoken). Если клиент передает неверный тип, возникает эта ошибка. ValidateToken
InvalidateToken
steps.oauth.v2.MissingParameter 500 Тип ответа – token, но типы предоставления не указаны. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.UnSupportedGrantType 500

Клиент указал тип авторизации, который не поддерживается правилом (не указан в элементе <SupportedGrantTypes>).

Примечание. В настоящее время существует ошибка, из-за которой неправильно обрабатываются ошибки, связанные с неподдерживаемым типом предоставления. Если возникает ошибка "Неподдерживаемый тип предоставления", прокси-сервер не переходит к потоку ошибок, как и ожидается.

GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина
InvalidValueForExpiresIn

Для элемента <ExpiresIn> допустимы положительные целые числа и значение -1.

InvalidValueForRefreshTokenExpiresIn Для элемента <RefreshTokenExpiresIn> допустимы положительные целые числа и значение -1.
InvalidGrantType В элементе <SupportedGrantTypes> указан недопустимый тип предоставления. Список допустимых типов приведен в справочнике по правилам.
ExpiresInNotApplicableForOperation Убедитесь, что операции, указанные в элементе <Operations>, поддерживают истечение срока действия. Например, операция VerifyToken не поддерживает этот параметр.
RefreshTokenExpiresInNotApplicableForOperation Убедитесь, что операции, указанные в элементе <Operations>, поддерживают обновление токена. Например, операция VerifyToken не поддерживает этот параметр.
GrantTypesNotApplicableForOperation Убедитесь, что типы разрешений, указанные в <SupportedGrantTypes>, поддерживаются для указанной операции.
OperationRequired

В этом правиле необходимо указать операцию с помощью элемента <Operation>.

Примечание. Если элемент <Operation> отсутствует, в интерфейсе появится ошибка проверки схемы.

InvalidOperation

В этом правиле необходимо указать допустимую операцию с помощью элемента <Operation>.

Примечание. Если элемент <Operation> недопустим, в интерфейсе появится ошибка проверки схемы.

TokenValueRequired В элементе <Tokens> необходимо указать значение токена <Token>.

Переменные ошибок

Эти переменные задаются, когда правило вызывает ошибку во время выполнения.

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name = "InvalidRequest"
oauthV2.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. oauthV2.GenerateAccesstoken.failed = true
oauthV2.policy_name.fault.name policy_name – заданное пользователем название правила, которое вызвало ошибку. oauthV2.GenerateAccesstoken.fault.name = InvalidRequest

Примечание. Для операции VerifyAccessToken название ошибки включает следующий суффикс: keymanagement.service
Пример: keymanagement.service.invalid_access_token

oauthV2.policy_name.fault.cause policy_name – заданное пользователем название правила, которое вызвало ошибку. oauthV2.GenerateAccesstoken.cause = Required param : grant_type

Пример ответа об ошибке

Эти ответы отправляются клиенту, если элемент <GenerateResponse> имеет значение true.

Если для правила <GenerateResponse> задано значение true, при выполнении операций, генерирующих токены и коды, возвращаются ошибки в следующем формате: Полный список приведен в справочнике по HTTP-ответам с ошибками OAuth.

{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}

Если для параметра <GenerateResponse> задано значение true, то при выполнении операций проверки и подтверждения правила возвращают ошибки в следующем формате: Полный список приведен в справочнике по HTTP-ответам с ошибками OAuth.

{  
   {  
      "fault":{  
         "faultstring":"Invalid Access Token",
         "detail":{  
            "errorcode":"keymanagement.service.invalid_access_token"
         }
      }
   }

Пример правила обработки ошибок

<FaultRule name=OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientResponse</Name>
        <Condition>(fault.name = "invalid_client") OR (fault.name = "InvalidClientIdentifier")</Condition>
    </Step>
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
        <Condition>(fault.name = "invalid_access_token")</Condition>
    </Step>
    <Condition>(oauthV2.failed = true) </Condition>
</FaultRule>

Правило GetOAuthV2Info

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .

Ошибки выполнения

Эти ошибки могут возникнуть при выполнении политики. Имена ошибок, показанные ниже, представляют собой строки, которые присваиваются переменной fault.name при возникновении ошибки. Более подробную информацию см. в разделе «Переменные неисправности» ниже.

Код неисправности Статус HTTP Причина
steps.oauth.v2.access_token_expired 500 Срок действия маркера доступа, отправленного в политику, истек.
steps.oauth.v2.authorization_code_expired 500 Срок действия кода авторизации, отправленного в политику, истек.
steps.oauth.v2.invalid_access_token 500 Токен доступа, отправленный в политику, недействителен.
steps.oauth.v2.invalid_client-invalid_client_id 500 Идентификатор клиента, отправленный в политику, недействителен.
steps.oauth.v2.invalid_refresh_token 500 Токен обновления, отправленный в политику, недействителен.
steps.oauth.v2.invalid_request-authorization_code_invalid 500 Код авторизации, отправленный в политику, недействителен.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Пожалуйста, прочтите этот пост сообщества Apigee для получения информации об устранении этой ошибки.
steps.oauth.v2.refresh_token_expired 500 Срок действия токена обновления, отправленного в политику, истек.

Ошибки развертывания

Обратитесь к сообщению, отображаемому в пользовательском интерфейсе, для получения информации об ошибках развертывания.

Переменные неисправности

Эти переменные устанавливаются, когда эта политика вызывает ошибку во время выполнения.

Переменные Где Пример
fault.name=" fault_name " fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. fault.name Matches "IPDeniedAccess"
oauthV2. policy_name .failed policy_name — указанное пользователем имя политики, вызвавшей ошибку. oauthV2.GetTokenInfo.failed = true
oauthV2. policy_name .fault.name policy_name — указанное пользователем имя политики, вызвавшей ошибку. oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2. policy_name .fault.cause policy_name — указанное пользователем имя политики, вызвавшей ошибку. oauthV2.GetTokenInfo.cause = ClientID is Invalid

Пример ответа об ошибке

{  
   "fault":{  
      "faultstring":"ClientId is Invalid",
      "detail":{  
         "errorcode":"keymanagement.service.invalid_client-invalid_client_id"
      }
   }
}

Пример правила неисправности

<FaultRule name="OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientIdResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>

Правило SetOAuthV2Info

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина
steps.oauth.v2.access_token_expired 500 Срок действия токена доступа, отправленного в правило, истек.
steps.oauth.v2.invalid_access_token 500 Токен доступа, отправленный в правило, недействителен.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Информацию об устранении этой ошибки можно найти в сообществе Apigee.

Ошибки развертывания

Информацию об ошибках развертывания можно найти в сообщении, которое показывается в интерфейсе.

Переменные ошибок

Эти переменные задаются, когда правило вызывает ошибку во время выполнения.

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. oauthV2.SetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name – заданное пользователем название правила, которое вызвало ошибку. oauthV2.SetTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name – заданное пользователем название правила, которое вызвало ошибку. oauthV2.SetTokenInfo.cause = Invalid Access Token

Пример ответа об ошибке

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

Пример правила обработки ошибок

<FaultRule name=SetOAuthV2Info Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
        <Condition>(fault.name = "invalid_access_token")</Condition>
    </Step>
    <Condition>(oauthV2.failed = true) </Condition>
</FaultRule>

Правило DeleteOAuthV2Info

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина
steps.oauth.v2.invalid_access_token 401 Токен доступа, отправленный в правило, недействителен.
steps.oauth.v2.invalid_request-authorization_code_invalid 401 Код авторизации, отправленный правилу, недействителен.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Информацию об устранении этой ошибки можно найти в сообществе Apigee.

Ошибки развертывания

Информацию об ошибках развертывания можно найти в сообщении, которое показывается в интерфейсе.

Переменные ошибок

Эти переменные задаются, когда правило вызывает ошибку во время выполнения.

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. oauthV2.DeleteTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name – заданное пользователем название правила, которое вызвало ошибку. oauthV2.DeleteTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name – заданное пользователем название правила, которое вызвало ошибку. oauthV2.DeleteTokenInfo.cause = Invalid Access Token

Пример ответа об ошибке

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

Пример правила обработки ошибок

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>

Правила OAuthv1.0a

Тип политики OAuthV1 определяет следующие коды ошибок.

Коды ошибок HTTP, связанные с OAuth, см. в Справочнике по ответу на ошибку HTTP OAuth .

Код ошибки Сообщение
AppKeyNotResolved Could not resolve the app key with variable {0}
ConsumerKeyNotResolved Could not resolve the consumer key with variable {0}
RequestTokenNotResolved Could not resolve the request token with the variable {0}
AccessTokenNotResolved Could not resolve the access token with the variable {0}
ResponseGenerationError Error while generating response : {0}
UnableToDetermineOperation Unable to determine an operation for stepDefinition {0}
UnableToResolveOAuthConfig Unable to resolve the OAuth configuration for {0}
AtLeastOneParamRequired At least one of AccessToken, RequestToken or ConsumerKey must be specified in stepDefinition {0}
SpecifyValueOrRefReqToken Specify Request Token as value or ref in stepDefinition {0}
SpecifyValueOrRefAccToken Specify Access Token as value or ref in stepDefinition {0}
SpecifyValueOrRefConKey Specify Consumer Key as value or ref in stepDefinition {0}
SpecifyValueOrRefAppKey Specify App Key as value or ref in stepDefinition {0}
ExpiresInNotApplicableForOperation ExpiresIn element is not valid for operation {0}
InvalidValueForExpiresIn Invalid value for ExpiresIn element for operation {0}
FailedToFetchApiProduct Failed to fetch api product for key {0}
InvalidTokenType Valid token types : {0}, Invalid toke type {1} in stepDefinition {2}
TokenValueRequired Token value is required in stepDefinition {0}
FailedToResolveRealm Failed to resolve realm {0}

Правило GetOAuthV1Info

Для политики Get OAuth v1.0a Info не указаны коды ошибок.

Правило DeleteOAuthV1Info

В случае успеха политика возвращает статус 200.

В случае сбоя политика возвращает ошибку 404 и выдает следующий результат (в зависимости от того, удаляете ли вы токен доступа, токен запроса или средство проверки):

HTTP/1.1 404 Not Found
Content-Type: application/json
Content-Length: 144
Connection: keep-alive

{"fault":{"faultstring":"Invalid Access Token","detail":{"errorcode":"keymanagement.service.invalid_request-access_token_invalid"}}}

Правила в отношении PythonScript

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.script.ScriptEvaluationFailed 500 Правило PythonScript может вызывать ошибки ScriptExecutionFailed разных типов. Чаще всего встречаются ошибки NameError и ZeroDivisionError.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidResourceUrlFormat Если формат URL ресурса, указанного в элементе <ResourceURL> или <IncludeURL> правила PythonScript, недопустим, развертывание прокси-сервера API завершится неудачно.
InvalidResourceUrlReference Если элементы <ResourceURL> или <IncludeURL> ссылаются на несуществующий файл PythonScript, развертывание прокси-сервера API завершится неудачно. Указанный исходный файл должен существовать на уровне прокси-сервера API, среды или организации.

Переменные ошибок

Эти переменные задаются, когда правило вызывает ошибку во время выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "ScriptExecutionFailed"
pythonscript.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. pythonscript.PythonScript-1.failed = true

Пример ответа об ошибке

{
  "fault": {
    "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"",
    "detail": {
      "errorcode": "steps.script.ScriptExecutionFailed"
    }
  }
}

Пример правила обработки ошибок

<FaultRule name="PythonScript Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition>
    </Step>
    <Condition>(pythonscript.PythonScript-1.failed = true) </Condition>
</FaultRule>

Политики в отношении квот

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
policies.ratelimit.FailedToResolveQuotaIntervalReference 500 Возникает, если элемент <Interval> не определен в правиле квоты. Этот элемент обязателен и используется для указания временного интервала, к которому применяется квота. Временной интервал может быть в минутах, часах, днях, неделях или месяцах, как определено в элементе <TimeUnit>.
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference 500 Возникает, если элемент <TimeUnit> не определен в правиле квоты. Этот элемент обязателен. Он используется для указания единицы времени, к которой относится квота. Временной интервал может быть указан в минутах, часах, днях, неделях или месяцах.
policies.ratelimit.InvalidMessageWeight 500 Возникает, если значение элемента <MessageWeight>, заданное с помощью переменной потока, является недопустимым (нецелым числом).
policies.ratelimit.QuotaViolation 500 Превышено ограничение по квоте. Н/Д

Ошибки развертывания

Название ошибки Причина Исправить
InvalidQuotaInterval Если интервал квоты, указанный в элементе <Interval>, не является целым числом, развертывание прокси-сервера API завершится неудачно. Например, если интервал квоты, указанный в элементе <Interval>, равен 0,1, развертывание прокси-сервера API завершится неудачно.
InvalidQuotaTimeUnit Если единица времени, указанная в элементе <TimeUnit>, не поддерживается, развертывание прокси-сервера API завершится неудачно. Поддерживаются следующие единицы времени: minute, hour, day, week и month.
InvalidQuotaType Если тип квоты, указанный в атрибуте type элемента <Quota>, недопустим, развертывание прокси-сервера API завершится неудачно. Поддерживаются следующие типы квот: default, calendar, flexi и rollingwindow.
InvalidStartTime Если формат времени, указанный в элементе <StartTime>, недопустим, развертывание прокси-сервера API завершится неудачно. Допустимый формат: yyyy-MM-dd HH:mm:ss, где ISO 8601 – формат даты и времени. Например, если в элементе <StartTime> указано время 7-16-2017 12:00:00, развертывание прокси-сервера API завершится неудачно.
StartTimeNotSupported Если указан элемент <StartTime>, тип квоты которого не является типом calendar, развертывание прокси-сервера API завершится неудачно. Элемент <StartTime> поддерживается только для типа квоты calendar. Например, если в элементе <Quota> атрибуту type присвоено значение flexi или rolling window, развертывание прокси-сервера API завершится неудачно.
InvalidTimeUnitForDistributedQuota Если для элемента <Distributed> задано значение true, а для элемента <TimeUnit> – second, развертывание прокси-сервера API завершится неудачно. Единица времени second недопустима для распределенной квоты.
InvalidSynchronizeIntervalForAsyncConfiguration Если значение, указанное для элемента <SyncIntervalInSeconds> в элементе <AsynchronousConfiguration> в правиле квоты, меньше нуля, развертывание прокси-сервера API завершится неудачно.
InvalidAsynchronizeConfigurationForSynchronousQuota Если в правиле квоты значение элемента <AsynchronousConfiguration> задано как true, а асинхронная конфигурация определена с помощью элемента <AsynchronousConfiguration>, то развертывание прокси-сервера API завершится неудачно.

Переменные ошибок

Эти переменные задаются, когда правило вызывает ошибку. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "QuotaViolation"
ratelimit.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. ratelimit.QT-QuotaPolicy.failed = true

Пример ответа об ошибке

{  
   "fault":{  
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      },
      "faultstring":"Rate limit quota violation. Quota limit  exceeded. Identifier : _default"
   }
}

Пример правила обработки ошибок

<FaultRules>
    <FaultRule name="Quota Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "QuotaViolation") </Condition>
        </Step>
        <Condition>ratelimit.Quota-1.failed=true</Condition>
    </FaultRule>
</FaultRules>

Правило ResetQuota

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
policies.resetquota.InvalidRLPolicy 500 Политика квот, указанная в элементе <Quota> политики "Сброс квот", не определена в прокси-сервере API и поэтому недоступна во время выполнения. Элемент <Quota> обязателен и определяет целевую политику квот, счетчик которой нужно обновить с помощью политики сброса квот.
policies.resetquota.FailedToResolveAllowCountRef Н/Д Ссылка на переменную, содержащую количество разрешений, в элементе <Allow> правил не может быть преобразована в значение. Этот обязательный элемент указывает, на сколько нужно уменьшить счетчик квоты.
policies.resetquota.FailedToResolveRLPolicy 500 Не удалось обработать переменную, на которую ссылается атрибут ref в элементе <Quota>.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidCount Если значение счетчика, указанное в элементе <Allow> правила сброса квоты, не является целым числом, развертывание прокси-сервера API завершится неудачно.

Правило RaiseFault

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и как устранять неполадки…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина
steps.raisefault.RaiseFault 500 Посмотреть строку ошибки.

Ошибки развертывания

Нет.

Переменные ошибок

Эти переменные задаются при возникновении ошибки выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name = "RaiseFault"
raisefault.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. raisefault.RF-ThrowError.failed = true

Пример ответа об ошибке

{
   "fault":{
      "detail":{
         "errorcode":"steps.raisefault.RaiseFault"
      },
      "faultstring":"Raising fault. Fault name: [name]"
   }
}

Правило RegularExpressionProtection

В этом разделе описаны коды ошибок и сообщения, возвращаемые Edge, а также переменные ошибок, заданные при срабатывании этого правила. Эта информация важна, если вы разрабатываете правила обработки ошибок. Если вы хотите перехватить ошибку и создать собственную, задайте атрибут continueOnError="true" в корневом элементе правила. Подробнее о том, что нужно знать об ошибках в правилах, и о том, как устранять неполадки…

Ошибки, возвращаемые правилами Edge, имеют единый формат, описанный в справочнике кодов ошибок.

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Сообщение
ExecutionFailed Не удалось выполнить шаг определения защиты с помощью регулярных выражений {0}. Причина: {1}
InstantiationFailed Не удалось создать экземпляр RegularExpressionProtection StepDefinition {0}
NonMessageVariable Переменная {0} не преобразуется в сообщение
SourceMessageNotAvailable Сообщение {0} недоступно для шага RegularExpressionProtection {1}
ThreatDetected В {0} обнаружена угроза, связанная с регулярным выражением: regex: {1} input: {2}
VariableResolutionFailed Не удалось распознать переменную {0}

Ошибки развертывания

Код ошибки Сообщение Исправить
CannotBeConvertedToNodeset RegularExpressionProtection {0}: результат xpath {1} нельзя преобразовать в набор узлов. Контекст {2}
DuplicatePrefix RegularExpressionProtection {0}: повторяющийся префикс {1}
EmptyJSONPathExpression RegularExpressionProtection {0}: пустое выражение JSONPath
EmptyXPathExpression RegularExpressionProtection {0}: пустой XPath-запрос
InvalidRegularExpression RegularExpressionProtection {0}: недопустимое регулярное выражение {1}, контекст {2}
JSONPathCompilationFailed RegularExpressionProtection {0}: не удалось скомпилировать jsonpath {1}. Контекст {2}
NONEmptyPrefixMappedToEmptyURI RegularExpressionProtection {0}: непустой префикс {1} нельзя сопоставить с пустым URI
NoPatternsToEnforce RegularExpressionProtection {0}: в {1} нет шаблонов для применения
NothingToEnforce RegularExpressionProtection {0}: необходимо указать хотя бы один из следующих параметров: URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload
XPathCompilationFailed RegularExpressionProtection {0}: не удалось скомпилировать xpath {1}. Контекст {2}

Переменные ошибок

Эти переменные задаются, когда правило вызывает ошибку. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице выше. fault.name Matches "ThreatDetected"
regularexpressionprotection.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. regularexpressionprotection.Regular-Expressions-Protection-1.failed = true

Правило SOAPMessageValidation

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.messagevalidation.SourceMessageNotAvailable 500

Эта ошибка возникает, если переменная, указанная в элементе <Source> правил,

  • недоступно (недоступно в определенном процессе, в котором выполняется правило).
  • или
  • не может быть разрешен (не определен);
steps.messagevalidation.NonMessageVariable 500

Эта ошибка возникает, если для элемента <Source> в правиле SOAPMessageValidation задана переменная, тип которой не message.

Переменные типа сообщения представляют собой полные HTTP-запросы и ответы. Встроенные переменные потока Edge request, response и message имеют тип message. Подробнее о переменных в сообщениях…

steps.messagevalidation.Failed 500 Эта ошибка возникает, если правилу SOAPMessageValidation не удается проверить полезную нагрузку входного сообщения на соответствие схеме XSD или определению WSDL. Она также возникает, если в сообщении полезной нагрузки есть неверно сформированный код JSON или XML.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidResourceType Элемент <ResourceURL> в правиле SOAPMessageValidation задан для типа ресурса, который не поддерживается правилом.
ResourceCompileFailed Скрипт ресурса, на который ссылается элемент <ResourceURL> правила SOAPMessageValidation, содержит ошибку, из-за которой его не удается скомпилировать.
RootElementNameUnspecified Элемент <Element> в правиле SOAPMessageValidation не содержит название корневого элемента.
InvalidRootElementName Элемент <Element> в правиле SOAPMessageValidation содержит название корневого элемента, которое не соответствует правилам XML для допустимых названий элементов.

Правила SAMLAssertion

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
SourceNotConfigured Один или несколько из следующих элементов правила Validate SAML Assertion (Проверка утверждения SAML) не определены или пусты: <Source>, <XPath>, <Namespaces>, <Namespace>.
TrustStoreNotConfigured Если элемент <TrustStore> пуст или не указан в правиле ValidateSAMLAssertion, развертывание прокси-сервера API завершится неудачно. Требуется действительный значок "Надежный магазин".
NullKeyStoreAlias Если дочерний элемент <Alias> пуст или не указан в элементе <Keystore> правила "Создать утверждение SAML", развертывание прокси API завершится неудачно. Требуется действительный псевдоним хранилища ключей.
NullKeyStore Если дочерний элемент <Name> пуст или не указан в элементе <Keystore> правила GenerateSAMLAssertion, развертывание прокси API завершится неудачно. Требуется указать действительное название хранилища ключей.
NullIssuer Если элемент <Issuer> пуст или не указан в правиле "Создать утверждение SAML", развертывание прокси-сервера API завершится неудачно. Необходимо указать действительное значение <Issuer>.

Переменные ошибок

Эти переменные задаются при возникновении ошибки выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки. Название ошибки – это последняя часть кода ошибки. fault.name = "InvalidMediaTpe"
GenerateSAMLAssertion.failed Для конфигурации правила проверки утверждения SAML префикс ошибки – ValidateSAMLAssertion. GenerateSAMLAssertion.failed = true

Пример ответа об ошибке

{
  "fault": {
    "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type",
    "detail": {
      "errorcode": "steps.saml.generate.InvalidMediaTpe"
    }
  }
}

Пример правила обработки ошибок

<FaultRules>
    <FaultRule name="invalid_saml_rule">
        <Step>
            <Name>invalid-saml</Name>
        </Step>
        <Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
    </FaultRule>
</FaultRules>

Правила ServiceCallout

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.servicecallout.ExecutionFailed 500

Эта ошибка может возникнуть в следующих случаях:

  • правила должны обрабатывать неверные или недействительные входные данные.
  • целевой сервис возвращает статус ошибки (по умолчанию 4xx или 5xx).
steps.servicecallout.RequestVariableNotMessageType 500 Переменная Request, указанная в правиле, не относится к типу Message. Например, если это строка или другой тип, отличный от сообщения, вы увидите эту ошибку.
steps.servicecallout.RequestVariableNotRequestMessageType 500 Переменная запроса, указанная в правиле, не относится к типу "Сообщение запроса". Например, если это тип Response, вы увидите эту ошибку.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
URLMissing Элемент <URL> внутри <HTTPTargetConnection> отсутствует или не заполнен.
ConnectionInfoMissing Эта ошибка возникает, если в правиле нет элемента <HTTPTargetConnection> или <LocalTargetConnection>.
InvalidTimeoutValue Эта ошибка возникает, если значение <Timeout> отрицательное или нулевое.

Переменные ошибок

Эти переменные задаются при возникновении ошибки выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name = "RequestVariableNotMessageType"
servicecallout.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. servicecallout.SC-GetUserData.failed = true

Пример ответа об ошибке

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.servicecallout.RequestVariableNotMessageType"
      },
      "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: 
            request variable data_str value is not of type Message"
   }
}

Пример правила обработки ошибок

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType">
    <Step>
        <Name>AM-RequestVariableNotMessageType</Name>
    </Step>
    <Condition>(fault.name = "RequestVariableNotMessageType")</Condition>
</FaultRule>

Правила SpikeArrest

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и как устранять неполадки…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
policies.ratelimit.FailedToResolveSpikeArrestRate 500 Эта ошибка возникает, если ссылку на переменную, содержащую настройку скорости, в элементе <Rate> не удается преобразовать в значение в правиле Spike Arrest. Этот обязательный элемент используется для указания скорости подавления пиков в формате intpm или intps.
policies.ratelimit.InvalidMessageWeight 500 Эта ошибка возникает, если значение, указанное для элемента <MessageWeight> с помощью переменной потока, является недопустимым (не целым числом).
policies.ratelimit.SpikeArrestViolation 429

Превышено ограничение на частоту запросов.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidAllowedRate Если указанное в элементе <Rate> правила Spike Arrest значение частоты не является целым числом или не имеет суффикса ps или pm, развертывание прокси-сервера API завершится неудачей.

Переменные ошибок

Эти переменные задаются при возникновении ошибки выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "SpikeArrestViolation"
ratelimit.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. ratelimit.SA-SpikeArrestPolicy.failed = true

Пример ответа об ошибке

Ниже приведен пример ответа с ошибкой:

{  
   "fault":{  
      "detail":{  
         "errorcode":"policies.ratelimit.SpikeArrestViolation"
      },
      "faultstring":"Spike arrest violation. Allowed rate : 10ps"
   }
}

Пример правила обработки ошибок

Ниже приведен пример правила обработки ошибок для ошибки SpikeArrestViolation:

<FaultRules>
    <FaultRule name="Spike Arrest Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "SpikeArrestViolation") </Condition>
        </Step>
        <Condition>ratelimit.Spike-Arrest-1.failed=true</Condition>
    </FaultRule>
</FaultRules>

Правила StatisticsCollector

В этом разделе описаны сообщения об ошибках и переменные потока, которые устанавливаются, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок для прокси. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Нет.

Ошибки развертывания

Название ошибки Причина Исправить
UnsupportedDatatype Если тип переменной, указанный в атрибуте ref элемента <Statistic> правила "Сборщик статистики", не поддерживается, развертывание прокси-сервера API завершится неудачно. Поддерживаются следующие типы данных: string, integer, float, long, double и boolean.
InvalidName Если название, используемое для ссылки на данные, собранные для указанной переменной, определенной в элементе <Statistic> правила "Сборщик статистики", конфликтует с системной переменной, развертывание прокси-сервера API завершится неудачно. К известным системным переменным относятся, например, organization и environment.
DatatypeMissing Если тип переменной, указанной в атрибуте ref элемента <Statistic> правила "Сборщик статистики", отсутствует, развертывание прокси-сервера API завершится неудачно.

Переменные ошибок

Нет.

Правило VerifyAPIKey

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина
keymanagement.service.CompanyStatusNotActive 401 Компания, связанная с приложением для разработчиков, в котором используется ваш ключ API, имеет неактивный статус. Если статус компании неактивен, вы не сможете получить доступ к разработчикам или приложениям, связанным с этой компанией. Администратор организации может изменить статус компании с помощью API управления. Подробнее о том, как задать статус компании…
keymanagement.service.DeveloperStatusNotActive 401

У разработчика, создавшего приложение, в котором используется ваш ключ API, неактивный статус. Если статус разработчика приложений установлен как неактивный, все созданные им приложения разработчика деактивируются. Администратор с соответствующими разрешениями (например, администратор организации) может изменить статус разработчика следующими способами:

keymanagement.service.invalid_client-app_not_approved 401 Приложение разработчика, связанное с ключом API, отозвано. Приложение, доступ которого был отозван, не может получить доступ к каким-либо продуктам API и вызвать какой-либо API, управляемый Apigee Edge. Администратор организации может изменить статус приложения разработчика с помощью API управления. Подробнее о том, как одобрить или отозвать доступ к приложению разработчика…
oauth.v2.FailedToResolveAPIKey 401 Правило ожидает найти ключ API в переменной, указанной в элементе <APIKey>. Эта ошибка возникает, когда ожидаемая переменная не существует (не может быть разрешена).
oauth.v2.InvalidApiKey 401 Edge получил ключ API, но он недействителен. Когда Edge ищет ключ в своей базе данных, он должен точно соответствовать тому, который был отправлен в запросе. Если API работал раньше, убедитесь, что ключ не был сгенерирован повторно. Если ключ был сгенерирован повторно, при попытке использовать старый ключ вы увидите эту ошибку. Подробнее о том, как регистрировать приложения и управлять ключами API…
oauth.v2.InvalidApiKeyForGivenResource 401 Edge получил действительный ключ API, но он не совпадает с одобренным ключом в приложении разработчика, связанном с вашим прокси-сервером API через продукт.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина
SpecifyValueOrRefApiKey В элементе <APIKey> не указано значение или ключ.

Переменные ошибок

Эти переменные задаются при возникновении ошибки выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "FailedToResolveAPIKey"
oauthV2.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. oauthV2.VK-VerifyAPIKey.failed = true

Примеры ответов об ошибках

{
   "fault":{
      "faultstring":"Invalid ApiKey",
      "detail":{
         "errorcode":"oauth.v2.InvalidApiKey"
      }
   }
}
{
   "fault":{
      "detail":{
         "errorcode":"keymanagement.service.DeveloperStatusNotActive"
      },
      "faultstring":"Developer Status is not Active"
   }
}

Пример правила обработки ошибок

<FaultRule name="FailedToResolveAPIKey">
    <Step>
        <Name>AM-FailedToResolveAPIKey</Name>
    </Step>
    <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition>
</FaultRule>

Правило VerifyJWS

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Когда возникает
steps.jws.AlgorithmInTokenNotPresentInConfiguration 401 Возникает, когда в правилах проверки указано несколько алгоритмов.
steps.jws.AlgorithmMismatch 401 Алгоритм, указанный в заголовке правилом Generate, не совпадает с алгоритмом, ожидаемым в правиле Verify. Указанные алгоритмы должны совпадать.
steps.jws.ContentIsNotDetached 401 <DetachedContent> указывается, когда JWS не содержит отсоединенную полезную нагрузку контента.
steps.jws.FailedToDecode 401 Правило не смогло декодировать JWS. Возможно, JWS поврежден.
steps.jws.InsufficientKeyLength 401 Для ключа длиной менее 32 байт для алгоритма HS256
steps.jws.InvalidClaim 401 Если отсутствует или не совпадает утверждение, заголовок или значение заголовка.
steps.jws.InvalidCurve 401 Кривая, указанная ключом, не подходит для алгоритма на основе эллиптических кривых.
steps.jws.InvalidJsonFormat 401 В заголовке JWS найден недопустимый JSON.
steps.jws.InvalidJws 401 Эта ошибка возникает, когда не удается проверить подпись JWS.
steps.jws.InvalidPayload 401 Недействительная полезная нагрузка JWS.
steps.jws.InvalidSignature 401 <DetachedContent> отсутствует, а полезная нагрузка контента JWS отделена.
steps.jws.KeyIdMissing 401 Правило Verify использует JWKS в качестве источника открытых ключей, но подписанный JWS не содержит свойство kid в заголовке.
steps.jws.KeyParsingFailed 401 Не удалось проанализировать открытый ключ на основе предоставленной информации.
steps.jws.MissingPayload 401 Отсутствует полезная нагрузка JWS.
steps.jws.NoAlgorithmFoundInHeader 401 Возникает, когда в заголовке JWS отсутствует алгоритм.
steps.jws.NoMatchingPublicKey 401 Правило Verify использует JWKS в качестве источника открытых ключей, но kid в подписанном JWS не указан в JWKS.
steps.jws.UnhandledCriticalHeader 401 Заголовок, найденный правилом Verify JWS в заголовке crit, не указан в KnownHeaders.
steps.jws.UnknownException 401 Произошло неизвестное исключение.
steps.jws.WrongKeyType 401 Указан ключ неправильного типа. Например, если вы укажете ключ RSA для алгоритма на эллиптических кривых или ключ на эллиптических кривых для алгоритма RSA.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Когда возникает
InvalidAlgorithm Допустимые значения: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

Другие возможные ошибки развертывания.

Переменные неисправности

Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .

Переменные Где Пример
fault.name=" fault_name " fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. fault.name Matches "TokenExpired"
JWS.failed Все политики JWS устанавливают одну и ту же переменную в случае сбоя. jws.JWS-Policy.failed = true

Пример ответа об ошибке

Для обработки ошибок лучше всего перехватывать часть errorcode в ответе на ошибку. Не полагайтесь на текст в faultstring , поскольку он может измениться.

Пример правила неисправности

<FaultRules>
    <FaultRule name="JWS Policy Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "TokenExpired")</Condition>
        </Step>
        <Condition>JWS.failed=true</Condition>
    </FaultRule>
</FaultRules>

Правило VerifyJWT

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Когда возникает
steps.jwt.AlgorithmInTokenNotPresentInConfiguration 401 Возникает, когда в правиле проверки используется несколько алгоритмов.
steps.jwt.AlgorithmMismatch 401 Алгоритм, указанный в правиле Generate, не совпадает с алгоритмом, ожидаемым в правиле Verify. Указанные алгоритмы должны совпадать.
steps.jwt.FailedToDecode 401 Правило не смогло декодировать JWT. Возможно, JWT поврежден.
steps.jwt.GenerationFailed 401 Правило не смогло сгенерировать JWT.
steps.jwt.InsufficientKeyLength 401 Для ключа размером менее 32 байт для алгоритма HS256, менее 48 байт для алгоритма HS386 и менее 64 байт для алгоритма HS512.
steps.jwt.InvalidClaim 401 Если отсутствует или не совпадает утверждение, заголовок или значение заголовка.
steps.jwt.InvalidCurve 401 Кривая, указанная ключом, не подходит для алгоритма на основе эллиптических кривых.
steps.jwt.InvalidJsonFormat 401 В заголовке или полезной нагрузке найден недопустимый код JSON.
steps.jwt.InvalidToken 401 Эта ошибка возникает, когда не удается проверить подпись JWT.
steps.jwt.JwtAudienceMismatch 401 Не удалось проверить утверждение аудитории в токене.
steps.jwt.JwtIssuerMismatch 401 При проверке токена не удалось подтвердить утверждение издателя.
steps.jwt.JwtSubjectMismatch 401 Не удалось проверить утверждение subject в токене.
steps.jwt.KeyIdMissing 401 Правило Verify использует JWKS в качестве источника открытых ключей, но подписанный JWT не содержит свойство kid в заголовке.
steps.jwt.KeyParsingFailed 401 Не удалось проанализировать открытый ключ на основе предоставленной информации.
steps.jwt.NoAlgorithmFoundInHeader 401 Возникает, когда в токене JWT нет заголовка алгоритма.
steps.jwt.NoMatchingPublicKey 401 Правило Verify использует JWKS в качестве источника открытых ключей, но kid в подписанном JWT не указан в JWKS.
steps.jwt.SigningFailed 401 В GenerateJWT для ключа, размер которого меньше минимального для алгоритмов HS384 или HS512
steps.jwt.TokenExpired 401 Правило пытается проверить токен, срок действия которого истек.
steps.jwt.TokenNotYetValid 401 Токен ещё не действителен.
steps.jwt.UnhandledCriticalHeader 401 Заголовок, найденный правилом Verify JWT в заголовке crit, не указан в KnownHeaders.
steps.jwt.UnknownException 401 Произошло неизвестное исключение.
steps.jwt.WrongKeyType 401 Указан ключ неправильного типа. Например, если вы укажете ключ RSA для алгоритма на эллиптических кривых или ключ на эллиптических кривых для алгоритма RSA.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
InvalidNameForAdditionalClaim Развертывание завершится неудачно, если в дочернем элементе <Claim> элемента <AdditionalClaims> используется одно из следующих зарегистрированных имен: kid, iss, sub, aud, iat, exp, nbf или jti.
InvalidTypeForAdditionalClaim Если в дочернем элементе <Claim> элемента <AdditionalClaims> используется заявка не типа string, number, boolean или map, развертывание завершится неудачно.
MissingNameForAdditionalClaim Если название заявки не указано в дочернем элементе <Claim> элемента <AdditionalClaims>, развертывание завершится неудачно.
InvalidNameForAdditionalHeader Эта ошибка возникает, когда название требования, используемого в дочернем элементе <Claim> элемента <AdditionalClaims>, – alg или typ.
InvalidTypeForAdditionalHeader Если тип заявки, указанный в дочернем элементе <Claim> элемента <AdditionalClaims>, не относится к типу string, number, boolean или map, развертывание завершится неудачно.
InvalidValueOfArrayAttribute Эта ошибка возникает, когда значение атрибута массива в дочернем элементе <Claim> элемента <AdditionalClaims> не равно true или false.
InvalidValueForElement Если значение, указанное в элементе <Algorithm>, не является допустимым значением, развертывание завершится неудачно.
MissingConfigurationElement Эта ошибка возникает, если элемент <PrivateKey> не используется с алгоритмами семейства RSA, а элемент <SecretKey> – с алгоритмами семейства HS.
InvalidKeyConfiguration Если дочерний элемент <Value> не определен в элементах <PrivateKey> или <SecretKey>, развертывание завершится неудачно.
EmptyElementForKeyConfiguration Если атрибут ref дочернего элемента <Value> элементов <PrivateKey> или <SecretKey> пуст или не указан, развертывание завершится неудачно.
InvalidConfigurationForVerify Эта ошибка возникает, если элемент <Id> определен в элементе <SecretKey>.
InvalidEmptyElement Эта ошибка возникает, если элемент <Source> правила Verify JWT пуст. Если он присутствует, то должен быть определен с именем переменной потока Edge.
InvalidPublicKeyValue Если значение, используемое в дочернем элементе <JWKS> элемента <PublicKey>, не соответствует допустимому формату, указанному в RFC 7517, развертывание завершится неудачно.
InvalidConfigurationForActionAndAlgorithm Если элемент <PrivateKey> используется с алгоритмами семейства HS или элемент <SecretKey> используется с алгоритмами семейства RSA, развертывание завершится неудачно.

Переменные неисправности

Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .

Переменные Где Пример
fault.name=" fault_name " fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. fault.name Matches "TokenExpired"
JWT.failed Все политики JWT устанавливают одну и ту же переменную в случае сбоя. JWT.failed = true

Пример ответа об ошибке

Коды ошибок политики JWT

Для обработки ошибок лучше всего перехватывать часть errorcode в ответе на ошибку. Не полагайтесь на текст в faultstring , поскольку он может измениться.

Пример правила неисправности

    <FaultRules>
        <FaultRule name="JWT Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "TokenExpired")</Condition>
            </Step>
            <Condition>JWT.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

Правило XMLThreatProtection

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.xmlthreatprotection.ExecutionFailed 500 Правило XMLThreatProtection может вызывать ошибки ExecutionFailed разных типов. Большинство этих ошибок возникают, когда превышается определенный порог, заданный в правилах. К таким ошибкам относятся: длина названия элемента, количество дочерних элементов, глубина узла, количество атрибутов, длина названия атрибута и многие другие. Полный список приведен в разделе Устранение неполадок с ошибками выполнения правил XMLThreatProtection.
steps.xmlthreatprotection.InvalidXMLPayload 500 Эта ошибка возникает, если полезная нагрузка входного сообщения, указанная элементом <Source> правила XMLThreatProtection, не является действительным XML-документом.
steps.xmlthreatprotection.SourceUnavailable 500 Эта ошибка возникает, если переменная message, указанная в элементе <Source>, является:
  • Вне области действия (недоступно в определенном процессе, в котором выполняется правило).
  • Не является одним из допустимых значений: request, response или message.
steps.xmlthreatprotection.NonMessageVariable 500 Эта ошибка возникает, если для элемента <Source> задана переменная, которая не относится к типу message.

Примечания

  • Название ошибки ExecutionFailed является названием по умолчанию и возвращается независимо от типа обнаруженной ошибки. Однако это значение по умолчанию можно изменить, задав свойство на уровне организации. Если это свойство задано, название ошибки будет отражать фактическую ошибку. Например, TextExceeded или AttrValueExceeded. Подробную информацию можно найти в разделе Примечания по использованию.
  • По умолчанию используется статус HTTP 500, но его можно изменить на 400 для ошибок в потоке запросов, задав свойство на уровне организации. Подробную информацию можно найти в разделе Примечания по использованию.

Ошибки развертывания

Нет.

Переменные ошибок

Эти переменные задаются при возникновении ошибки выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name Matches "SourceUnavailable"
xmlattack.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. xmlattack.XPT-SecureRequest.failed = true

Пример ответа об ошибке

{
  "fault": {
    "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2",
    "detail": {
      "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
    }
  }
}

Пример правила обработки ошибок

<FaultRule name="XML Threat Protection Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ExecutionFailed") </Condition>
    </Step>
    <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition>
</FaultRule>

Правило XMLtoJSON

В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые задаются Edge, когда это правило вызывает ошибку. Эта информация важна, если вы разрабатываете правила обработки ошибок. Подробнее о том, что нужно знать об ошибках в правилах и об обработке ошибок…

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.xmltojson.ExecutionFailed 500 Эта ошибка возникает, когда входные данные (XML) пусты или имеют неверный формат.
steps.xmltojson.InCompatibleType 500 Эта ошибка возникает, если тип переменной, определенный в элементе <Source>, не совпадает с типом переменной, определенным в элементе <OutputVariable>. Типы переменных, содержащихся в элементах <Source> и <OutputVariable>, должны совпадать.
steps.xmltojson.InvalidSourceType 500 Эта ошибка возникает, если тип переменной, используемой для определения элемента <Source>, недопустим.Допустимые типы переменных – message и string.
steps.xmltojson.OutputVariableIsNotAvailable 500 Эта ошибка возникает, если переменная, указанная в элементе <Source> правила XML в JSON, имеет строковый тип, а элемент <OutputVariable> не определен. Элемент <OutputVariable> обязателен, если переменная, определенная в элементе <Source>, имеет тип string (строка).
steps.xmltojson.SourceUnavailable 500 Эта ошибка возникает, если переменная message, указанная в элементе <Source> правила XML в JSON, имеет одно из следующих значений:
  • недоступно (не поддерживается в определенном процессе, в котором выполняется правило);
  • не может быть разрешен (не определен);

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
EitherOptionOrFormat Если один из элементов <Options> или <Format> не объявлен в правиле XML в JSON, развертывание прокси-сервера API завершится неудачно.
UnknownFormat Если в элементе <Format> правила XML в JSON задан неизвестный формат, развертывание прокси-сервера API завершится неудачно. К ним относятся: xml.com, yahoo, google и badgerFish.

Переменные ошибок

Эти переменные задаются при возникновении ошибки выполнения. Подробнее о нарушениях правил…

Переменные Место Пример
fault.name="fault_name" fault_name – название ошибки, указанное в таблице Ошибки выполнения выше. Название ошибки – это последняя часть кода ошибки. fault.name = "SourceUnavailable"
xmltojson.policy_name.failed policy_name – заданное пользователем название правила, которое вызвало ошибку. xmltojson.XMLtoJSON-1.failed = true

Пример ответа об ошибке

{
  "fault": {
    "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available",
    "detail": {
      "errorcode": "steps.xml2json.SourceUnavailable"
    }
  }
}

Пример правила обработки ошибок

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults">
    <Step>
        <Name>AM-SourceUnavailableMessage</Name>
        <Condition>(fault.name Matches "SourceUnavailable") </Condition>
    </Step>
    <Step>
        <Name>AM-BadXML</Name>
        <Condition>(fault.name = "ExecutionFailed")</Condition>
    </Step>
    <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition>
</FaultRule>

Правила XSLTransform

Ошибки времени выполнения

Эти ошибки могут возникать при выполнении правил.

Код ошибки Статус HTTP Причина Исправить
steps.xsl.XSLSourceMessageNotAvailable 500 Эта ошибка возникает, если переменная сообщения или строки, указанная в элементе <Source> правила преобразования XSL, находится вне области действия (недоступна в определенном потоке, в котором выполняется правило) или не может быть разрешена (не определена).
steps.xsl.XSLEvaluationFailed 500 Эта ошибка возникает, если входные данные XML недоступны или имеют неверный формат, а также если правило XSLTransform не работает или не может преобразовать входной XML-файл на основе правил преобразования, указанных в XSL-файле. Причины сбоя правила XSLTransform могут быть разными. Причина ошибки в сообщении поможет вам понять, что произошло.

Ошибки развертывания

Эти ошибки могут возникать при развертывании прокси-сервера, содержащего это правило.

Название ошибки Причина Исправить
XSLEmptyResourceUrl Если элемент <ResourceURL> в правиле преобразования XSL пуст, развертывание прокси-сервера API завершится неудачно.
XSLInvalidResourceType Если тип ресурса, указанный в элементе <ResourceURL> правила XSL Transform, не является типом xsl, развертывание прокси-сервера API завершится неудачно.