Referência de erro de política

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.
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 source no elemento <Copy> estiver definido como uma variável que não seja do tipo message.

As variáveis de tipo de mensagem representam pedidos e respostas HTTP completos. As variáveis de fluxo incorporadas do Apigee request, response e message são do tipo de mensagem. Para saber mais acerca das variáveis de mensagens, consulte a referência de variáveis.

steps.assignmessage.UnresolvedVariable 500

Este erro ocorre se uma variável especificada na política AssignMessage for:

  • Fora do âmbito (não disponível no fluxo específico onde a política está a ser executada)
  • ou
  • Não é possível resolver (não está definido)

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.
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.
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).
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.

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.
PasswordRequired O elemento <Password> tem de estar presente para a operação com nome.
AssignToRequired O elemento <AssignTo> tem de estar presente para a operação com nome.
SourceRequired O elemento <Source> tem de estar presente para a operação com nome.

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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

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.
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.

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.

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

Códigos de falhas da política JWT

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:

  • O payload de entrada (JSON, XML) está vazio.
  • A entrada (JSON, XML, etc.) transmitida à política é inválida ou tem um formato incorreto.
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.
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.
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.
steps.extractvariables.SourceMessageNotAvailable 500 Este erro ocorre se a variável message especificada no elemento Source da política for:
  • Fora do âmbito (não disponível no fluxo específico onde a política está a ser executada) ou
  • Não é possível resolver (não está definido)
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.

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.
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.
DuplicatePrefix Este erro ocorre se a política tiver o mesmo prefixo definido mais do que uma vez no elemento Namespace no elemento XMLPayload.
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.
EmptyXPathExpression Se a política tiver uma expressão XPath vazia no elemento XMLPayload, a implementação do proxy de API falha.
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.
EmptyJSONPathExpression Se a política tiver uma expressão XPath vazia no elemento XMLPayload, a implementação do proxy de API falha.
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.
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.
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.
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.
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.

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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

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.
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.
MissingNameForAdditionalClaim Se o nome da reivindicação não for especificado no elemento secundário <Claim> do elemento <AdditionalClaims>, a implementação falha.
InvalidNameForAdditionalHeader Este erro ocorre quando o nome da reivindicação usado no elemento filho <Claim> do elemento <AdditionalClaims> é alg ou typ.
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.
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.
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.
InvalidValueForElement Se o valor especificado no elemento <Algorithm> não for um valor suportado, a implementação falha.
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.
InvalidKeyConfiguration Se o elemento subordinado <Value> não estiver definido nos elementos <PrivateKey> ou <SecretKey>, a implementação falha.
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.
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.).
InvalidSecretInConfig Este erro ocorre se o elemento secundário <Value> dos elementos <PrivateKey> ou <SecretKey> não contiver o prefixo privado (private.).
InvalidTimeFormat Se o valor especificado no elemento<NotBefore> não usar um formato suportado, a implementação falha.

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

Códigos de falhas da política JWT

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.

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.
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.
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.
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).
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>.

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.
steps.jsonthreatprotection.SourceUnavailable 500 Este erro ocorre se a variável message especificada no elemento <Source> for:
  • Fora do âmbito (não disponível no fluxo específico onde a política está a ser executada)
  • Não é um dos valores válidos request, response, ou message
steps.jsonthreatprotection.NonMessageVariable 500 Este erro ocorre se o elemento <Source> estiver definido para uma variável que não seja do tipo message.

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.
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.
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.
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.
steps.jsontoxml.SourceUnavailable 500 Este erro ocorre se a variável message especificada no elemento <Source> da política de JSON para XML for:
  • Fora do âmbito (não disponível no fluxo específico onde a política está a ser executada) ou
  • Não é possível resolver (não está definido)

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 mapIdentifier estiver definido como uma string vazia na política KeyValueMapOperations.

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.
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
ValueIsMissing Este erro ocorre se o elemento <Value> estiver em falta abaixo do elemento <Entry> do elemento <InitialEntries> da política KeyValueMapOperations.

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.
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.

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 <Source> da política está fora do âmbito ou não pode ser resolvida.

steps.oasvalidation.NonMessageVariable 500

