Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Política AccessControl
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 |
O endereço IP do cliente ou um endereço IP transmitido
no pedido de API corresponde a um endereço IP especificado no elemento <SourceAddress> no
elemento <MatchRule> da política de controlo de acesso, e o atributo action do
elemento <MatchRule> está definido como DENY . |
build |
accesscontrol.InvalidIPAddressInVariable |
500 |
A variável de fluxo em <ClientIPVariable> contém um endereço IP inválido. |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo Variáveis específicas de erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | acl.AC-AllowAccess.failed = true |
Exemplo de resposta de falha
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"steps.accesscontrol.IPDeniedAccess" } } }
Exemplo de regra de falha
<FaultRule name="IPDeniedAccess"> <Step> <Name>AM-IPDeniedAccess</Name> <Condition>(fault.name Matches "IPDeniedAccess") </Condition> </Step> <Condition>(acl.failed = true) </Condition> </FaultRule>
Política AccessEntity
Para informações relacionadas, consulte os artigos O que precisa de saber sobre erros de políticas e Como processar falhas.
Erros de tempo de execução
Nenhum.
Erros de implementação
Nome do erro | String de falha | Estado de HTTP | Ocorre quando |
---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
N/A | O tipo de entidade usado tem de ser um dos tipos suportados. |
Política AssignMessage
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 |
A política não conseguiu definir uma variável. Veja a string de falha para o nome da variável não resolvida. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Este erro ocorre se o atributo As variáveis de tipo de mensagem representam pedidos e respostas HTTP completos. As variáveis de fluxo incorporadas do Apigee |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Este erro ocorre se uma variável especificada na política AssignMessage for:
|
build |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidIndex |
Se o índice especificado nos elementos <Copy> e/ou <Remove> da política AssignMessage
for 0 ou um número negativo, a implementação do proxy da API falha.
|
build |
InvalidVariableName |
Se o elemento filho <Name> estiver vazio ou não for especificado no elemento <AssignVariable> ,
a implementação do proxy de API falha porque não existe um nome de variável válido ao qual
atribuir um valor. É necessário um nome de variável válido.
|
build |
InvalidPayload |
Um payload especificado na política é inválido. |
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução. Para mais informações, consulte o artigo O que precisa de saber sobre os erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "UnresolvedVariable" |
assignmessage.POLICY_NAME.failed |
POLICY_NAME é o nome especificado pelo utilizador da política que gerou a falha. | assignmessage.AM-SetResponse.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
Exemplo de regra de falha
<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>
Política BasicAuthentication
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes se estiver a desenvolver regras de falhas para resolver erros. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 |
Numa descodificação, quando a string codificada Base64 recebida não contém um valor válido ou
o cabeçalho tem um formato incorreto (por exemplo, não começa com Basic ). |
build |
steps.basicauthentication.UnresolvedVariable |
500 |
As variáveis de origem necessárias para a descodificação ou a codificação não estão presentes. Este erro só pode ocorrer se IgnoreUnresolvedVariables for falso. |
build |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Ocorre quando | Corrigir |
---|---|---|
UserNameRequired |
O elemento <User> tem de estar presente para a operação com nome. |
build |
PasswordRequired |
O elemento <Password> tem de estar presente para a operação com nome. |
build |
AssignToRequired |
O elemento <AssignTo> tem de estar presente para a operação com nome. |
build |
SourceRequired |
O elemento <Source> tem de estar presente para a operação com nome. |
build |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | BasicAuthentication.BA-Authenticate.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
Exemplo de regra de falha
<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>
Política DecodeJWS
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Ocorre quando |
---|---|---|
steps.jws.FailedToDecode |
401 |
A política não conseguiu descodificar o JWS. O JWS está possivelmente danificado. |
steps.jws.FailedToResolveVariable |
401 |
Ocorre quando a variável de fluxo especificada no elemento <Source> da política não existe. |
steps.jws.InvalidClaim |
401 |
Para uma reivindicação em falta ou uma incompatibilidade de reivindicação, ou um cabeçalho em falta ou uma incompatibilidade de cabeçalho. |
steps.jws.InvalidJsonFormat |
401 |
Foi encontrado um JSON inválido no cabeçalho JWS. |
steps.jws.InvalidJws |
401 |
Este erro ocorre quando a validação da assinatura JWS falha. |
steps.jws.InvalidPayload |
401 |
A carga útil JWS é inválida. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> é omitido e o JWS tem um payload de conteúdo separado. |
steps.jws.MissingPayload |
401 |
O payload JWS está em falta. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Ocorre quando o JWS omite o cabeçalho do algoritmo. |
steps.jws.UnknownException |
401 |
Ocorreu uma exceção desconhecida. |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Ocorre quando |
---|---|
InvalidAlgorithm |
Os únicos valores válidos são: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Outros possíveis erros de implementação. |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "TokenExpired" |
JWS.failed |
Todas as políticas JWS definem a mesma variável em caso de falha. | jws.JWS-Policy.failed = true |
Exemplo de resposta de erro
Para o processamento de erros, a prática recomendada é captar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque pode mudar.
Exemplo de regra de falha
<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>
Política DecodeJWT
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. É importante conhecer estas informações se estiver a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.jwt.FailedToDecode |
401 |
Ocorre quando a política não consegue descodificar o JWT. O JWT pode ter um formato incorreto, ser inválido ou não ser descodificável. | build |
steps.jwt.FailedToResolveVariable |
401 |
Ocorre quando a variável de fluxo especificada no elemento <Source> da política não existe. |
|
steps.jwt.InvalidToken |
401 |
Ocorre quando a variável de fluxo especificada no elemento <Source> da política está fora do âmbito ou não pode ser resolvida. |
build |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidEmptyElement |
Ocorre quando a variável de fluxo que contém o JWT a descodificar não é especificada no elemento <Source> da política.
|
build |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "InvalidToken" |
JWT.failed |
Todas as políticas de JWT definem a mesma variável em caso de falha. | JWT.failed = true |
Exemplo de resposta de erro
Para o processamento de erros, a prática recomendada é captar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque pode mudar.
Exemplo de regra de falha
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Política ExtractVariables
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.extractvariables.ExecutionFailed |
500 |
Este erro ocorre quando:
|
build |
steps.extractvariables.ImmutableVariable |
500 |
Uma variável usada na política é imutável. Não foi possível definir esta variável na política. | N/A |
steps.extractvariables.InvalidJSONPath |
500 |
Este erro ocorre se for usado um caminho JSON inválido no elemento JSONPath da política. Por exemplo, se uma carga útil JSON não tiver o objeto Name ,
mas especificar Name como o caminho na política, ocorre este erro. |
build |
steps.extractvariables.JsonPathParsingFailure |
500 |
Este erro ocorre quando a política não consegue analisar um caminho JSON e
extrair dados da variável de fluxo especificada no elemento Source . Normalmente, isto
acontece se a variável de fluxo especificada no elemento Source não existir no fluxo
atual. |
build |
steps.extractvariables.SetVariableFailed |
500 |
Este erro ocorre se a política não conseguir definir o valor para uma variável. Geralmente, o erro ocorre se tentar atribuir valores a várias variáveis cujos nomes começam com as mesmas palavras num formato aninhado separado por pontos. | build |
steps.extractvariables.SourceMessageNotAvailable |
500 |
Este erro ocorre se a variável message
especificada no elemento Source da política
for:
|
build |
steps.extractvariables.UnableToCast |
500 |
Este erro ocorre se a política não conseguir converter o valor extraído numa variável. Normalmente, isto acontece se tentar definir o valor de um tipo de dados para uma variável de outro tipo de dados. | build |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
NothingToExtract |
Se a política não tiver nenhum dos elementos URIPath , QueryParam ,
Header , FormParam , XMLPayload ou JSONPayload ,
a implementação do proxy de API falha porque não existe nada para extrair. |
build |
NONEmptyPrefixMappedToEmptyURI |
Este erro ocorre se a política tiver um prefixo definido no elemento
Namespace no elemento XMLPayload , mas não tiver nenhum URI
definido. |
build |
DuplicatePrefix |
Este erro ocorre se a política tiver o mesmo prefixo definido mais do que uma vez no elemento Namespace no elemento XMLPayload . |
build |
NoXPathsToEvaluate |
Se a política não tiver o elemento XPath no elemento XMLPayload , a implementação do proxy de API falha com este erro.
|
build |
EmptyXPathExpression |
Se a política tiver uma expressão XPath vazia no elemento XMLPayload , a implementação do proxy de API falha. |
build |
NoJSONPathsToEvaluate |
Se a política não tiver o elemento JSONPath no elemento JSONPayload , a implementação do proxy de API falha com este erro. |
build |
EmptyJSONPathExpression |
Se a política tiver uma expressão XPath vazia no elemento XMLPayload , a implementação do proxy de API falha. |
build |
MissingName |
Se a política não tiver o atributo name em nenhum dos elementos da política, como QueryParam , Header , FormParam ou Variable , onde é necessário, a implementação do proxy de API falha. |
build |
PatternWithoutVariable |
Se a política não tiver uma variável especificada no elemento Pattern ,
a implementação do proxy de API falha. O elemento Pattern requer o nome da variável na qual os dados extraídos vão ser armazenados. |
build |
CannotBeConvertedToNodeset |
Se a política tiver uma expressão XPath em que o tipo Variable
está definido como nodeset,
mas a expressão não puder ser convertida em nodeset, a implementação do proxy de API falha. |
build |
JSONPathCompilationFailed |
Não foi possível compilar um caminho JSON especificado na política. | N/A |
InstantiationFailed |
Não foi possível instanciar a política. | N/A |
XPathCompilationFailed |
Se o prefixo ou o valor usado no elemento XPath não fizer parte de nenhum dos
namespaces declarados na política, a implementação do proxy de API
falha. |
build |
InvalidPattern |
Se a definição do elemento Pattern for inválida em qualquer um dos elementos, como URIPath ,
QueryParam , Header , FormParam , XMLPayload
ou JSONPayload na política, a implementação do
proxy de API falha.
|
build |
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução. Para mais informações, consulte o artigo O que precisa de saber sobre os erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | extractvariables.EV-ParseJsonResponse.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
Exemplo de regra de falha
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
GenerateJWS policy
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. É importante conhecer estas informações se estiver a desenvolver regras de falhas para processar falhas. Para saber mais, consulte o artigo O que precisa de saber sobre erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Ocorre quando |
---|---|---|
steps.jws.GenerationFailed |
401 |
Não foi possível gerar o JWS pela política. |
steps.jws.InsufficientKeyLength |
401 |
Para uma chave inferior a 32 bytes para o algoritmo HS256 |
steps.jws.InvalidClaim |
401 |
Para uma reivindicação em falta ou uma incompatibilidade de reivindicação, ou um cabeçalho em falta ou uma incompatibilidade de cabeçalho. |
steps.jws.InvalidCurve |
401 |
A curva especificada pela chave não é válida para o algoritmo de curva elíptica. |
steps.jws.InvalidJsonFormat |
401 |
Foi encontrado um JSON inválido no cabeçalho JWS. |
steps.jws.InvalidPayload |
401 |
A carga útil JWS é inválida. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> é omitido e o JWS tem um payload de conteúdo separado. |
steps.jws.KeyIdMissing |
401 |
A política Verify usa um JWKS como origem para chaves públicas, mas o JWS assinado não
inclui uma propriedade kid no cabeçalho. |
steps.jws.KeyParsingFailed |
401 |
Não foi possível analisar a chave pública a partir das informações da chave fornecidas. |
steps.jws.MissingPayload |
401 |
O payload JWS está em falta. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Ocorre quando o JWS omite o cabeçalho do algoritmo. |
steps.jws.SigningFailed |
401 |
Em GenerateJWS, para uma chave inferior ao tamanho mínimo para os algoritmos HS384 ou HS512 |
steps.jws.UnknownException |
401 |
Ocorreu uma exceção desconhecida. |
steps.jws.WrongKeyType |
401 |
Foi especificado um tipo de chave incorreto. Por exemplo, se especificar uma chave RSA para um algoritmo de curva elíptica ou uma chave de curva para um algoritmo RSA. |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Ocorre quando |
---|---|
InvalidAlgorithm |
Os únicos valores válidos são: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Outros possíveis erros de implementação. |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "TokenExpired" |
JWS.failed |
Todas as políticas JWS definem a mesma variável em caso de falha. | jws.JWS-Policy.failed = true |
Exemplo de resposta de erro
Para o processamento de erros, a prática recomendada é captar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque pode mudar.
Exemplo de regra de falha
<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>
Política GenerateJWT
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. É importante conhecer estas informações se estiver a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Ocorre quando |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
Ocorre quando a política de validação tem vários algoritmos. |
steps.jwt.AlgorithmMismatch |
401 |
O algoritmo especificado na política Generate não correspondeu ao esperado na política Verify. Os algoritmos especificados têm de corresponder. |
steps.jwt.EncryptionFailed |
401 |
A criação de um JWT encriptado falhou por um motivo não específico |
steps.jwt.FailedToDecode |
401 |
A política não conseguiu descodificar o JWT. O JWT está possivelmente danificado. |
steps.jwt.GenerationFailed |
401 |
A política não conseguiu gerar o JWT. |
steps.jwt.InsufficientKeyLength |
401 |
Para uma chave inferior a 32 bytes para o algoritmo HS256, inferior a 48 bytes para o algoritmo HS386 e inferior a 64 bytes para o algoritmo HS512. |
steps.jwt.InvalidClaim |
401 |
Para uma reivindicação em falta ou uma incompatibilidade de reivindicação, ou um cabeçalho em falta ou uma incompatibilidade de cabeçalho. |
steps.jwt.InvalidConfiguration |
401 |
Os elementos <Algorithm> e <Algorithms> estão presentes. |
steps.jwt.InvalidCurve |
401 |
A curva especificada pela chave não é válida para o algoritmo de curva elíptica. |
steps.jwt.InvalidJsonFormat |
401 |
Foi encontrado JSON inválido no cabeçalho ou no payload. |
steps.jwt.InvalidPasswordKey |
401 |
A chave especificada não cumpriu os requisitos. |
steps.jwt.InvalidPrivateKey |
401 |
A chave especificada não cumpriu os requisitos. |
steps.jwt.InvalidPublicKey |
401 |
A chave especificada não cumpriu os requisitos. |
steps.jwt.InvalidSecretKey |
401 |
A chave especificada não cumpriu os requisitos. |
steps.jwt.InvalidToken |
401 |
Este erro ocorre quando a validação da assinatura JWT falha. |
steps.jwt.JwtAudienceMismatch |
401 |
A reivindicação de público-alvo falhou na validação do token. |
steps.jwt.JwtIssuerMismatch |
401 |
A reivindicação do emissor falhou na validação do token. |
steps.jwt.JwtSubjectMismatch |
401 |
A reivindicação do assunto falhou na validação do token. |
steps.jwt.KeyIdMissing |
401 |
A política Verify usa um JWKS como origem para chaves públicas, mas o JWT assinado não
inclui uma propriedade kid no cabeçalho. |
steps.jwt.KeyParsingFailed |
401 |
Não foi possível analisar a chave pública a partir das informações da chave fornecidas. |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
Ocorre quando o JWT não contém um cabeçalho de algoritmo. |
steps.jwt.NoMatchingPublicKey |
401 |
A política Verify usa um JWKS como origem para chaves públicas, mas o kid
no JWT assinado não está listado no JWKS. |
steps.jwt.SigningFailed |
401 |
Em GenerateJWT , para uma chave inferior ao tamanho mínimo para os algoritmos HS384 ou HS512 |
steps.jwt.TokenExpired |
401 |
A política tenta validar um token expirado. |
steps.jwt.TokenNotYetValid |
401 |
O token ainda não é válido. |
steps.jwt.UnhandledCriticalHeader |
401 |
Um cabeçalho encontrado pela política Verify JWT no cabeçalho crit não está
listado em KnownHeaders . |
steps.jwt.UnknownException |
401 |
Ocorreu uma exceção desconhecida. |
steps.jwt.WrongKeyType |
401 |
Foi especificado o tipo de chave errado. Por exemplo, se especificar uma chave RSA para um algoritmo de curva elíptica ou uma chave de curva para um algoritmo RSA. |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidNameForAdditionalClaim |
A implementação falha se a reivindicação usada no elemento filho <Claim>
do elemento <AdditionalClaims> for um dos seguintes nomes registados:
kid , iss , sub , aud , iat ,
exp , nbf ou jti .
|
build |
InvalidTypeForAdditionalClaim |
Se a reivindicação usada no elemento subordinado <Claim>
do elemento <AdditionalClaims> não for do tipo string , number ,
boolean ou map , a implementação falha.
|
build |
MissingNameForAdditionalClaim |
Se o nome da reivindicação não for especificado no elemento secundário <Claim>
do elemento <AdditionalClaims> , a implementação falha.
|
build |
InvalidNameForAdditionalHeader |
Este erro ocorre quando o nome da reivindicação usado no elemento filho <Claim>
do elemento <AdditionalClaims> é alg ou typ .
|
build |
InvalidTypeForAdditionalHeader |
Se o tipo de reivindicação usado no elemento subordinado <Claim>
do elemento <AdditionalClaims> não for do tipo string , number ,
boolean ou map , a implementação falha.
|
build |
InvalidValueOfArrayAttribute |
Este erro ocorre quando o valor do atributo de matriz no elemento subordinado <Claim>
do elemento <AdditionalClaims> não está definido como true ou false .
|
build |
InvalidConfigurationForActionAndAlgorithm |
Se o elemento <PrivateKey> for usado com algoritmos da família HS ou o elemento <SecretKey> for usado com algoritmos da família RSA, a implementação falha.
|
build |
InvalidValueForElement |
Se o valor especificado no elemento <Algorithm> não for um valor suportado,
a implementação falha.
|
build |
MissingConfigurationElement |
Este erro ocorre se o elemento <PrivateKey> não for usado com algoritmos da família RSA ou se o elemento <SecretKey> não for usado com algoritmos da família HS.
|
build |
InvalidKeyConfiguration |
Se o elemento subordinado <Value> não estiver definido nos elementos <PrivateKey>
ou <SecretKey> , a implementação falha.
|
build |
EmptyElementForKeyConfiguration |
Se o atributo ref do elemento secundário <Value> dos elementos <PrivateKey>
ou <SecretKey> estiver vazio ou não especificado, a implementação falha.
|
build |
InvalidVariableNameForSecret |
Este erro ocorre se o nome da variável de fluxo especificado no atributo ref do elemento filho <Value> dos elementos <PrivateKey> ou <SecretKey> não contiver o prefixo privado (private.) .
|
build |
InvalidSecretInConfig |
Este erro ocorre se o elemento secundário <Value> dos elementos <PrivateKey>
ou <SecretKey> não contiver o prefixo privado (private.) .
|
build |
InvalidTimeFormat |
Se o valor especificado no elemento<NotBefore> não usar um formato suportado, a implementação falha.
|
build |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "InvalidToken" |
JWT.failed |
Todas as políticas de JWT definem a mesma variável em caso de falha. | JWT.failed = true |
Exemplo de resposta de erro
Para o processamento de erros, a prática recomendada é captar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque pode mudar.
Exemplo de regra de falha
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Política JavaCallout
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.javacallout.ExecutionError |
500 |
Ocorre quando o código Java aciona uma exceção ou devolve nulo durante a execução de um JavaCallout policy . |
build |
Erros de implementação
Estes erros podem ocorrer quando o proxy que contém a política é implementado.
Nome do erro | String de falha | Estado de HTTP | Ocorre quando |
---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
N/A | O ficheiro especificado no elemento <ResourceURL> não existe. |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
N/A | O ficheiro de classe especificado no elemento <ClassName> não está no JAR. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
N/A | Veja a string de falha. As versões do Java suportadas incluem: Oracle JDK 7/8 e OpenJDK 7/8 |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
N/A | Veja a string de falha. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
N/A | Veja a string de falha. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
N/A | Veja a string de falha. |
NoResourceForURL |
Could not locate a resource with URL [string] |
N/A | Veja a string de falha. |
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | javacallout.JC-GetUserData.failed = true |
Exemplo de resposta de erro
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
Exemplo de regra de falha
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
Política de JavaScript
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. É importante conhecer estas informações se estiver a desenvolver regras de falhas para resolver falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 |
A política de JavaScript pode gerar muitos tipos diferentes de erros de ScriptExecutionFailed . Os tipos de erros mais comuns incluem:
RangeError,
ReferenceError,
SyntaxError,
TypeError e
URIError. |
build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 |
Ocorreu um erro no código JavaScript . Consulte a string de falha para ver detalhes. |
N/A |
steps.javascript.ScriptSecurityError |
500 |
Ocorreu um erro de segurança quando o JavaScript foi executado. Consulte a string de falha para ver
detalhes. |
N/A |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidResourceUrlFormat |
Se o formato do URL do recurso especificado no elemento <ResourceURL> ou <IncludeURL> da política JavaScript for inválido, a implementação do proxy de API falha. |
build |
InvalidResourceUrlReference |
Se os elementos <ResourceURL> ou <IncludeURL> fizerem referência a um ficheiro JavaScript que não existe, a implementação do proxy de API falha.
O ficheiro de origem referenciado tem de existir ao nível do proxy de API, do ambiente ou da organização. |
build |
WrongResourceType |
Este erro ocorre durante a implementação se os elementos <ResourceURL> ou <IncludeURL>
da política JavaScript fizerem referência a qualquer tipo de recurso que não seja jsc (ficheiro JavaScript ). |
build |
NoResourceURLOrSource |
A implementação da política JavaScript pode falhar com este erro se o elemento <ResourceURL>
não for declarado ou se o URL do recurso não for definido neste elemento.
O elemento <ResourceURL> é um elemento obrigatório. Ou, o elemento <IncludeURL> é declarado, mas o URL do recurso não está definido neste elemento. O elemento <IncludeURL> é opcional, mas, se for declarado, o URL do recurso tem de ser especificado no elemento <IncludeURL> . |
build |
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução. Para mais informações, consulte o artigo O que precisa de saber sobre os erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | javascript.JavaScript-1.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Exemplo de regra de falha
<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>
Política JSONThreatProtection
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. É importante conhecer estas informações se estiver a desenvolver regras de falhas para resolver falhas. Para saber mais, consulte os artigos O que precisa de saber sobre erros de políticas e Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 |
A política de JSONThreatProtection pode gerar muitos tipos diferentes de erros de ExecutionFailed .
A maioria destes erros ocorre quando é excedido um limite específico definido na política. Estes tipos de erros incluem:
comprimento do nome da entrada do objeto,
contagem de entradas do objeto,
contagem de elementos da matriz,
profundidade do contentor,
comprimento do valor da string.
Este erro também ocorre quando o payload contém um objeto JSON inválido.
|
build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
Este erro ocorre se a variável message
especificada no elemento <Source> for:
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
Este erro ocorre se o elemento <Source> estiver definido para uma variável que não seja do tipo message.
|
build |
Erros de implementação
Nenhum.
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | jsonattack.JTP-SecureRequest.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.jsonthreatprotection.ExecutionFailed" } } }
Exemplo de regra de falha
<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>
Os tipos de políticas JSONThreatProtection definem os seguintes códigos de erro:
Política JSONtoXML
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se estiver a desenvolver regras de falhas para processar falhas. Para saber mais, consulte os artigos O que precisa de saber sobre erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 |
O payload de entrada (JSON) está vazio ou a entrada (JSON) transmitida para a política de JSON para XML é inválida ou tem um formato incorreto. | build |
steps.jsontoxml.InCompatibleTypes |
500 |
Este erro ocorre se o tipo da variável definida no elemento <Source> e no elemento <OutputVariable> não for o mesmo. É obrigatório que o tipo das variáveis contidas no elemento <Source> e no elemento <OutputVariable> corresponda. Os tipos válidos são message e string . |
build |
steps.jsontoxml.InvalidSourceType |
500 |
Este erro ocorre se o tipo da variável usada para definir o elemento <Source> for inválido. Os tipos válidos de variáveis são message e string . |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 |
Este erro ocorre se a variável especificada no elemento <Source> da política de JSON para XML for do tipo string e o elemento <OutputVariable> não estiver definido.
O elemento <OutputVariable> é obrigatório quando a variável definida no elemento <Source>
é do tipo string. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
Este erro ocorre se a variável message
especificada no elemento <Source> da política de JSON para XML for:
|
build |
Erros de implementação
Nenhum.
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | jsontoxml.JSON-to-XML-1.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
Exemplo de regra de falha
<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>
Política de KeyValueMapOperations
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se estiver a desenvolver regras de falhas para processar falhas. Para saber mais, consulte os artigos O que precisa de saber sobre os erros de políticas e Processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
Este erro ocorre se o atributo |
build |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidIndex |
Se o atributo index especificado no elemento <Get> da política KeyValueMapOperations for zero ou um número negativo, a implementação do proxy de API falha. O índice começa em
1 , pelo que um índice de zero ou um número inteiro negativo é considerado inválido.
|
build |
KeyIsMissing |
Este erro ocorre se o elemento <Key> estiver completamente em falta ou se o elemento <Parameter> estiver em falta no elemento <Key> abaixo do elemento <Entry> da política de <InitialEntries> .KeyValueMapOperations
|
build |
ValueIsMissing |
Este erro ocorre se o elemento <Value> estiver em falta abaixo do elemento <Entry> do elemento <InitialEntries> da política KeyValueMapOperations . |
build |
Política de Registo de Mensagens
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 |
Veja a string de falha. |
steps.messagelogging.InvalidGoogleCloudLogName |
500 |
Este erro é gerado quando o elemento LogName não é avaliado como o formato válido de projects/{project}/logs/{logid}. |
steps.messagelogging.InvalidJsonMessage |
500 |
Este erro é lançado quando o valor dos atributos contentType foi
escolhido como application/json , mas o valor da mensagem real não é uma
cadeia de caracteres JSON válida. |
steps.messagelogging.TooManyPendingLoggingRequest |
500 |
Este erro é lançado quando existem mais de 2500 pedidos pendentes que ainda não foram escritos no Cloud Logging. O limite de 2500 aplica-se a cada pod do tempo de execução do Apigee. Por exemplo, se o tráfego for distribuído por duas instâncias de pods de tempo de execução do Apigee, o limite efetivo é de 5000 pedidos. |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidProtocol |
A implementação da política MessageLogging pode falhar com este erro se o protocolo
especificado no elemento <Protocol> não for válido. Os protocolos válidos são TCP e UDP.
Para enviar mensagens syslog através de TLS/SSL, apenas o TCP é suportado. |
build |
InvalidPort |
A implementação da política MessageLogging pode falhar com este erro se o número da porta não for especificado no elemento <Port> ou se não for válido. O número da porta tem de ser
um número inteiro superior a zero. |
build |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | messagelogging.ML-LogMessages.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed" }, "faultstring":"Execution failed" } }
Exemplo de regra de falha
<FaultRule name="MessageLogging"> <Step> <Name>ML-LogMessages</Name> <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition> </Step> <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition> </FaultRule>
Política de validação da OAS
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa |
---|---|---|
steps.oasvalidation.Failed |
400 |
Não é possível validar o corpo da mensagem de pedido em relação à especificação OpenAPI fornecida. |
steps.oasvalidation.Failed |
500 |
Não é possível validar o corpo da mensagem de resposta em relação à especificação OpenAPI fornecida. |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
A variável especificada no elemento |
steps.oasvalidation.NonMessageVariable |
500 |
O elemento |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | |
---|---|---|
ResourceDoesNotExist |
A especificação OpenAPI referenciada no elemento <OASResource> não existe.
|
|
ResourceCompileFailed |
A especificação OpenAPI incluída na implementação contém erros que impedem a sua compilação. Geralmente, isto indica que a especificação não é uma especificação OpenAPI 3.0 bem formada. | |
BadResourceURL |
Não é possível processar a especificação OpenAPI referenciada no elemento <OASResource> . Isto pode ocorrer se o ficheiro não for um ficheiro JSON ou YAML, ou se o URL do ficheiro não estiver especificado corretamente.
|
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução. Para mais informações, consulte o artigo O que precisa de saber sobre os erros de políticas.
Variável | Descrição | Exemplo |
---|---|---|
fault.category |
A categoria da falha. Quando a política rejeita um pedido, esta vai sempre conter Step . |
fault.category = "Step" |
fault.name |
O nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "ResourceDoesNotExist" |
fault.reason |
O motivo da falha. É uma string legível que explica o motivo da falha. | OASValidation OAS-1 with resource "oas://my-spec1.yaml": failed with reason: "[ERROR - POST operation not allowed on path '/persons/13'.: []]" |
fault.subcategory |
A subcategoria da falha. Quando a política rejeita um pedido, esta vai sempre conter OASValidationFailure . |
fault.subcategory = "OASValidationFailure" |
OASValidation.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | OASValidation.myoaspolicy.failed = true |
Política PopulateCache
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Ocorre quando |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 |
Não é possível colocar uma entrada em cache. O objeto de mensagem em cache não é uma instância de uma classe serializável. |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidCacheResourceReference |
Este erro ocorre se o elemento <CacheResource> na política PopulateCache estiver definido como um nome que não existe no ambiente onde o proxy de API está a ser implementado. |
build |
CacheNotFound |
A cache especificada no elemento <CacheResource> não existe. |
build |
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | populatecache.POP-CACHE-1.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Exemplo de regra de falha
<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>
Política LookupCache
Esta secção descreve as mensagens de erro e as variáveis de fluxo que são definidas quando esta política aciona um erro. Estas informações são importantes se estiver a desenvolver regras de falhas para um proxy. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Prefixo do código de erro
N/A
Erros de tempo de execução
Esta política não gera erros de tempo de execução.
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidCacheResourceReference |
Este erro ocorre se o elemento <CacheResource> estiver definido para um nome que não existe no ambiente onde o proxy de API está a ser implementado. |
build |
InvalidTimeout |
Se o elemento <CacheLookupTimeoutInSeconds> estiver definido como um número negativo, a implementação do proxy de API falha. |
build |
CacheNotFound |
Este erro ocorre se a cache específica mencionada na mensagem de erro não tiver sido criada num componente do processador de mensagens específico. | build |
Variáveis de falha
N/A
Exemplo de resposta de erro
N/A
Política InvalidateCache
Esta secção descreve as mensagens de erro e as variáveis de fluxo que são definidas quando esta política aciona um erro. Estas informações são importantes se estiver a desenvolver regras de falhas para um proxy. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Prefixo do código de erro
N/A
Erros de tempo de execução
Esta política não gera erros de tempo de execução.
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidCacheResourceReference |
Este erro ocorre se o elemento <CacheResource> na política InvalidateCache estiver definido
para um nome que não existe no ambiente onde o proxy de API está a ser implementado. |
build |
CacheNotFound |
Este erro ocorre se a cache específica mencionada na mensagem de erro não tiver sido criada num componente do processador de mensagens específico. | build |
Variáveis de falha
N/A
Exemplo de resposta de erro
N/A
Política ResponseCache
Esta secção descreve as mensagens de erro e as variáveis de fluxo que são definidas quando esta política aciona um erro. Estas informações são importantes se estiver a desenvolver regras de falhas para um proxy. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Prefixo do código de erro
N/A
Erros de tempo de execução
Esta política não gera erros de tempo de execução.
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidTimeout |
Se o elemento
<CacheLookupTimeoutInSeconds> da política ResponseCache estiver definido como um número negativo,
a implementação do proxy de API falha. |
build |
InvalidCacheResourceReference |
Este erro ocorre se o elemento <CacheResource> numa política ResponseCache estiver definido para um nome que não existe no ambiente onde o proxy de API está a ser implementado. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Este erro ocorre se a mesma política ResponseCache estiver anexada a vários caminhos de pedidos
em quaisquer fluxos de um proxy de API. |
build |
ResponseCacheStepAttachmentNotAllowedResp |
Este erro ocorre se a mesma política ResponseCache estiver anexada a vários caminhos de resposta
em quaisquer fluxos de um proxy de API. |
build |
InvalidMessagePatternForErrorCode |
Este erro ocorre se o elemento <SkipCacheLookup> ou <SkipCachePopulation>
numa política ResponseCache contiver uma condição inválida. |
build |
CacheNotFound |
Este erro ocorre se a cache específica mencionada na mensagem de erro não tiver sido criada num componente do processador de mensagens específico. | build |
Variáveis de falha
N/A
Exemplo de resposta de erro
N/A
Política OAuthV2
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Gerado por operações |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 |
O token de acesso expirou. |
|
steps.oauth.v2.access_token_not_approved |
401 |
A chave de acesso foi revogada. | VerifyAccessToken |
steps.oauth.v2.apiproduct_doesnot_exist |
401 |
O produto API pedido não existe em nenhum dos produtos API associados ao token de acesso. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 |
A política esperava encontrar um token de acesso numa variável especificada no elemento <AccessToken> , mas não foi possível resolver a variável. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 |
A política esperava encontrar um código de autorização numa variável especificada no elemento <Code> , mas não foi possível resolver a variável. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 |
A política esperava encontrar o ID do cliente numa variável especificada no elemento
<ClientId> , mas não foi possível resolver a variável. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 |
A política esperava encontrar um token de atualização numa variável especificada no elemento <RefreshToken> , mas não foi possível resolver a variável. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 |
A política esperava encontrar um token numa variável especificada no elemento <Tokens> , mas não foi possível resolver a variável. |
|
steps.oauth.v2.InsufficientScope |
403 | O token de acesso apresentado no pedido tem um âmbito que não corresponde ao âmbito especificado na política de verificação do token de acesso. Para saber mais sobre o âmbito, consulte o artigo Trabalhar com âmbitos do OAuth2. | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
Este nome de erro é devolvido quando a propriedade |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.InvalidRequest |
400 | Este nome de erro é usado para vários tipos diferentes de erros, normalmente para parâmetros em falta ou incorretos enviados no pedido. Se <GenerateResponse> estiver
definido como false , use variáveis de falha (descritas abaixo) para obter detalhes sobre
o erro, como o nome e a causa da falha. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 |
O cabeçalho de autorização não tem a palavra Bearer , que é obrigatória. Por
exemplo: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
O proxy ou a operação da API em execução atualmente não está no produto associado ao token de acesso. Sugestões: certifique-se de que o produto associado ao token de acesso está configurado corretamente. Por exemplo, se usar carateres universais em caminhos de recursos, certifique-se de que os carateres universais estão a ser usados corretamente. Consulte o artigo Gerir produtos da API para ver detalhes. Veja também A validação do token de acesso Oauth2.0 gera o erro "Invalid API call as no apiproduct match found" para obter mais orientações sobre as causas deste erro. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
Este nome de erro é devolvido quando a propriedade |
|
steps.oauth.v2.InvalidParameter |
500 |
A política tem de especificar um token de acesso ou um código de autorização, mas não ambos. | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 |
O elemento <Tokens>/<Token> requer que especifique o tipo de token (por exemplo, refreshtoken ). Se o cliente transmitir o tipo errado, este erro é gerado. |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 |
O tipo de resposta é token , mas não foram especificados tipos de autorização. |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
O cliente especificou um tipo de concessão não suportado pela política (não listado no elemento |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
Erros de tempo de execução específicos do token JWT
Os códigos e as descrições de erros de tempo de execução para fluxos de tokens de autorização JWT dependem do contexto do fluxo OAuth2:
- Se o contexto do fluxo for a geração ou a atualização de tokens, consulte os códigos de erro para a geração e a atualização de tokens JWT abaixo.
- Para o fluxo de validação de tokens, consulte os códigos de erro para fluxos de validação de tokens abaixo.
Códigos de erro para a geração de tokens JWT e fluxos de atualização
Para fluxos OAuth2 que geram ou atualizam tokens JWT, as respostas de erro cumprem as respostas de erro especificadas na RFC6749. Para ver detalhes, consulte a secção 5.2 Resposta de erro.
Códigos de erro para o fluxo de validação de tokens
Os códigos de erro indicados na tabela seguinte aplicam-se apenas à operação VerifyAccessToken.
Código de falha | Estado de HTTP | Causa | Gerado por operações |
---|---|---|---|
oauth.v2.JWTSigningFailed |
401 |
A política não conseguiu assinar o JWT. |
|
oauth.v2.InvalidValueForJWTAlgorithm |
401 |
Isto ocorre quando o algoritmo não está presente no token de acesso JWT ou quando o valor não é suportado. |
|
oauth.v2.InsufficientKeyLength |
401 |
Na geração de JWT, para uma chave inferior ao tamanho mínimo para os algoritmos HS384 ou HS512 |
|
oauth.v2.JWTAlgorithmMismatch |
401 |
O algoritmo especificado na política Generate não correspondeu ao esperado na política Verify. Os algoritmos especificados têm de corresponder. |
|
oauth.v2.JWTDecodingFailed |
401 |
A política não conseguiu descodificar o JWT. O JWT está possivelmente danificado. |
|
oauth.v2.MissingMandatoryClaimsInJWT |
401 |
Ocorre quando as reivindicações necessárias não estão presentes na chave de acesso JWT |
|
oauth.v2.InvalidJWTSignature |
401 |
Isto ocorre quando não foi possível validar a assinatura do token de acesso JWT ou quando a assinatura é inválida. |
|
oauth.v2.InvalidTypeInJWTHeader |
401 |
Ocorre quando o tipo do JWT não é at+Jwt |
|
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa |
---|---|
InvalidValueForExpiresIn |
Para o elemento |
InvalidValueForRefreshTokenExpiresIn |
Para o elemento <RefreshTokenExpiresIn> , os valores válidos são números inteiros positivos. |
InvalidGrantType |
É especificado um tipo de autorização inválido no elemento <SupportedGrantTypes> . Consulte a referência da política para ver uma lista de tipos válidos. |
ExpiresInNotApplicableForOperation |
Certifique-se de que as operações especificadas no elemento <Operations> suportam a expiração. Por exemplo, a operação VerifyToken não o faz. |
RefreshTokenExpiresInNotApplicableForOperation |
Certifique-se de que as operações especificadas no elemento <Operations> suportam a validade do token de atualização. Por exemplo, a operação VerifyToken não o faz. |
GrantTypesNotApplicableForOperation |
Certifique-se de que os tipos de autorização especificados em <SupportedGrantTypes> são suportados para a operação especificada. |
OperationRequired |
Tem de especificar uma operação nesta política através do elemento |
InvalidOperation |
Tem de especificar uma operação válida nesta política através do elemento |
TokenValueRequired |
Tem de especificar um valor de token <Token> no elemento <Tokens> . |
Erros de implementação específicos do token JWT
Estes erros de implementação são específicos das políticas que usam operações de tokens JWT.
Nome do erro | Causa |
---|---|
InvalidValueForAlgorithm |
O algoritmo especificado no elemento <Algorithm> não está
na lista de algoritmos disponíveis ou não está presente. |
MissingKeyConfiguration |
Os elementos obrigatórios <SecretKey> , <PrivateKey> ou
<PublicKey> estão em falta, consoante o algoritmo usado. |
EmptyValueElementForKeyConfiguration |
O elemento secundário obrigatório <Value> não está definido nos elementos
<PrivateKey> , <PublicKey> ou <SecretKey> |
InvalidKeyConfiguration |
O elemento <PrivateKey> não é usado com algoritmos da família RSA ou o elemento <SecretKey>
não é usado com algoritmos da família HS. |
EmptyRefAttributeForKeyconfiguration |
O atributo ref do elemento secundário <Value> dos elementos <PrivateKey> , <PublicKey> ou <SecretKey> está vazio. |
InvalidVariableNameForKey |
O nome da variável de fluxo especificado no atributo ref do elemento secundário <Value> dos elementos <PrivateKey> , <PublicKey> ou <SecretKey> não contém o prefixo private . |
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "InvalidRequest" |
oauthV2.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.GenerateAccesstoken.fault.name = InvalidRequest
|
oauthV2.policy_name.fault.cause |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
Exemplo de resposta de erro
Estas respostas são enviadas de volta para o cliente se o elemento <GenerateResponse>
for true.
Se <GenerateResponse>
for verdadeiro, a política devolve erros neste formato para operações que geram tokens e códigos. Para ver uma lista completa, consulte a
referência da resposta de erro HTTP do OAuth.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
Se <GenerateResponse>
for verdadeiro, a política devolve erros
neste formato para operações de verificação e validação. Para ver uma lista completa, consulte a referência da resposta de erro HTTP do OAuth.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
Exemplo de regra de falha
<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>
Política GetOAuthV2Info
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada. Os nomes dos erros apresentados abaixo são as strings
que são atribuídas à variável fault.name
quando ocorre um erro. Consulte a secção de variáveis de falha abaixo para ver mais detalhes.
Código de falha | Estado de HTTP | Causa |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
O token de acesso enviado para a política expirou. |
steps.oauth.v2.authorization_code_expired |
500 |
O código de autorização enviado para a política expirou. |
steps.oauth.v2.invalid_access_token |
500 |
O token de acesso enviado para a política é inválido. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 |
O ID do cliente enviado para a política é inválido. |
steps.oauth.v2.invalid_refresh_token |
500 |
O token de atualização enviado para a política é inválido. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 |
O código de autorização enviado para a política é inválido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Consulte o artigo A validação do token de acesso do Oauth2.0 gera o erro "Invalid API call as no apiproduct match found" para obter informações sobre a resolução de problemas deste erro. |
steps.oauth.v2.refresh_token_expired |
500 |
O token de atualização enviado para a política expirou. |
Erros de implementação
Consulte a mensagem comunicada na IU para obter informações sobre erros de implementação.
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
Exemplo de resposta de erro
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
Exemplo de regra de falha
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientIdResponse</Name> </Step> <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition> </FaultRule>
Política SetOAuthV2Info
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
O token de acesso enviado para a política expirou. |
steps.oauth.v2.invalid_access_token |
500 |
O token de acesso enviado para a política é inválido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
Consulte o artigo A validação do token de acesso do Oauth2.0 devolve o erro "Invalid API call as no apiproduct match found" para obter informações sobre a resolução de problemas deste erro. |
Erros de implementação
Consulte a mensagem comunicada na IU para obter informações sobre erros de implementação.
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
Exemplo de resposta de erro
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Exemplo de regra de falha
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
Política DeleteOAuthV2Info
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 |
O token de acesso enviado para a política é inválido. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 |
O código de autorização enviado para a política é inválido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
Consulte o artigo A validação do token de acesso do Oauth2.0 devolve o erro "Invalid API call as no apiproduct match found" para obter informações sobre a resolução de problemas deste erro. |
Erros de implementação
Consulte a mensagem comunicada na IU para obter informações sobre erros de implementação.
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
Exemplo de resposta de erro
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Exemplo de regra de falha
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> </Step> <Condition>(fault.name = "invalid_access_token")</Condition> </FaultRule>
Política de PythonScript
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. É importante conhecer estas informações se estiver a desenvolver regras de falhas para resolver falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 |
A política de PythonScript pode gerar vários tipos diferentes de erros ScriptExecutionFailed. Os tipos de erros mais comuns incluem NameError e ZeroDivisionError. | build |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidResourceUrlFormat |
Se o formato do URL do recurso especificado no elemento <ResourceURL> ou <IncludeURL> da política PythonScript for inválido, a implementação do proxy de API falha. |
build |
InvalidResourceUrlReference |
Se os elementos <ResourceURL> ou <IncludeURL> fizerem referência a um ficheiro PythonScript que não existe, a implementação do proxy de API falha.
O ficheiro de origem referenciado tem de existir ao nível do proxy de API, do ambiente ou da organização. |
build |
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução. Para mais informações, consulte o artigo O que precisa de saber sobre os erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | pythonscript.PythonScript-1.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
Exemplo de regra de falha
<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>
Política de quotas
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 |
Ocorre se o elemento <Interval> não estiver definido na política Quota . Este elemento é obrigatório e usado para especificar o intervalo de tempo aplicável à quota. O intervalo de tempo
pode ser minutos, horas, dias, semanas ou meses, conforme definido com o elemento <TimeUnit> . |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 |
Ocorre se o elemento <TimeUnit> não estiver definido na política Quota . Este elemento
é obrigatório e usado para especificar a unidade de tempo aplicável à quota. O intervalo de tempo
pode ser em minutos, horas, dias, semanas ou meses. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Ocorre se o valor do elemento <MessageWeight> especificado através de uma variável de fluxo
for inválido (um valor não inteiro). |
build |
policies.ratelimit.QuotaViolation |
500 |
O limite de quota foi excedido. | N/A |
Erros de implementação
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidQuotaInterval |
Se o intervalo de quota especificado no elemento <Interval> não for um número inteiro, a implementação do proxy da API falha. Por exemplo, se o intervalo de quota especificado for 0,1 no elemento <Interval> , a implementação do proxy de API falha.
|
build |
InvalidQuotaTimeUnit |
Se a unidade de tempo especificada no elemento <TimeUnit> não for suportada,
a implementação do proxy de API falha. As unidades de tempo suportadas são minute ,
hour , day , week e month .
|
build |
InvalidQuotaType |
Se o tipo de quota especificado pelo atributo type no elemento <Quota>
for inválido, a implementação do proxy de API falha. Os tipos de quotas suportados são default , calendar , flexi e rollingwindow .
|
build |
InvalidStartTime |
Se o formato da hora especificada no elemento <StartTime> for
inválido, a implementação do proxy da API falha. O formato válido é yyyy-MM-dd HH:mm:ss ,
que é o formato de data e hora ISO 8601. Por exemplo, se a hora especificada no elemento <StartTime> for 7-16-2017 12:00:00 , a implementação do proxy da API falha.
|
build |
StartTimeNotSupported |
Se o elemento <StartTime> for especificado cujo tipo de quota não seja do tipo calendar , a implementação do proxy de API falha. O elemento <StartTime> só é suportado para o tipo de quota calendar . Por exemplo, se o atributo type estiver definido
como flexi ou rolling window no elemento <Quota> , a
implementação do proxy da API falha.
|
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Se o valor especificado para o elemento <SyncIntervalInSeconds> no elemento <AsynchronousConfiguration> numa política Quota for inferior a zero, a implementação do proxy de API falha. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Se o valor do elemento <AsynchronousConfiguration> estiver definido como true numa política Quota , que também tenha uma configuração assíncrona definida através do elemento <AsynchronousConfiguration> , a implementação do proxy de API falha. |
build |
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | ratelimit.QT-QuotaPolicy.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
Exemplo de regra de falha
<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>
Política ResetQuota
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 |
A política Quota especificada no elemento <Quota> da política ResetQuota não está definida no proxy da API e, por isso, não está disponível durante o fluxo. O elemento <Quota>
é obrigatório e identifica a política Quota de destino cujo contador deve ser atualizado
através da política ResetQuota . |
build |
policies.resetquota.FailedToResolveAllowCountRef |
N/A | Não é possível resolver a referência à variável que contém a contagem permitida no elemento <Allow> da política para um valor. Este elemento é obrigatório e especifica o valor
para diminuir o contador de quotas. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 |
Não é possível resolver a variável referenciada pelo atributo ref no elemento <Quota> . |
build |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidCount |
Se o valor de contagem especificado no elemento <Allow> da política ResetQuota não for um número inteiro,
a implementação do proxy de API falha.
|
build |
RaiseFaultpolicy
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. É importante conhecer estas informações se estiver a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte os artigos O que precisa de saber sobre erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa |
---|---|---|
steps.raisefault.RaiseFault |
500 |
Veja a string de falha. |
Erros de implementação
Nenhum.
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber sobre os erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | raisefault.RF-ThrowError.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
Política RegularExpressionProtection
Esta secção descreve os códigos de erro e as mensagens devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. É importante conhecer estas informações se estiver a desenvolver regras de falhas para processar falhas. Se quiser captar um erro e gerar o seu próprio erro personalizado, defina o atributo continueOnError="true"
no elemento raiz da política.
Para saber mais, consulte os artigos
O que precisa de saber sobre erros de políticas e Processamento
de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de erro | Mensagem |
---|---|
ExecutionFailed |
Failed to execute the RegularExpressionProtection StepDefinition {0}. Reason: {1} |
InstantiationFailed |
Failed to instantiate the RegularExpressionProtection StepDefinition {0} |
NonMessageVariable |
Variable {0} does not resolve to a Message |
SourceMessageNotAvailable |
{0} message is not available for RegularExpressionProtection StepDefinition {1} |
ThreatDetected |
Regular Expression Threat Detected in {0}: regex: {1} input: {2} |
VariableResolutionFailed |
Failed to resolve variable {0} |
Erros de implementação
Código de erro | Mensagem | Corrigir |
---|---|---|
CannotBeConvertedToNodeset |
RegularExpressionProtection {0}: Result of xpath {1} cannot be converted to nodeset.
Context {2} |
build |
DuplicatePrefix |
RegularExpressionProtection {0}: Duplicate prefix {1} |
build |
EmptyJSONPathExpression |
RegularExpressionProtection {0}: Empty JSONPath expression |
build |
EmptyXPathExpression |
RegularExpressionProtection {0}: Empty XPath expression |
build |
InvalidRegularExpression |
RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2} |
build |
JSONPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2} |
build |
NONEmptyPrefixMappedToEmptyURI |
RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty
uri |
build |
NoPatternsToEnforce |
RegularExpressionProtection {0}: No patterns to enforce in {1} |
build |
NothingToEnforce |
RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header,
FormParam, XMLPayload, JSONPayload is mandatory |
build |
XPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {2} |
build |
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela acima. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
Política SAMLAssertion
Esta secção descreve os códigos de falhas e as mensagens de erro devolvidas e as variáveis de falhas definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
SourceNotConfigured |
Um ou mais dos seguintes elementos da política ValidateSAMLAssertion
não estão definidos ou estão vazios: <Source> , <XPath> ,
<Namespaces> , <Namespace> .
|
build |
TrustStoreNotConfigured |
Se o elemento <TrustStore> estiver vazio ou não for especificado na política ValidateSAMLAssertion , a implementação do proxy de API falha.
É necessário um repositório de confiança válido.
|
build |
NullKeyStoreAlias |
Se o elemento secundário <Alias> estiver vazio ou não for especificado no elemento <Keystore>
da política GenerateSAMLAssertion , a implementação do proxy da API falha. É necessário um alias do keystore válido.
|
build |
NullKeyStore |
Se o elemento secundário <Name> estiver vazio ou não for especificado no elemento <Keystore>
da política GenerateSAMLAssertion , a implementação do proxy da API falha. É necessário um nome de keystore válido.
|
build |
NullIssuer |
Se o elemento <Issuer> estiver vazio ou não for especificado na política GenerateSAMLAssertion , a implementação do proxy de API falha. É necessário um valor <Issuer> válido.
|
build |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha. O nome da falha é a última parte do código de falha. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
Para uma configuração de política de validação de afirmação SAML, o prefixo de erro é
ValidateSAMLAssertion . |
GenerateSAMLAssertion.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Exemplo de regra de falha
<FaultRules> <FaultRule name="invalid_saml_rule"> <Step> <Name>invalid-saml</Name> </Step> <Condition>(GenerateSAMLAssertion.failed = "true")</Condition> </FaultRule> </FaultRules>
Política ServiceCallout
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Este erro pode ocorrer quando:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 |
A variável Request especificada na política não é do tipo Message . Por exemplo, se for uma string ou outro tipo que não seja de mensagem, é apresentado este erro. |
build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 |
A variável Request especificada na política não é do tipo RequestMessage . Por
exemplo, se for um tipo de resposta, é apresentado este erro. |
build |
googletoken.EmptyIDTokenAudience |
500 |
|
|
messaging.adaptors.http.filter.GoogleTokenGenerationFailure |
500 |
Este erro pode ocorrer se o proxy da API estiver configurado com o elemento <Authentication>. As causas possíveis incluem:
<GoogleAccessToken> é usado e são fornecidos um ou mais âmbitos inválidos. Por exemplo, procure gralhas ou âmbitos vazios.
Apenas para o Apigee hybrid, verifique o registo do contentor de tempo de execução e procure
|
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
URLMissing |
O elemento <URL> dentro de <HTTPTargetConnection>
está em falta ou está vazio. |
build |
ConnectionInfoMissing |
Este erro ocorre se a política não tiver um elemento
<HTTPTargetConnection> ou <LocalTargetConnection> . |
build |
InvalidTimeoutValue |
Este erro ocorre se o valor de <Timeout> for negativo ou zero. |
build |
FAILED_PRECONDITION |
Este erro ocorre se a conta de serviço estiver em falta quando o proxy é configurado com a etiqueta <Authentication>.
Por exemplo: Deployment of \"organizations/foo/apis/apiproxy/revisions/1\" requires a service account identity, but one was not provided with the request. |
|
PERMISSION_DENIED |
Este erro ocorre se houver um problema de autorização com a conta de serviço se o proxy estiver configurado com a etiqueta <Authentication>. Causas possíveis:
|
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | servicecallout.SC-GetUserData.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Exemplo de regra de falha
<FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
Política SOAPMessageValidation
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
Este erro ocorre se uma variável especificada no elemento
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
Este erro ocorre se o elemento As variáveis de tipo de mensagem representam pedidos e respostas HTTP completos. As variáveis de fluxo incorporadas do Apigee |
build |
steps.messagevalidation.Failed |
500 | Este erro ocorre se a política SOAPMessageValidation não conseguir validar a carga útil da mensagem de entrada em relação ao esquema XSD ou à definição WSDL. Também ocorre se houver JSON ou XML com formato incorreto na mensagem de payload. | build |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidResourceType |
O elemento <ResourceURL> na política SOAPMessageValidation está definido para um tipo de recurso
não suportado pela política.
|
build |
ResourceCompileFailed |
O script de recurso referenciado no elemento <ResourceURL> da política SOAPMessageValidation
contém um erro que impede a sua compilação.
|
build |
RootElementNameUnspecified |
O elemento <Element> na política SOAPMessageValidation não contém o nome do elemento raiz. |
build |
InvalidRootElementName |
O elemento <Element> na política SOAPMessageValidation contém um nome de elemento raiz
que não cumpre as regras XML para a nomenclatura de elementos válidos. |
build |
Política SpikeArrest
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte os artigos O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
Este erro ocorre se a referência à variável que contém a definição da taxa
no elemento <Rate> não puder ser resolvida para um valor na política SpikeArrest . Este elemento é obrigatório e usado para especificar a taxa de restrição de picos no formato intpm ou intps . |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Este erro ocorre se o valor especificado para o elemento <MessageWeight> através de uma variável de fluxo for inválido (um valor não inteiro). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
O limite de taxa foi excedido. |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidAllowedRate |
Se a taxa de detenção de picos especificada no elemento <Rate> da política não for um número inteiro ou se a taxa não tiver ps ou pm como sufixo, a implementação do proxy de API falha.SpikeArrest |
build |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | ratelimit.SA-SpikeArrestPolicy.failed = true |
Exemplo de resposta de erro
Segue-se um exemplo de uma resposta de erro:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
Exemplo de regra de falha
Segue-se um exemplo de uma regra de falha para processar uma falha 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>
Política VerifyAPIKey
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa |
---|---|---|
keymanagement.service.consumer_key_missing_api_product_association |
400 |
A credencial da aplicação não tem uma associação de produto da API. Associe a aplicação da chave a um produto da API. Tenha em atenção que isto se aplica a todos os tipos de aplicações, como apps de programador e apps de AppGroup. |
keymanagement.service.DeveloperStatusNotActive |
401 |
O programador que criou a app do programador com a chave da API que está a usar tem um estado inativo. Quando o estado de um programador de apps é definido como inativo, todas as apps de programador criadas por esse programador são desativadas. Um utilizador administrador com as autorizações adequadas (como administrador da organização) pode alterar o estado de um programador das seguintes formas:
|
keymanagement.service.invalid_client-app_not_approved |
401 |
A app de programador associada à chave da API é revogada. Uma app revogada não pode aceder a produtos de API nem invocar qualquer API gerida pela Apigee. Um administrador da organização pode alterar o estado de uma app de programador através da API Apigee. Consulte Gere o par de chaves ou atualize o estado da app de programador. |
oauth.v2.FailedToResolveAPIKey |
401 |
A política espera encontrar a chave da API numa variável especificada no elemento <APIKey> da política. Este erro surge quando a variável esperada não existe (não pode ser resolvida). |
oauth.v2.InvalidApiKey |
401 |
O Apigee recebeu uma chave da API, mas é inválida. Quando o Apigee procura a chave na respetiva base de dados, tem de corresponder exatamente à que foi enviada no pedido. Se a API funcionou anteriormente, certifique-se de que a chave não foi regenerada. Se a chave foi regenerada, é apresentado este erro se tentar usar a chave antiga. Para ver detalhes, consulte o artigo Controlar o acesso às suas APIs através do registo de apps. |
oauth.v2.InvalidApiKeyForGivenResource |
401 |
O Apigee recebeu uma chave da API e esta é válida. No entanto, não corresponde a uma chave aprovada na app de programador associada ao seu proxy de API através de um produto. |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa |
---|---|
SpecifyValueOrRefApiKey |
O elemento <APIKey> não tem um valor ou uma chave especificada. |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.VK-VerifyAPIKey.failed = true |
Exemplos de respostas de erro
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
Exemplo de regra de falha
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
VerifyIAM policy
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se estiver a desenvolver regras de falhas para processar falhas. Para saber mais, consulte os artigos O que precisa de saber sobre os erros de políticas e Como resolver falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa |
---|---|---|
steps.verifyiam.CredentialSourceRefUnresolved |
400 |
Não foi possível resolver a variável de fluxo fornecida na origem das credenciais. |
steps.verifyiam.CredentialValueNotProvided |
400 |
Não foi possível encontrar a credencial. Se a referência da origem das credenciais não for facultada, procuramos no local predefinido, como o cabeçalho de autorização. |
steps.verifyiam.Forbidden |
403 |
Não foi possível encaminhar o pedido devido à falta de autorizações suficientes, âmbitos de acesso ou outros problemas relacionados. |
steps.verifyiam.MiscellaneousAuthorizationConfigurationError |
500 |
Um problema com o pedido de autenticação ao IAM. O produtor da API tem de corrigir este erro com base nos detalhes na resposta de erro. |
steps.verifyiam.Unauthorized |
401 |
Problema com a credencial, como o valor ser inválido ou ter expirado. |
steps.verifyiam.UnexpectedAuthorizationInfrastructureError |
500 |
Erro interno. |
Erros de implementação
Esta política não devolve erros de implementação específicos da política.
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name="Unauthorized" |
verifyiam.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | verifyiam.Verify-IAMToken.failed = true |
Política VerifyJWS
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Ocorre quando |
---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 |
Ocorre quando a política de validação tem vários algoritmos |
steps.jws.AlgorithmMismatch |
401 |
O algoritmo especificado no cabeçalho pela política Generate não correspondeu ao esperado na política Verify . Os algoritmos especificados têm de corresponder. |
steps.jws.ContentIsNotDetached |
401 |
<DetachedContent> é especificado quando o JWS não contém um payload de conteúdo separado. |
steps.jws.FailedToDecode |
401 |
A política não conseguiu descodificar o JWS. O JWS está possivelmente danificado. |
steps.jws.InsufficientKeyLength |
401 |
Para uma chave inferior a 32 bytes para o algoritmo HS256 |
steps.jws.InvalidClaim |
401 |
Para uma reivindicação em falta ou uma incompatibilidade de reivindicação, ou um cabeçalho em falta ou uma incompatibilidade de cabeçalho. |
steps.jws.InvalidCurve |
401 |
A curva especificada pela chave não é válida para o algoritmo de curva elíptica. |
steps.jws.InvalidJsonFormat |
401 |
Foi encontrado um JSON inválido no cabeçalho JWS. |
steps.jws.InvalidJws |
401 |
Este erro ocorre quando a validação da assinatura JWS falha. |
steps.jws.InvalidPayload |
401 |
A carga útil JWS é inválida. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> é omitido e o JWS tem um payload de conteúdo separado. |
steps.jws.KeyIdMissing |
401 |
A política Verify usa um JWKS como origem para chaves públicas, mas o JWS assinado não inclui uma propriedade kid no cabeçalho. |
steps.jws.KeyParsingFailed |
401 |
Não foi possível analisar a chave pública a partir das informações da chave fornecidas. |
steps.jws.MissingPayload |
401 |
O payload JWS está em falta. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Ocorre quando o JWS omite o cabeçalho do algoritmo. |
steps.jws.NoMatchingPublicKey |
401 |
A política Verify usa um JWKS como origem para chaves públicas, mas o kid
no JWS assinado não está listado no JWKS. |
steps.jws.UnhandledCriticalHeader |
401 |
Um cabeçalho encontrado pela política Verify JWS no cabeçalho crit não está
listado em KnownHeaders . |
steps.jws.UnknownException |
401 |
Ocorreu uma exceção desconhecida. |
steps.jws.WrongKeyType |
401 |
Foi especificado o tipo de chave errado. Por exemplo, se especificar uma chave RSA para um algoritmo de curva elíptica ou uma chave de curva para um algoritmo RSA. |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Ocorre quando |
---|---|
InvalidAlgorithm |
Os únicos valores válidos são: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Outros possíveis erros de implementação. |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "TokenExpired" |
JWS.failed |
Todas as políticas JWS definem a mesma variável em caso de falha. | jws.JWS-Policy.failed = true |
Exemplo de resposta de erro
Para o processamento de erros, a prática recomendada é captar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque pode mudar.
Exemplo de regra de falha
<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>
Política VerifyJWT
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. É importante conhecer estas informações se estiver a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Ocorre quando |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
Ocorre quando a política de validação tem vários algoritmos. |
steps.jwt.AlgorithmMismatch |
401 |
O algoritmo especificado na política Generate não correspondeu ao esperado na política Verify . Os algoritmos especificados têm de corresponder. |
steps.jwt.FailedToDecode |
401 |
A política não conseguiu descodificar o JWT. O JWT está possivelmente danificado. |
steps.jwt.GenerationFailed |
401 |
A política não conseguiu gerar o JWT. |
steps.jwt.InsufficientKeyLength |
401 |
Para uma chave inferior a 32 bytes para o algoritmo HS256, inferior a 48 bytes para o algoritmo HS386 e inferior a 64 bytes para o algoritmo HS512. |
steps.jwt.InvalidClaim |
401 |
Para uma reivindicação em falta ou uma incompatibilidade de reivindicação, ou um cabeçalho em falta ou uma incompatibilidade de cabeçalho. |
steps.jwt.InvalidConfiguration |
401 |
Os elementos <Algorithm> e <Algorithms> estão presentes. |
steps.jwt.InvalidCurve |
401 |
A curva especificada pela chave não é válida para o algoritmo de curva elíptica. |
steps.jwt.InvalidIterationCount |
401 |
A contagem de iterações usada no JWT encriptado não é igual à contagem de iterações especificada na configuração da política VerifyJWT. Isto aplica-se apenas a JWTs que
usam <PasswordKey> . |
steps.jwt.InvalidJsonFormat |
401 |
Foi encontrado JSON inválido no cabeçalho ou no payload. |
steps.jwt.InvalidKeyConfiguration |
401 |
O elemento JWKS no elemento <PublicKey> é inválido. O motivo
pode ser que o ponto final do URI de JWKS não seja acessível a partir da instância do Apigee. Teste a
conetividade ao ponto final criando um proxy de passagem e usando o ponto final JWKS
como destino. |
steps.jwt.InvalidSaltLength |
401 |
O comprimento do sal usado no JWT encriptado não é igual ao comprimento do sal
especificado na configuração da política VerifyJWT. Isto aplica-se apenas a JWTs que
usam <PasswordKey> . |
steps.jwt.InvalidPasswordKey |
401 |
A chave especificada não cumpriu os requisitos. |
steps.jwt.InvalidPrivateKey |
401 |
A chave especificada não cumpriu os requisitos. |
steps.jwt.InvalidPublicKey |
401 |
A chave especificada não cumpriu os requisitos. |
steps.jwt.InvalidSecretKey |
401 |
A chave especificada não cumpriu os requisitos. |
steps.jwt.InvalidToken |
401 |
Este erro ocorre quando a validação da assinatura JWT falha. |
steps.jwt.JwtAudienceMismatch |
401 |
A reivindicação de público-alvo falhou na validação do token. |
steps.jwt.JwtIssuerMismatch |
401 |
A reivindicação do emissor falhou na validação do token. |
steps.jwt.JwtSubjectMismatch |
401 |
A reivindicação do assunto falhou na validação do token. |
steps.jwt.KeyIdMissing |
401 |
A política Verify usa um JWKS como origem para chaves públicas, mas o JWT assinado não
inclui uma propriedade kid no cabeçalho. |
steps.jwt.KeyParsingFailed |
401 |
Não foi possível analisar a chave pública a partir das informações da chave fornecidas. |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
Ocorre quando o JWT não contém um cabeçalho de algoritmo. |
steps.jwt.NoMatchingPublicKey |
401 |
A política Verify usa um JWKS como origem para chaves públicas, mas o kid
no JWT assinado não está listado no JWKS. |
steps.jwt.SigningFailed |
401 |
Em GenerateJWT, para uma chave inferior ao tamanho mínimo para os algoritmos HS384 ou HS512 |
steps.jwt.TokenExpired |
401 |
A política tenta validar um token expirado. |
steps.jwt.TokenNotYetValid |
401 |
O token ainda não é válido. |
steps.jwt.UnhandledCriticalHeader |
401 |
Um cabeçalho encontrado pela política Verify JWT no cabeçalho crit não está
listado em KnownHeaders . |
steps.jwt.UnknownException |
401 |
Ocorreu uma exceção desconhecida. |
steps.jwt.WrongKeyType |
401 |
Foi especificado o tipo de chave errado. Por exemplo, se especificar uma chave RSA para um algoritmo de curva elíptica ou uma chave de curva para um algoritmo RSA. |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidNameForAdditionalClaim |
A implementação falha se a reivindicação usada no elemento filho <Claim>
do elemento <AdditionalClaims> for um dos seguintes nomes registados:
kid , iss , sub , aud , iat ,
exp , nbf ou jti .
|
build |
InvalidTypeForAdditionalClaim |
Se a reivindicação usada no elemento subordinado <Claim>
do elemento <AdditionalClaims> não for do tipo string , number ,
boolean ou map , a implementação falha.
|
build |
MissingNameForAdditionalClaim |
Se o nome da reivindicação não for especificado no elemento secundário <Claim>
do elemento <AdditionalClaims> , a implementação falha.
|
build |
InvalidNameForAdditionalHeader |
Este erro ocorre quando o nome da reivindicação usado no elemento filho <Claim>
do elemento <AdditionalClaims> é alg ou typ .
|
build |
InvalidTypeForAdditionalHeader |
Se o tipo de reivindicação usado no elemento subordinado <Claim>
do elemento <AdditionalClaims> não for do tipo string , number ,
boolean ou map , a implementação falha.
|
build |
InvalidValueOfArrayAttribute |
Este erro ocorre quando o valor do atributo de matriz no elemento subordinado <Claim>
do elemento <AdditionalClaims> não está definido como true ou false .
|
build |
InvalidValueForElement |
Se o valor especificado no elemento <Algorithm> não for um valor suportado,
a implementação falha.
|
build |
MissingConfigurationElement |
Este erro ocorre se o elemento <PrivateKey> não for usado com algoritmos da família RSA ou se o elemento <SecretKey> não for usado com algoritmos da família HS.
|
build |
InvalidKeyConfiguration |
Se o elemento subordinado <Value> não estiver definido nos elementos <PrivateKey>
ou <SecretKey> , a implementação falha.
|
build |
EmptyElementForKeyConfiguration |
Se o atributo ref do elemento secundário <Value> dos elementos <PrivateKey>
ou <SecretKey> estiver vazio ou não especificado, a implementação falha.
|
build |
InvalidConfigurationForVerify |
Este erro ocorre se o elemento <Id> estiver definido no elemento
<SecretKey> .
|
build |
InvalidEmptyElement |
Este erro ocorre se o elemento <Source> da política Verify JWT estiver vazio. Se estiver presente, tem de ser definido com um nome de variável de fluxo do Apigee.
|
build |
InvalidPublicKeyValue |
Se o valor usado no elemento secundário <JWKS> do elemento <PublicKey> não usar um formato válido, conforme especificado na RFC 7517, a implementação falha.
|
build |
InvalidConfigurationForActionAndAlgorithm |
Se o elemento <PrivateKey> for usado com algoritmos da família HS ou o elemento <SecretKey> for usado com algoritmos da família RSA, a implementação falha.
|
build |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "InvalidToken" |
JWT.failed |
Todas as políticas de JWT definem a mesma variável em caso de falha. | JWT.failed = true |
Exemplo de resposta de erro
Para o processamento de erros, a prática recomendada é captar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque pode mudar.
Exemplo de regra de falha
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Política XMLThreatProtection
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 |
A política de XMLThreatProtection pode gerar muitos tipos diferentes de erros de ExecutionFailed .
A maioria destes erros ocorre quando é excedido um limite específico definido na política. Estes tipos de erros incluem:
comprimento do nome do elemento,
contagem de filhos,
profundidade do nó,
contagem de atributos,
comprimento do nome do atributo,
e muitos outros. Pode ver a lista completa no tópico Resolução de problemas de erros de tempo de execução da política XMLThreatProtection.
|
build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> da política XMLThreatProtection não for um documento XML válido.
|
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
Este erro ocorre se a variável message
especificada no elemento <Source> for:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
Este erro ocorre se o elemento <Source> estiver definido para uma variável que não seja do tipo message.
|
build |
Erros de implementação
Nenhum.
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | xmlattack.XPT-SecureRequest.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Exemplo de regra de falha
<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>
Política XMLtoJSON
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
ExecutionFailed |
Este erro ocorre quando a carga útil de entrada (XML) está vazia ou o XML de entrada é inválido ou tem um formato incorreto. | build |
steps.xmltojson.InCompatibleTypes |
ExecutionFailed |
Este erro ocorre se o tipo da variável definida no elemento <Source> e no elemento <OutputVariable> não for o mesmo. É obrigatório que o tipo das variáveis contidas no elemento <Source> e no elemento <OutputVariable> corresponda.
|
build |
steps.xmltojson.InvalidSourceType |
ExecutionFailed |
Este erro ocorre se o tipo da variável usada para definir o elemento <Source> for inválido.Os tipos de variáveis válidos são message e string. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
ExecutionFailed |
Este erro ocorre se a variável especificada no elemento <Source> do XML para a política JSON for do tipo string e o elemento <OutputVariable> não estiver definido.
O elemento <OutputVariable> é obrigatório quando a variável definida no elemento <Source>
é do tipo string. |
build |
steps.xmltojson.SourceUnavailable |
ExecutionFailed |
Este erro ocorre se a variável message
especificada no elemento <Source> da política de XML para JSON for:
|
build |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
EitherOptionOrFormat |
Se um dos elementos <Options> ou <Format> não for declarado no XML para a política JSON, a implementação do proxy de API falha.
|
build |
UnknownFormat |
Se o elemento <Format> na política de XML para JSON tiver um formato desconhecido definido, a implementação do proxy de API falha. Os formatos predefinidos incluem:
xml.com , yahoo , google e badgerFish .
|
build |
Variáveis de falha
Estas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte o artigo O que precisa de saber acerca dos erros de políticas.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | xmltojson.XMLtoJSON-1.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
Exemplo de regra de falha
<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>
Política XSLTransform
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa | Corrigir |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
Este erro ocorre se a variável de mensagem ou string especificada no elemento <Source> da política XSLTransform estiver fora do âmbito (não disponível no fluxo específico onde a política está a ser executada) ou não puder ser resolvida (não estiver definida).
|
build |
steps.xsl.XSLEvaluationFailed |
500 |
Este erro ocorre se a carga útil XML de entrada estiver indisponível/com formato incorreto ou se a política XSLTransform falhar/não conseguir transformar o ficheiro XML de entrada com base nas regras de transformação fornecidas no ficheiro XSL. Podem existir várias causas diferentes para a falha da política XSLTransform. O motivo da falha na mensagem de erro fornece mais informações sobre a causa. | build |
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
XSLEmptyResourceUrl |
Se o elemento <ResourceURL> na política XSLTransform estiver vazio, a implementação do proxy de API falha. |
build |
XSLInvalidResourceType |
Se o tipo de recurso especificado no elemento <ResourceURL> da política não for do tipo xsl , a implementação do proxy de API falha.XSLTransform |
build |