Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Политика контроля доступа
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Причина | Исправить |
---|---|---|---|
accesscontrol.IPDeniedAccess | 403 | IP-адрес клиента или IP-адрес, переданный в запросе API, соответствует IP-адресу, указанному в элементе <SourceAddress> в элементе <MatchRule> политики контроля доступа, и установлен атрибут action элемента <MatchRule> DENY . | build |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Переменные, относящиеся к ошибкам политики .
Переменные | Где | Пример |
---|---|---|
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] | Н/Д | Используемый тип объекта должен быть одним из поддерживаемых типов . |
Политика назначения сообщений
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Причина | Исправить |
---|---|---|---|
steps.assignmessage.SetVariableFailed | 500 | Политике не удалось установить переменную. См. строку ошибки, чтобы узнать имя неразрешенной переменной. | |
steps.assignmessage.VariableOfNonMsgType | 500 | Эта ошибка возникает, если атрибуту Переменные типа сообщения представляют собой все HTTP-запросы и ответы. Встроенные переменные потока Edge | build |
steps.assignmessage.UnresolvedVariable | 500 | Эта ошибка возникает, если переменная, указанная в политике назначения сообщений:
| build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidIndex | Если индекс, указанный в элементах <Copy> и/или <Remove> политики назначения сообщений, равен 0 или отрицательному числу, развертывание прокси-сервера API завершается неудачей. | build |
InvalidVariableName | Если дочерний элемент <Name> пуст или не указан в элементе <AssignVariable> , развертывание прокси-сервера API завершается неудачей, поскольку отсутствует допустимое имя переменной, которой можно присвоить значение. Требуется допустимое имя переменной. | build |
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="VariableOfNonMsgType"></faultrule><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>
Политика базовой аутентификации
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Причина | Исправить |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource | 500 | При декодировании, когда входящая строка в кодировке Base64 не содержит допустимого значения или заголовок имеет неправильный формат (например, не начинается с «Basic»). | build |
steps.basicauthentication.UnresolvedVariable | 500 | Необходимые исходные переменные для декодирования или кодирования отсутствуют. Эта ошибка может возникнуть только в том случае, если IgnoreUnresolvedVariables имеет значение false. | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Происходит, когда | Исправить |
---|---|---|
UserNameRequired | Элемент <User> должен присутствовать для именованной операции. | build |
PasswordRequired | Элемент <Password> должен присутствовать для именованной операции. | build |
AssignToRequired | Элемент <AssignTo> должен присутствовать для именованной операции. | build |
SourceRequired | Элемент <Source> должен присутствовать для именованной операции. | build |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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 | Превышено соединение ConcurrentRatelimit. Ограничение на количество подключений: {0} Примечание. Код неисправности, показанный слева, верен, хотя и содержит опечатку («лимит»). Обязательно используйте код точно так, как показано здесь, при создании правил ошибок, чтобы перехватить эту ошибку. |
Ошибки развертывания
Название ошибки | Происходит, когда |
---|---|
InvalidCountValue | Указано неверное значение счетчика ConcurrentRatelimit. |
ConcurrentRatelimitStepAttachment\ | Вложение политики одновременного ограничения скорости {0} не разрешено в путях запроса/ответа/ошибки прокси-сервера. Эту политику необходимо разместить на целевой конечной точке. |
ConcurrentRatelimitStepAttachment\ | Вложение политики ограничения параллельной скорости {0} отсутствует в целевых путях запроса/ответа/ошибки. Эту политику необходимо поместить в предварительный поток целевого запроса, постпоток целевого ответа и DefaultFaultRule. |
InvalidTTLForMessageTimeOut | ConcurrentRatelimit неверное значение 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>
Политика декодированияJWS
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются 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. |
| Другие возможные ошибки развертывания. |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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>
Политика декодированияJWT
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникать при выполнении политики.
Код неисправности | Статус HTTP | Причина | Исправить |
---|---|---|---|
steps.jwt.FailedToDecode | 401 | Происходит, когда политике не удается декодировать JWT. JWT может быть искаженным, недействительным или не поддающимся декодированию по другим причинам. | build |
steps.jwt.FailedToResolveVariable | 401 | Происходит, когда переменная потока, указанная в элементе <Source> политики, не существует. | |
steps.jwt.InvalidToken | 401 | Происходит, когда переменная потока, указанная в элементе <Source> политики, выходит за рамки области действия или не может быть разрешена. | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidEmptyElement | Происходит, когда переменная потока, содержащая декодируемый JWT, не указана в элементе <Source> политики. | build |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
fault.name=" fault_name " | fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. | fault.name Matches "TokenExpired" |
JWT.failed | Все политики JWT устанавливают одну и ту же переменную в случае сбоя. | JWT.failed = true |
Пример ответа об ошибке
Для обработки ошибок лучше всего перехватывать часть 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>
Политика извлечения переменных
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Причина | Исправить |
---|---|---|---|
steps.extractvariables.ExecutionFailed | 500 | Эта ошибка возникает, когда:
| build |
steps.extractvariables.ImmutableVariable | 500 | Переменная, используемая в политике, является неизменяемой. Политике не удалось установить эту переменную. | |
steps.extractvariables.InvalidJSONPath | 500 | Эта ошибка возникает, если в элементе JSONPath политики используется недопустимый путь JSON. Например, если полезные данные JSON не имеют объекта Name , но вы указываете Name в качестве пути в политике, возникает эта ошибка. | build |
steps.extractvariables.JsonPathParsingFailure | 500 | Эта ошибка возникает, когда политике не удается проанализировать путь JSON и извлечь данные из переменной потока, указанной в элементе Source . Обычно это происходит, если переменная потока, указанная в элементе Source , не существует в текущем потоке. | build |
steps.extractvariables.SetVariableFailed | 500 | Эта ошибка возникает, если политика не может установить значение переменной. Ошибка обычно возникает, если вы пытаетесь присвоить значения нескольким переменным, имена которых начинаются с одних и тех же слов во вложенном формате, разделенном точками. | build |
steps.extractvariables.SourceMessageNotAvailable | 500 | Эта ошибка возникает, если переменная сообщения , указанная в элементе Source политики:
| build |
steps.extractvariables.UnableToCast | 500 | Эта ошибка возникает, если политике не удалось преобразовать извлеченное значение в переменную. Обычно это происходит, если вы пытаетесь установить значение одного типа данных в переменную другого типа данных. | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
NothingToExtract | Если в политике нет элементов URIPath , QueryParam , Header , FormParam , XMLPayload или JSONPayload , развертывание прокси-сервера API завершается неудачей, поскольку извлекать нечего. | build |
NONEmptyPrefixMappedToEmptyURI | Эта ошибка возникает, если у политики есть префикс, определенный в элементе Namespace под элементом XMLPayload , но URI не определен. | build |
DuplicatePrefix | Эта ошибка возникает, если политика имеет один и тот же префикс, определенный более одного раза в элементе Namespace под элементом XMLPayload . | build |
NoXPathsToEvaluate | Если в политике нет элемента XPath в элементе XMLPayload , развертывание прокси-сервера API завершается с ошибкой. | build |
EmptyXPathExpression | Если политика содержит пустое выражение XPath в элементе XMLPayload , развертывание прокси-сервера API завершается неудачно. | build |
NoJSONPathsToEvaluate | Если в политике нет элемента JSONPath внутри элемента JSONPayload , развертывание прокси-сервера API завершается с ошибкой. | build |
EmptyJSONPathExpression | Если политика содержит пустое выражение XPath в элементе XMLPayload , развертывание прокси-сервера API завершается неудачей. | build |
MissingName | Если политика не имеет атрибута name ни в одном из элементов политики, таких как QueryParam , Header , FormParam или Variable , где он необходим, то развертывание прокси-сервера API не удастся. | build |
PatternWithoutVariable | Если в политике не указана переменная в элементе Pattern , развертывание прокси-сервера API не удастся. Элементу Pattern требуется имя переменной, в которой будут храниться извлеченные данные. | build |
CannotBeConvertedToNodeset | Если в политике есть выражение XPath , в котором тип Variable определен как nodeset , но это выражение невозможно преобразовать в nodeset, то развертывание прокси-сервера API завершается неудачно. | build |
JSONPathCompilationFailed | Политике не удалось скомпилировать указанный путь JSON. | |
InstantiationFailed | Не удалось реализовать политику. | |
XPathCompilationFailed | Если префикс или значение, используемые в элементе XPath , не являются частью ни одного из объявленных пространств имен в политике, развертывание прокси-сервера API завершается неудачей. | build |
InvalidPattern | Если определение элемента Pattern недопустимо в любом из элементов, таких как URIPath , QueryParam , Header , FormParam , XMLPayload или JSONPayload в политике, то развертывание прокси-сервера API завершается неудачно. | build |
Переменные неисправности
Эти переменные устанавливаются, когда эта политика вызывает ошибку во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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>
Создать политику JWS
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются 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. |
| Другие возможные ошибки развертывания. |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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>
Создать политику JWT
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Происходит, когда |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration | 401 | Происходит, когда политика проверки имеет несколько алгоритмов. |
steps.jwt.AlgorithmMismatch | 401 | Алгоритм, указанный в политике «Создать», не соответствует ожидаемому в политике «Проверка». Указанные алгоритмы должны совпадать. |
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 | Субъект претензии не прошел проверку токена. |
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 . | build |
InvalidTypeForAdditionalClaim | Если утверждение, используемое в дочернем элементе <Claim> элемента <AdditionalClaims> , не имеет типа string , number , boolean или map , развертывание завершится неудачно. | build |
MissingNameForAdditionalClaim | Если имя утверждения не указано в дочернем элементе <Claim> элемента <AdditionalClaims> , развертывание завершится неудачей. | build |
InvalidNameForAdditionalHeader | Эта ошибка возникает, когда имя утверждения, используемое в дочернем элементе <Claim> элемента <AdditionalClaims> , имеет значение alg или typ . | build |
InvalidTypeForAdditionalHeader | Если тип утверждения, используемого в дочернем элементе <Claim> элемента <AdditionalClaims> , не относится к типу string , number , boolean или map , развертывание завершится неудачей. | build |
InvalidValueOfArrayAttribute | Эта ошибка возникает, когда для значения атрибута массива в дочернем элементе <Claim> элемента <AdditionalClaims> не установлено значение true или false . | build |
InvalidConfigurationForActionAndAlgorithm | Если элемент <PrivateKey> используется с алгоритмами семейства HS или элемент <SecretKey> используется с алгоритмами семейства RSA, развертывание завершится неудачно. | build |
InvalidValueForElement | Если значение, указанное в элементе <Algorithm> , не является поддерживаемым, развертывание завершится неудачно. | build |
MissingConfigurationElement | Эта ошибка возникает, если элемент <PrivateKey> не используется с алгоритмами семейства RSA или элемент <SecretKey> не используется с алгоритмами семейства HS. | build |
InvalidKeyConfiguration | Если дочерний элемент <Value> не определен в элементах <PrivateKey> или <SecretKey> , развертывание завершится неудачей. | build |
EmptyElementForKeyConfiguration | Если атрибут ref дочернего элемента <Value> элементов <PrivateKey> или <SecretKey> пуст или не указан, развертывание завершится неудачей. | build |
InvalidVariableNameForSecret | Эта ошибка возникает, если имя переменной потока, указанное в атрибуте ref дочернего элемента <Value> элементов <PrivateKey> или <SecretKey> , не содержит частного префикса (private.) . | build |
InvalidSecretInConfig | Эта ошибка возникает, если дочерний элемент <Value> элементов <PrivateKey> или <SecretKey> не содержит частного префикса (private.) . | build |
InvalidTimeFormat | Если значение, указанное в элементе <NotBefore> , не использует поддерживаемый формат, развертывание завершится неудачно. | build |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
fault.name=" fault_name " | fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. | fault.name Matches "TokenExpired" |
JWT.failed | Все политики JWT устанавливают одну и ту же переменную в случае сбоя. | JWT.failed = true |
Пример ответа об ошибке
Для обработки ошибок лучше всего перехватывать часть 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. | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего политику.
Название ошибки | Строка неисправности | Статус HTTP | Происходит, когда |
---|---|---|---|
ResourceDoesNotExist | Resource 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 . | build |
steps.javascript.ScriptExecutionFailedLineNumber | 500 | Произошла ошибка в коде JavaScript. Подробности смотрите в строке ошибки. | Н/Д |
steps.javascript.ScriptSecurityError | 500 | Ошибка безопасности произошла при выполнении JavaScript. Подробности смотрите в строке ошибки. | Н/Д |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidResourceUrlFormat | Если формат URL-адреса ресурса, указанный в элементе <ResourceURL> или <IncludeURL> политики JavaScript, недействителен, развертывание прокси-сервера API завершается неудачно. | build |
InvalidResourceUrlReference | Если элементы <ResourceURL> или <IncludeURL> ссылаются на несуществующий файл JavaScript, развертывание прокси-сервера API завершается неудачно. Исходный файл, на который есть ссылка, должен существовать либо на уровне прокси-сервера API, либо на уровне среды, либо на уровне организации. | build |
WrongResourceType | Эта ошибка возникает во время развертывания, если элементы <ResourceURL> или <IncludeURL> политики JavaScript относятся к любому типу ресурса, кроме jsc (файл JavaScript). | build |
NoResourceURLOrSource | Развертывание политики JavaScript может завершиться неудачей из-за этой ошибки, если элемент <ResourceURL> не объявлен или если URL-адрес ресурса не определен в этом элементе. Элемент <ResourceURL> является обязательным элементом. Или элемент <IncludeURL> объявлен, но URL-адрес ресурса не определен в этом элементе. Элемент <IncludeURL> является необязательным, но если он объявлен, URL-адрес ресурса должен быть указан внутри элемента <IncludeURL> . | build |
Переменные неисправности
Эти переменные устанавливаются, когда эта политика вызывает ошибку во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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 . | build |
steps.jsonthreatprotection.SourceUnavailable | 500 | Эта ошибка возникает, если переменная сообщения , указанная в элементе <Source> , имеет одно из следующих значений:
| build |
steps.jsonthreatprotection.NonMessageVariable | 500 | Эта ошибка возникает, если для элемента <Source> установлена переменная, которая не имеет типа message . | build |
Ошибки развертывания
Никто.
Переменные неисправности
Эти переменные устанавливаются, когда эта политика вызывает ошибку. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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), переданные в политику JSON to XML, недействительны или имеют неверный формат. | build |
steps.jsontoxml.InCompatibleTypes | 500 | Эта ошибка возникает, если тип переменной, определенной в элементе <Source> и элементе <OutputVariable> , не совпадает. Обязательно, чтобы тип переменных, содержащихся в элементе <Source> и элементе <OutputVariable> , совпадал. Допустимые типы — message и string . | build |
steps.jsontoxml.InvalidSourceType | 500 | Эта ошибка возникает, если тип переменной, используемой для определения элемента <Source> , недопустим. Допустимые типы переменных — message и string . | build |
steps.jsontoxml.OutputVariableIsNotAvailable | 500 | Эта ошибка возникает, если переменная, указанная в элементе <Source> политики JSON to XML, имеет строковый тип, а элемент <OutputVariable> не определен. Элемент <OutputVariable> является обязательным, если переменная, определенная в элементе <Source> , имеет строковый тип. | build |
steps.jsontoxml.SourceUnavailable | 500 | Эта ошибка возникает, если переменная сообщения , указанная в элементе <Source> политики JSON to XML, имеет одно из следующих значений:
| build |
Ошибки развертывания
Никто.
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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 | Эта ошибка возникает, если вы пытаетесь получить значение из зашифрованной карты значений ключей и установить значение переменной, имя которой не имеет префикса | build |
steps.keyvaluemapoperations.UnsupportedOperationException | 500 | Эта ошибка возникает, если в политике операций с картой значений ключа для атрибута | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidIndex | Если атрибут index , указанный в элементе <Get> политики операций с картами значений ключей, равен нулю или отрицательному числу, то развертывание прокси-сервера API завершается неудачно. Индекс начинается с 1 , поэтому индекс, равный нулю или отрицательному целому числу, считается недействительным. | build |
KeyIsMissing | Эта ошибка возникает, если элемент <Key> полностью отсутствует или элемент <Parameter> отсутствует в элементе <Key> под элементом <Entry> элемента <InitialEntries> политики операций с картой значений ключа. | build |
ValueIsMissing | Эта ошибка возникает, если элемент <Value> отсутствует под элементом <Entry> элемента <InitialEntries> политики операций с картой значений ключа. | build |
Политика 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. |
Политика регистрации сообщений
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Причина |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed | 500 | См. строку ошибки. |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidProtocol | Развертывание политики MessageLogging может завершиться с ошибкой из-за этой ошибки, если протокол, указанный в элементе <Protocol> , недействителен. Допустимые протоколы: TCP и UDP. Для отправки сообщений системного журнала через TLS/SSL поддерживается только TCP. | build |
InvalidPort | Развертывание политики регистрации сообщений может завершиться с ошибкой из-за этой ошибки, если номер порта не указан в элементе <Port> или если он недействителен. Номер порта должен быть целым числом, большим нуля. | build |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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>
Политика проверки OAS
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Причина | |
---|---|---|---|
steps.oasvalidation.Failed | 500 | Тело сообщения запроса не может быть проверено на соответствие предоставленной спецификации OpenAPI. | |
steps.oasvalidation.SourceMessageNotAvailable | 500 | Переменная, указанная в элементе | |
steps.oasvalidation.NotMessageVariable | 500 | Элементу | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | |
---|---|---|
ResourceDoesNotExist | Спецификация OpenAPI, указанная в элементе <OASResource> , не существует. | |
ResourceCompileFailed | Спецификация OpenAPI, включенная в развертывание, содержит ошибки, препятствующие ее компиляции. Обычно это указывает на то, что спецификация не является корректной спецификацией OpenAPI 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. | build |
CacheNotFound | Кэш, указанный в элементе <CacheResource> , не существует. | build |
Переменные неисправности
Эти переменные устанавливаются, когда эта политика вызывает ошибку. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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. | build |
InvalidTimeout | Если для элемента <CacheLookupTimeoutInSeconds> установлено отрицательное число, развертывание прокси-сервера API завершается неудачей. | build |
CacheNotFound | Эта ошибка возникает, если конкретный кэш, упомянутый в сообщении об ошибке, не был создан в определенном компоненте процессора сообщений. | build |
Переменные неисправности
Н/Д
Пример ответа об ошибке
Н/Д
Политика ИнвалидатеКэш
В этом разделе описаны сообщения об ошибках и переменные потока, которые задаются, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила сбоев для прокси. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Префикс кода ошибки
Н/Д
Ошибки выполнения
Эта политика не вызывает никаких ошибок во время выполнения.
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidCacheResourceReference | Эта ошибка возникает, если элементу <CacheResource> в политике InvalidateCache присвоено имя, не существующее в среде, где развертывается прокси-сервер API. | build |
CacheNotFound | Эта ошибка возникает, если конкретный кэш, упомянутый в сообщении об ошибке, не был создан в определенном компоненте процессора сообщений. | build |
Переменные неисправности
Н/Д
Пример ответа об ошибке
Н/Д
Политика ResponseCache
В этом разделе описаны сообщения об ошибках и переменные потока, которые задаются, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила сбоев для прокси. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Префикс кода ошибки
Н/Д
Ошибки выполнения
Эта политика не вызывает никаких ошибок во время выполнения.
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidTimeout | Если для элемента <CacheLookupTimeoutInSeconds> политики ResponseCache установлено отрицательное число, развертывание прокси-сервера API завершается неудачей. | build |
InvalidCacheResourceReference | Эта ошибка возникает, если элементу <CacheResource> в политике ResponseCache присвоено имя, которое не существует в среде, где развертывается прокси-сервер API. | build |
ResponseCacheStepAttachmentNotAllowedReq | Эта ошибка возникает, если одна и та же политика ResponseCache прикреплена к нескольким путям запросов в любых потоках прокси-сервера API. | build |
ResponseCacheStepAttachmentNotAllowedResp | Эта ошибка возникает, если одна и та же политика ResponseCache прикреплена к нескольким путям ответа в любых потоках прокси-сервера API. | build |
InvalidMessagePatternForErrorCode | Эта ошибка возникает, если элемент <SkipCacheLookup> или <SkipCachePopulation> в политике ResponseCache содержит недопустимое условие. | build |
CacheNotFound | Эта ошибка возникает, если конкретный кэш, упомянутый в сообщении об ошибке, не был создан в определенном компоненте процессора сообщений. | build |
Переменные неисправности
Н/Д
Пример ответа об ошибке
Н/Д
Политика OAuthV2
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Причина | Выброшено операциями |
---|---|---|---|
steps.oauth.v2.access_token_expired | 401 | Срок действия токена доступа истек. | Верифициакцесстокен |
steps.oauth.v2.access_token_not_approved | 401 | Токен доступа был отозван. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist | 401 | Запрошенный ресурс не существует ни одного из продуктов API, связанных с токеном доступа. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken | 500 | Политика ожидала найти токен доступа в переменной, указанной в элементе <AccessToken> , но эту переменную не удалось разрешить. | Генерировать токен доступа |
steps.oauth.v2.FailedToResolveAuthorizationCode | 500 | Политика ожидала найти код авторизации в переменной, указанной в элементе <Code> , но эту переменную не удалось разрешить. | Генерироватькод авторизации |
steps.oauth.v2.FailedToResolveClientId | 500 | Политика ожидала найти идентификатор клиента в переменной, указанной в элементе <ClientId> , но эту переменную не удалось разрешить. | Генерировать токен доступа Создать код авторизации GenerateAccessTokenImplicitGrant Обновить токен доступа |
steps.oauth.v2.FailedToResolveRefreshToken | 500 | Политика ожидала найти токен обновления в переменной, указанной в элементе <RefreshToken> , но эту переменную не удалось разрешить. | Обновить токен доступа |
steps.oauth.v2.FailedToResolveToken | 500 | Политика ожидала найти токен в переменной, указанной в элементе <Tokens> , но эту переменную не удалось разрешить. | ValidateToken |
steps.oauth.v2.InsufficientScope | 403 | Токен доступа, представленный в запросе, имеет область, не соответствующую области, указанной в политике проверки токена доступа. Дополнительные сведения об области см. в разделе Работа с областями действия OAuth2 . | VerifyAccessToken |
steps.oauth.v2.invalid_access_token | 401 | Токен доступа, отправленный от клиента, недействителен. | VerifyAccessToken |
steps.oauth.v2.invalid_client | 401 | Это имя ошибки возвращается, когда для свойства Примечание. Рекомендуется изменить существующие условия правила сбоя, чтобы перехватывать имена | Генерировать токен доступа Обновить токен доступа |
steps.oauth.v2.invalid_request | 400 | Это имя ошибки используется для нескольких различных типов ошибок, обычно из-за отсутствия или неверных параметров, отправленных в запросе. Если для <GenerateResponse> установлено значение false , используйте переменные ошибки (описанные ниже) для получения подробной информации об ошибке, например имени и причины ошибки. | Генерировать токен доступа Генерироватькод авторизации GenerateAccessTokenImplicitGrant Обновить токен доступа |
steps.oauth.v2.InvalidAccessToken | 401 | В заголовке авторизации нет обязательного слова «Носитель». Например: Authorization: Bearer your_access_token | VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNo\ | 401 | Прокси-сервер API отсутствует в Продукте, связанном с токеном доступа. Советы. Убедитесь, что продукт, связанный с токеном доступа, настроен правильно. Например, если вы используете подстановочные знаки в путях к ресурсам, убедитесь, что они используются правильно. Подробности см. в разделе Создание продуктов API . Дополнительные сведения о причинах этой ошибки см. в этом сообщении сообщества Apigee. | VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier | 500 | Это имя ошибки возвращается, если для свойства | Генерировать токен доступа |
steps.oauth.v2.InvalidParameter | 500 | В политике должен быть указан либо токен доступа, либо код авторизации, но не то и другое. | Создать код авторизации GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType | 500 | Элемент <Tokens>/<Token> требует указания типа токена (например, refreshtoken ). Если клиент передает неправильный тип, выдается эта ошибка. | ValidateToken Инвалидатетокен |
steps.oauth.v2.MissingParameter | 500 | Тип ответа — token , но типы грантов не указаны. | Создать код авторизации GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType | 500 | Клиент указал тип предоставления, который не поддерживается политикой (не указан в элементе <SupportedGrantTypes>). Примечание. В настоящее время существует ошибка, из-за которой ошибки неподдерживаемого типа предоставления не выдаются правильно. Если возникает ошибка неподдерживаемого типа предоставления, прокси-сервер не входит в поток ошибок, как ожидалось. | Генерировать токен доступа Создать код авторизации GenerateAccessTokenImplicitGrant Обновить токен доступа |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина |
---|---|
InvalidValueForExpiresIn | Для элемента |
InvalidValueForRefreshTokenExpiresIn | Для элемента <RefreshTokenExpiresIn> допустимыми значениями являются положительные целые числа и -1 . |
InvalidGrantType | В элементе <SupportedGrantTypes> указан недопустимый тип предоставления. Список допустимых типов см. в справочнике по политике. |
ExpiresInNotApplicableForOperation | Убедитесь, что операции, указанные в элементе <Operations>, поддерживают срок действия. Например, операция VerifyToken этого не делает. |
RefreshTokenExpiresInNotApplicableForOperation | Убедитесь, что операции, указанные в элементе <Operations>, поддерживают истечение срока действия токена обновления. Например, операция VerifyToken этого не делает. |
GrantTypesNotApplicableForOperation | Убедитесь, что типы грантов, указанные в <SupportedGrantTypes>, поддерживаются для указанной операции. |
OperationRequired | Вы должны указать операцию в этой политике, используя элемент Примечание. Если элемент |
InvalidOperation | Вы должны указать допустимую операцию в этой политике, используя элемент Примечание. Если элемент |
TokenValueRequired | Вы должны указать значение токена <Token> в элементе <Tokens> . |
Переменные неисправности
Эти переменные устанавливаются, когда эта политика вызывает ошибку во время выполнения.
Переменные | Где | Пример |
---|---|---|
fault.name=" fault_name " | fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. | fault.name = "invalid_request" |
oauthV2. policy_name .failed | policy_name — указанное пользователем имя политики, вызвавшей ошибку. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2. policy_name .fault.name | policy_name — указанное пользователем имя политики, вызвавшей ошибку. | oauthV2.GenerateAccesstoken.fault.name = invalid_request Примечание . Для операции VerifyAccessToken имя ошибки включает суффикс: |
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>
Политика удаленияOAuthV2Info
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются 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 не указаны коды ошибок.
Политика удаленияOAuthV1Info
В случае успеха политика возвращает статус 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 . | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidResourceUrlFormat | Если формат URL-адреса ресурса, указанный в элементе <ResourceURL> или <IncludeURL> политики PythonScript, недействителен, развертывание прокси-сервера API завершается неудачей. | build |
InvalidResourceUrlReference | Если элементы <ResourceURL> или <IncludeURL> ссылаются на несуществующий файл PythonScript, развертывание прокси-сервера API завершается неудачно. Исходный файл, на который есть ссылка, должен существовать либо на уровне прокси-сервера API, либо на уровне среды, либо на уровне организации. | build |
Переменные неисправности
Эти переменные устанавливаются, когда эта политика вызывает ошибку во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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> . | build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference | 500 | Происходит, если элемент <TimeUnit> не определен в политике квот. Этот элемент является обязательным и используется для указания единицы времени, применимой к квоте. Временной интервал может составлять минуты, часы, дни, недели или месяцы. | build |
policies.ratelimit.InvalidMessageWeight | 500 | Происходит, если значение элемента <MessageWeight> , указанное через переменную потока, недопустимо (нецелое значение). | build |
policies.ratelimit.QuotaViolation | 500 | Превышен лимит квоты. | Н/Д |
Ошибки развертывания
Название ошибки | Причина | Исправить |
---|---|---|
InvalidQuotaInterval | Если интервал квоты, указанный в элементе <Interval> , не является целым числом, развертывание прокси-сервера API завершается неудачно. Например, если в элементе <Interval> указан интервал квоты, равный 0,1, развертывание прокси-сервера API завершится сбоем. | build |
InvalidQuotaTimeUnit | Если единица времени, указанная в элементе <TimeUnit> , не поддерживается, развертывание прокси-сервера API завершается неудачно. Поддерживаемые единицы времени: minute , hour , day , week и month . | build |
InvalidQuotaType | Если тип квоты, указанный атрибутом type в элементе <Quota> , недействителен, развертывание прокси-сервера API завершается неудачно. Поддерживаемые типы квот: default , calendar , flexi и rollingwindow . | build |
InvalidStartTime | Если формат времени, указанный в элементе <StartTime> , недопустим, развертывание прокси-сервера API завершается неудачей. Допустимый формат — yyyy-MM-dd HH:mm:ss , который соответствует формату даты и времени ISO 8601 . Например, если время, указанное в элементе <StartTime> , — 7-16-2017 12:00:00 , то развертывание прокси-сервера API завершается неудачно. | build |
StartTimeNotSupported | Если указан элемент <StartTime> , тип квоты которого не является типом calendar , то развертывание прокси-сервера API завершается неудачно. Элемент <StartTime> поддерживается только для типа calendar квоты. Например, если в элементе <Quota> для атрибута type установлено значение flexi или rolling window , развертывание прокси-сервера API завершится сбоем. | build |
InvalidTimeUnitForDistributedQuota | Если для элемента <Distributed> установлено значение true , а для элемента <TimeUnit> установлено значение second , развертывание прокси-сервера API завершается неудачей. Параметр timeunit second недопустим для распределенной квоты. | build |
InvalidSynchronizeIntervalForAsyncConfiguration | Если значение, указанное для элемента <SyncIntervalInSeconds> в элементе <AsynchronousConfiguration> в политике квот, меньше нуля, развертывание прокси-сервера API завершается неудачей. | build |
InvalidAsynchronizeConfigurationForSynchronousQuota | Если для значения элемента <AsynchronousConfiguration> установлено значение true в политике квот, которая также имеет асинхронную конфигурацию, определенную с помощью элемента <AsynchronousConfiguration> , то развертывание прокси-сервера API завершается неудачей. | build |
Переменные неисправности
Эти переменные устанавливаются, когда эта политика вызывает ошибку. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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>
Сбросить политику квот
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Причина | Исправить |
---|---|---|---|
policies.resetquota.InvalidRLPolicy | 500 | Политика квот, указанная в элементе <Quota> политики сброса квоты, не определена в прокси-сервере API и, следовательно, недоступна во время потока. Элемент <Quota> является обязательным и определяет целевую политику квот, счетчик которой должен быть обновлен с помощью политики сброса квоты. | build |
policies.resetquota.FailedToResolveAllowCountRef | Н/Д | Ссылку на переменную, содержащую счетчик разрешений в элементе <Allow> политики, невозможно преобразовать в значение. Этот элемент является обязательным и определяет величину уменьшения счетчика квоты. | build |
policies.resetquota.FailedToResolveRLPolicy | 500 | Переменную, на которую ссылается атрибут ref в элементе <Quota> , невозможно разрешить. | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidCount | Если значение счетчика, указанное в элементе <Allow> политики сброса квот, не является целым числом, развертывание прокси-сервера API завершается неудачей. | build |
Политика 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, имеют единообразный формат, как описано в справочнике по кодам ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код ошибки | Сообщение |
---|---|
Выполнение не удалось | Не удалось выполнить StepDefinition {0} RegularExpressionProtection. Причина: {1} |
Создание экземпляра не удалось | Не удалось создать экземпляр StepDefinition RegularExpressionProtection {0}. |
NonMessageVariable | Переменная {0} не преобразуется в сообщение |
Исходное сообщениенедоступно | Сообщение {0} недоступно для RegularExpressionProtection StepDefinition {1} |
Обнаружена угроза | В {0} обнаружена угроза регулярного выражения: регулярное выражение: {1} ввод: {2} |
VariableResolutionFailed | Не удалось разрешить переменную {0}. |
Ошибки развертывания
Код ошибки | Сообщение | Исправить |
---|---|---|
Каннотбеконвертедтонодезет | RegularExpressionProtection {0}: результат xpath {1} невозможно преобразовать в набор узлов. Контекст {2} | build |
Дубликат префикса | RegularExpressionProtection {0}: повторяющийся префикс {1}. | build |
Пустое выражениеJSONPathExpression | RegularExpressionProtection {0}: пустое выражение JSONPath. | build |
Пустое выражениеXPathExpression | RegularExpressionProtection {0}: пустое выражение XPath. | build |
ИнвалидРегулярноеВыражение | RegularExpressionProtection {0}: неверное регулярное выражение {1}, контекст {2} | build |
Ошибка компиляции JSONPath | RegularExpressionProtection {0}: не удалось скомпилировать jsonpath {1}. Контекст {2} | build |
NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection {0}: непустой префикс {1} не может быть сопоставлен с пустым uri. | build |
NoPatternsToEnforce | RegularExpressionProtection {0}: в {1} нет шаблонов, требующих принудительного применения. | build |
НичегоToEnforce | RegularExpressionProtection {0}: по крайней мере один из URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload является обязательным. | build |
XPathCompilationFailed | RegularExpressionProtection {0}: не удалось скомпилировать XPath {1}. Контекст {2} | build |
Переменные неисправности
Эти переменные устанавливаются, когда эта политика вызывает ошибку. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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 | Эта ошибка возникает, если переменная, указанная в элементе
| build |
steps.messagevalidation.NonMessageVariable | 500 | Эта ошибка возникает, если для элемента Переменные типа сообщения представляют собой все HTTP-запросы и ответы. Встроенные переменные потока Edge | build |
steps.messagevalidation.Failed | 500 | Эта ошибка возникает, если политике SOAPMessageValidation не удается проверить полезную нагрузку входного сообщения на соответствие схеме XSD или определению WSDL. Это также произойдет, если в сообщении полезной нагрузки имеется неверный формат JSON или XML. | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidResourceType | Элементу <ResourceURL> в политике SOAPMessageValidation присвоен тип ресурса, не поддерживаемый этой политикой. | build |
ResourceCompileFailed | Сценарий ресурса, указанный в элементе <ResourceURL> политики SOAPMessageValidation, содержит ошибку, препятствующую его компиляции. | build |
RootElementNameUnspecified | Элемент <Element> в политике SOAPMessageValidation не содержит имени корневого элемента. | build |
InvalidRootElementName | Элемент <Element> в политике SOAPMessageValidation содержит имя корневого элемента, которое не соответствует правилам XML для допустимого именования элементов. | build |
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Причина | Исправить |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable | 500 | Эта ошибка возникает, если переменная, указанная в элементе
| build |
steps.messagevalidation.NonMessageVariable | 500 | Эта ошибка возникает, если для элемента Переменные типа сообщения представляют собой все HTTP-запросы и ответы. Встроенные переменные потока Edge | build |
steps.messagevalidation.Failed | 500 | Эта ошибка возникает, если политике SOAPMessageValidation не удается проверить полезную нагрузку входного сообщения на соответствие схеме XSD или определению WSDL. Это также произойдет, если в сообщении полезной нагрузки имеется неверный формат JSON или XML. | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidResourceType | Элементу <ResourceURL> в политике SOAPMessageValidation присвоен тип ресурса, не поддерживаемый этой политикой. | build |
ResourceCompileFailed | Сценарий ресурса, указанный в элементе <ResourceURL> политики SOAPMessageValidation, содержит ошибку, препятствующую его компиляции. | build |
RootElementNameUnspecified | Элемент <Element> в политике SOAPMessageValidation не содержит имени корневого элемента. | build |
InvalidRootElementName | Элемент <Element> в политике SOAPMessageValidation содержит имя корневого элемента, которое не соответствует правилам XML для допустимого именования элементов. | build |
SAMLAПолитика утверждений
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
SourceNotConfigured | Один или несколько из следующих элементов политики проверки утверждений SAML не определены или пусты: <Source> , <XPath> , <Namespaces> , <Namespace> . | build |
TrustStoreNotConfigured | Если элемент <TrustStore> пуст или не указан в политике ValidateSAMLAssertion, развертывание прокси-сервера API завершается неудачей. Требуется действующее хранилище доверенных сертификатов. | build |
NullKeyStoreAlias | Если дочерний элемент <Alias> пуст или не указан в элементе <Keystore> политики создания утверждений SAML, развертывание прокси-сервера API завершается неудачно. Требуется действительный псевдоним хранилища ключей. | build |
NullKeyStore | Если дочерний элемент <Name> пуст или не указан в элементе <Keystore> политики GenerateSAMLAssertion, развертывание прокси-сервера API завершается неудачно. Требуется допустимое имя хранилища ключей. | build |
NullIssuer | Если элемент <Issuer> пуст или не указан в политике создания утверждений SAML, развертывание прокси-сервера API завершается неудачно. Требуется допустимое значение <Issuer> . | build |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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 | Эта ошибка может возникнуть в следующих случаях:
| build |
steps.servicecallout.RequestVariableNotMessageType | 500 | Переменная Request, указанная в политике, не имеет типа Message. Например, если это строка или другой тип, не являющийся сообщением, вы увидите эту ошибку. | build |
steps.servicecallout.RequestVariableNotRequestMessageType | 500 | Переменная Request, указанная в политике, не относится к типу Request Message. Например, если это тип ответа, вы увидите эту ошибку. | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
URLMissing | Элемент <URL> внутри <HTTPTargetConnection> отсутствует или пуст. | build |
ConnectionInfoMissing | Эта ошибка возникает, если в политике нет элемента <HTTPTargetConnection> или <LocalTargetConnection> . | build |
InvalidTimeoutValue | Эта ошибка возникает, если значение <Timeout> отрицательное или нулевое. | build |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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. Этот элемент является обязательным и используется для указания скорости остановки всплесков в форме int pm или int ps . | build |
policies.ratelimit.InvalidMessageWeight | 500 | Эта ошибка возникает, если значение, указанное для элемента <MessageWeight> через переменную потока, является недопустимым (нецелое значение). | build |
policies.ratelimit.SpikeArrestViolation | 429 | Превышен лимит скорости. |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
InvalidAllowedRate | Если частота блокировки пиков, указанная в элементе <Rate> политики ареста пиков, не является целым числом или если в качестве суффикса скорости нет ps или pm , то развертывание прокси-сервера API завершается неудачей. | build |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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>
Политика сбора статистики
This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
None.
Deployment errors
Error name | Cause | Fix |
---|---|---|
UnsupportedDatatype |
If the type of the variable specified by the ref attribute in the <Statistic> element
of the Statistics Collector policy is unsupported, then the deployment of the API proxy
fails. The supported data types are string , integer ,
float , long , double , and boolean . |
build |
InvalidName |
If the name used to reference the data collected for the specified variable defined
within the <Statistic> element of the Statistics Collector policy conflicts with a
system-defined variable, then the deployment of the API proxy fails. Some of the known
system-defined variables are organization and environment . |
build |
DatatypeMissing |
If the type of the variable specified by the ref attribute in the <Statistic> element
of the Statistics Collector policy is missing, then the deployment of the API proxy fails. |
build |
Fault variables
None.
Проверить политику APIKey
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | The Company associated with the Developer App that has the API key you are using has an inactive status. When a Company's status is set to inactive, you cannot access the developers or apps associated with that Company. An org admin can change a Company's status using the management API. See Set the Status of a Company. |
keymanagement.service.DeveloperStatusNotActive |
401 |
The developer who created the Developer App that has the API key you are using has an inactive status. When an App Developer's status is set to inactive, any Developer Apps created by that developer are deactivated. An admin user with appropriate permissions (such as Organization Administrator) can change a developer's status in the following ways:
|
keymanagement.service.invalid_client-app_not_approved |
401 | The Developer App associated with the API key is revoked. A revoked app cannot access any API products and cannot invoke any API managed by Apigee Edge. An org admin can change the status of a Developer App using the management API. See Approve or Revoke Developer App. |
oauth.v2.FailedToResolveAPIKey |
401 | The policy expects to find the API key in a variable that is specified in the policy's <APIKey> element. This error arises when the expected variable does not exist (it cannot be resolved). |
oauth.v2.InvalidApiKey |
401 | An API key was received by Edge, but it is invalid. When Edge looks up the key in its database, it must exactly match the on that was sent in the request. If the API worked previously, make sure the key was not regenerated. If the key was regenerated, you will see this error if you try to use the old key. For details, see Register apps and manage API keys. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | An API key was received by Edge, and it is valid; however, it does not match an approved key in the Developer App associated with your API proxy through a Product. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause |
---|---|
SpecifyValueOrRefApiKey |
The <APIKey> element does not have a value or key specified. |
Fault variables
These variables are set when a runtime error occurs. For more information, see What you need to know about policy errors.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.VK-VerifyAPIKey.failed = true |
Example error responses
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
Example fault rule
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
Проверить политику JWS
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Происходит, когда |
---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration | 401 | Происходит, когда политика проверки имеет несколько алгоритмов. |
steps.jws.AlgorithmMismatch | 401 | Алгоритм, указанный в заголовке политики «Создать», не соответствует ожидаемому в политике «Проверка». Указанные алгоритмы должны совпадать. |
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. |
| Другие возможные ошибки развертывания. |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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>
Проверьте политику JWT
В этом разделе описаны коды ошибок и сообщения об ошибках, которые возвращаются, а также переменные ошибок, которые устанавливаются Edge, когда эта политика вызывает ошибку. Эту информацию важно знать, если вы разрабатываете правила обработки ошибок. Дополнительные сведения см. в разделах Что нужно знать об ошибках политики и Обработка ошибок .
Ошибки выполнения
Эти ошибки могут возникнуть при выполнении политики.
Код неисправности | Статус HTTP | Происходит, когда |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration | 401 | Происходит, когда политика проверки имеет несколько алгоритмов. |
steps.jwt.AlgorithmMismatch | 401 | Алгоритм, указанный в политике «Создать», не соответствует ожидаемому в политике «Проверка». Указанные алгоритмы должны совпадать. |
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 | Субъект претензии не прошел проверку токена. |
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 . | build |
InvalidTypeForAdditionalClaim | Если утверждение, используемое в дочернем элементе <Claim> элемента <AdditionalClaims> , не имеет типа string , number , boolean или map , развертывание завершится неудачно. | build |
MissingNameForAdditionalClaim | Если имя утверждения не указано в дочернем элементе <Claim> элемента <AdditionalClaims> , развертывание завершится неудачей. | build |
InvalidNameForAdditionalHeader | Эта ошибка возникает, когда имя утверждения, используемое в дочернем элементе <Claim> элемента <AdditionalClaims> , имеет значение alg или typ . | build |
InvalidTypeForAdditionalHeader | Если тип утверждения, используемого в дочернем элементе <Claim> элемента <AdditionalClaims> , не относится к типу string , number , boolean или map , развертывание завершится неудачей. | build |
InvalidValueOfArrayAttribute | Эта ошибка возникает, когда для значения атрибута массива в дочернем элементе <Claim> элемента <AdditionalClaims> не установлено значение true или false . | build |
InvalidValueForElement | Если значение, указанное в элементе <Algorithm> , не является поддерживаемым, развертывание завершится неудачей. | build |
MissingConfigurationElement | Эта ошибка возникает, если элемент <PrivateKey> не используется с алгоритмами семейства RSA или элемент <SecretKey> не используется с алгоритмами семейства HS. | build |
InvalidKeyConfiguration | Если дочерний элемент <Value> не определен в элементах <PrivateKey> или <SecretKey> , развертывание завершится неудачей. | build |
EmptyElementForKeyConfiguration | Если атрибут ref дочернего элемента <Value> элементов <PrivateKey> или <SecretKey> пуст или не указан, развертывание завершится неудачей. | build |
InvalidConfigurationForVerify | Эта ошибка возникает, если элемент <Id> определен внутри элемента <SecretKey> . | build |
InvalidEmptyElement | Эта ошибка возникает, если элемент <Source> политики Verify JWT пуст. Если он присутствует, он должен быть определен с именем переменной потока Edge. | build |
InvalidPublicKeyValue | Если значение, используемое в дочернем элементе <JWKS> элемента <PublicKey> , не использует допустимый формат, указанный в RFC 7517 , развертывание завершится неудачей. | build |
InvalidConfigurationForActionAndAlgorithm | Если элемент <PrivateKey> используется с алгоритмами семейства HS или элемент <SecretKey> используется с алгоритмами семейства RSA, развертывание завершится неудачей. | build |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
fault.name=" fault_name " | fault_name — это имя ошибки, как указано в таблице ошибок времени выполнения выше. Имя неисправности — это последняя часть кода неисправности. | fault.name Matches "TokenExpired" |
JWT.failed | Все политики JWT устанавливают одну и ту же переменную в случае сбоя. | JWT.failed = true |
Пример ответа об ошибке
Для обработки ошибок лучше всего перехватывать часть 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 . | build |
steps.xmlthreatprotection.InvalidXMLPayload | 500 | Эта ошибка возникает, если полезные данные входного сообщения, указанные элементом <Source> политики XMLThreatProtection, не являются допустимым XML-документом. | build |
steps.xmlthreatprotection.SourceUnavailable | 500 | Эта ошибка возникает, если переменная сообщения , указанная в элементе <Source> , имеет одно из следующих значений:
| build |
steps.xmlthreatprotection.NonMessageVariable | 500 | Эта ошибка возникает, если для элемента <Source> установлена переменная, которая не имеет типа message . | build |
Примечания:
- Имя ошибки ExecutionFailed является именем ошибки по умолчанию и будет возвращено независимо от типа обнаруженной ошибки; однако это значение по умолчанию можно изменить, задав свойство на уровне организации. Если это свойство установлено, имя ошибки будет отражать фактическую ошибку. Например, «TextExceeded» или «AttrValueExceeded». Подробности см. в Примечаниях по использованию .
- Статус HTTP 500 является значением по умолчанию; однако статус HTTP можно изменить на 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) пусты или входной XML недействителен или имеет неверный формат. | build |
steps.xmltojson.InCompatibleType | 500 | Эта ошибка возникает, если тип переменной, определенной в элементе <Source> и элементе <OutputVariable> , не совпадает. Обязательно, чтобы тип переменных, содержащихся в элементе <Source> и элементе <OutputVariable> , совпадал. | build |
steps.xmltojson.InvalidSourceType | 500 | Эта ошибка возникает, если тип переменной, используемой для определения элемента <Source> недействителен. Допустимыми типами переменных являются сообщение и строка. | build |
steps.xmltojson.OutputVariableIsNotAvailable | 500 | Эта ошибка возникает, если переменная, указанная в элементе <Source> политики XML в JSON, имеет строковый тип, а элемент <OutputVariable> не определен. Элемент <OutputVariable> является обязательным, если переменная, определенная в элементе <Source> , имеет строковый тип. | build |
steps.xmltojson.SourceUnavailable | 500 | Эта ошибка возникает, если переменная сообщения , указанная в элементе <Source> политики XML в JSON, имеет одно из следующих значений:
| build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
EitherOptionOrFormat | Если один из элементов <Options> или <Format> не объявлен в политике XML to JSON, развертывание прокси-сервера API завершается неудачей. | build |
UnknownFormat | Если для элемента <Format> в политике XML to JSON определен неизвестный формат, развертывание прокси-сервера API завершается неудачно. Предопределенные форматы включают: xml.com , yahoo , google и badgerFish . | build |
Переменные неисправности
Эти переменные устанавливаются при возникновении ошибки во время выполнения. Дополнительные сведения см. в разделе Что нужно знать об ошибках политики .
Переменные | Где | Пример |
---|---|---|
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, либо выходит за рамки области действия (недоступна в конкретном потоке, в котором выполняется политика), либо не может быть разрешена (не определена). ). | build |
steps.xsl.XSLEvaluationFailed | 500 | Эта ошибка возникает, если полезные данные входного XML недоступны или имеют неправильный формат или политика XSLTransform не работает или не может преобразовать входной файл XML на основе правил преобразования, предусмотренных в файле XSL. Может быть много разных причин сбоя политики XSLTransform. Причина сбоя в сообщении об ошибке предоставит дополнительную информацию о причине. | build |
Ошибки развертывания
Эти ошибки могут возникнуть при развертывании прокси-сервера, содержащего эту политику.
Название ошибки | Причина | Исправить |
---|---|---|
XSLEmptyResourceUrl | Если элемент <ResourceURL> в политике XSL Transform пуст, развертывание прокси-сервера API завершается неудачей. | build |
XSLInvalidResourceType | Если тип ресурса, указанный в элементе <ResourceURL> политики преобразования XSL, не относится к типу xsl , развертывание прокси-сервера API завершается неудачей. | build |