O elemento <Source> está definido para uma variável que não é do tipo message.

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.
CacheNotFound A cache especificada no elemento <CacheResource> não existe.

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.
InvalidTimeout Se o elemento <CacheLookupTimeoutInSeconds> estiver definido como um número negativo, a implementação do proxy de API falha.
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.

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.
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.

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.
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.
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.
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.
InvalidMessagePatternForErrorCode Este erro ocorre se o elemento <SkipCacheLookup> ou <SkipCachePopulation> numa política ResponseCache contiver uma condição inválida.
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.

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.

VerifyAccessToken
InvalidateToken

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.

ValidateToken
InvalidateToken

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 <GenerateResponse> da política está definida como true e o ID do cliente enviado no pedido é inválido. Verifique se está a usar os valores da chave e do segredo do cliente corretos para a app de programador associada ao seu proxy. Normalmente, estes valores são enviados como um cabeçalho de autorização básica codificado em Base64.

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 <GenerateResponse> da política está definida como false e o ID do cliente enviado no pedido é inválido. Verifique se está a usar os valores da chave secreta e da chave do cliente corretos para a app de programador associada ao seu proxy. Normalmente, estes valores são enviados como um cabeçalho de autorização básica codificado em Base64.

GenerateAccessToken
RefreshAccessToken

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 <SupportedGrantTypes>).

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:

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.

GenerateJWTAccessToken

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.

GenerateJWTAccessToken
VerifyJWTAccessToken

oauth.v2.InsufficientKeyLength 401 Na geração de JWT, para uma chave inferior ao tamanho mínimo para os algoritmos HS384 ou HS512

GenerateJWTAccessToken
VerifyJWTAccessToken

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.

VerifyJWTAccessToken

oauth.v2.JWTDecodingFailed 401 A política não conseguiu descodificar o JWT. O JWT está possivelmente danificado.

VerifyJWTAccessToken

oauth.v2.MissingMandatoryClaimsInJWT 401 Ocorre quando as reivindicações necessárias não estão presentes na chave de acesso JWT

VerifyJWTAccessToken

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.

VerifyJWTAccessToken

oauth.v2.InvalidTypeInJWTHeader 401 Ocorre quando o tipo do JWT não é at+Jwt

VerifyJWTAccessToken

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 <ExpiresIn>, os valores válidos são números inteiros positivos.

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 <Operation>.

InvalidOperation

Tem de especificar uma operação válida nesta política através do elemento <Operation>.

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.

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.
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.

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>.
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.
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).
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.
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.
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.
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.
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.
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.
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.

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.
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.
policies.resetquota.FailedToResolveRLPolicy 500 Não é possível resolver a variável referenciada pelo atributo ref no elemento <Quota>.

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.

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}
DuplicatePrefix RegularExpressionProtection {0}: Duplicate prefix {1}
EmptyJSONPathExpression RegularExpressionProtection {0}: Empty JSONPath expression
EmptyXPathExpression RegularExpressionProtection {0}: Empty XPath expression
InvalidRegularExpression RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2}
JSONPathCompilationFailed RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2}
NONEmptyPrefixMappedToEmptyURI RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty uri
NoPatternsToEnforce RegularExpressionProtection {0}: No patterns to enforce in {1}
NothingToEnforce RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory
XPathCompilationFailed RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {2}

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>.
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.
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.
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.
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.

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:

  • A política é solicitada para processar entradas com um formato incorreto ou que são inválidas.
  • O serviço de destino de back-end devolve um estado de erro (por predefinição, 4xx ou 5xx).
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.
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.
googletoken.EmptyIDTokenAudience 500

<GoogleIDToken> está ativado, mas useTargetUrl está definido como falso e não é fornecido nenhum valor a <Audience> diretamente ou através de referência no momento do erro.

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:
  • A conta de serviço implementada com o proxy:
    • não existe no seu projeto
    • foi desativada
    • (Apenas para o Apigee híbrido) Não concedeu a função roles/iam.serviceAccountTokenCreator na conta de serviço apigee-runtime.
  • A API IAMCredentials está desativada no projeto de origem da conta de serviço apigee-runtime.
  • O elemento <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 GoogleTokenGenerationFailure para encontrar mensagens de erro mais detalhadas que podem ajudar a depurar o problema.

    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.
    ConnectionInfoMissing Este erro ocorre se a política não tiver um elemento <HTTPTargetConnection> ou <LocalTargetConnection>.
    InvalidTimeoutValue Este erro ocorre se o valor de <Timeout> for negativo ou zero.
    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:
    • A conta de serviço não existe.
    • A conta de serviço não foi criada no mesmo projeto do Google Cloud que a organização da Apigee.
    • O implementador tem a autorização iam.serviceAccounts.actAs na conta de serviço. Para ver detalhes, consulte o artigo Acerca das autorizações da conta de serviç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 = "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 <Source> da política for:

    • Fora do âmbito (não disponível no fluxo específico onde a política está a ser executada)
    • ou
    • não é possível resolver (não está definido)
    steps.messagevalidation.NonMessageVariable 500

    Este erro ocorre se o elemento <Source> na política SOAPMessageValidation estiver definido como uma variável que não seja do tipo message.

    As variáveis de tipo de mensagem representam pedidos e respostas HTTP completos. As variáveis de fluxo incorporadas do Apigee request, response e message são do tipo de mensagem. Para saber mais acerca das variáveis de mensagens, consulte a referência de variáveis.

    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.

    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.
    ResourceCompileFailed O script de recurso referenciado no elemento <ResourceURL> da política SOAPMessageValidation contém um erro que impede a sua compilação.
    RootElementNameUnspecified O elemento <Element> na política SOAPMessageValidation não contém o nome do elemento raiz.
    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.

    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.
    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).
    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

    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.

    EmptyElementForKeyConfiguration

    FailedToResolveVariable

    InvalidConfigurationForActionAndAlgorithmFamily

    InvalidConfigurationForVerify

    InvalidEmptyElement

    InvalidFamiliesForAlgorithm

    InvalidKeyConfiguration

    InvalidNameForAdditionalClaim

    InvalidNameForAdditionalHeader

    InvalidPublicKeyId

    InvalidPublicKeyValue

    InvalidSecretInConfig

    InvalidTypeForAdditionalClaim

    InvalidTypeForAdditionalHeader

    InvalidValueForElement

    InvalidValueOfArrayAttribute

    InvalidVariableNameForSecret

    MissingConfigurationElement

    MissingElementForKeyConfiguration

    MissingNameForAdditionalClaim

    MissingNameForAdditionalHeader

    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.
    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.
    MissingNameForAdditionalClaim Se o nome da reivindicação não for especificado no elemento secundário <Claim> do elemento <AdditionalClaims>, a implementação falha.
    InvalidNameForAdditionalHeader Este erro ocorre quando o nome da reivindicação usado no elemento filho <Claim> do elemento <AdditionalClaims> é alg ou typ.
    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.
    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.
    InvalidValueForElement Se o valor especificado no elemento <Algorithm> não for um valor suportado, a implementação falha.
    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.
    InvalidKeyConfiguration Se o elemento subordinado <Value> não estiver definido nos elementos <PrivateKey> ou <SecretKey>, a implementação falha.
    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.
    InvalidConfigurationForVerify Este erro ocorre se o elemento <Id> estiver definido no elemento <SecretKey>.
    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.
    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.
    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.

    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

    Códigos de falhas da política JWT

    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.
    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.
    steps.xmlthreatprotection.SourceUnavailable 500 Este erro ocorre se a variável message especificada no elemento <Source> for:
    • Fora do âmbito (não disponível no fluxo específico onde a política está a ser executada)
    • Não é um dos valores válidos request, response, ou message
    steps.xmlthreatprotection.NonMessageVariable 500 Este erro ocorre se o elemento <Source> estiver definido para uma variável que não seja do tipo message.

    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.
    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.
    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.
    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.
    steps.xmltojson.SourceUnavailable ExecutionFailed Este erro ocorre se a variável message especificada no elemento <Source> da política de XML para JSON for:
    • Fora do âmbito (não disponível no fluxo específico onde a política está a ser executada) ou
    • Não é possível resolver (não está definido)

    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.
    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.

    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).
    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.

    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.
    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