Esta é a documentação da Apigee e da Apigee híbrida.
    Confira a documentação da Apigee Edge.
  
InvalidMessageWeight
Código do erro
policies.ratelimit.InvalidMessageWeight
Corpo da resposta de erro
{
    "fault": {
        "faultstring": "Invalid message weight value [invalid_value]",
        "detail": {
            "errorcode": "policies.ratelimit.InvalidMessageWeight"
        }
    }
}
Exemplo de mensagem de erro
{
    "fault": {
        "faultstring": "Invalid message weight value 1.5",
        "detail": {
            "errorcode": "policies.ratelimit.InvalidMessageWeight"
        }
    }
}
Causa
Esse erro vai ocorrer se o valor do elemento <MessageWeight> especificado por uma variável de fluxo for inválido (um valor não inteiro).
Por exemplo, esse erro ocorrerá se o valor da variável de fluxo especificada para o elemento <MessageWeight> for 1,5 (um valor não inteiro).
Diagnóstico
- Identifique o valor inválido usado para o elemento - <MessageWeight>na política de cotas. Você encontra essas informações no elemento- faultstringda resposta de erro. Por exemplo, no erro a seguir, o valor inválido usado para o elemento- <MessageWeight>é- 1.5:- "faultstring": "Invalid message weight value 1.5"
- Examine todas as políticas de cota no API Proxy específica em que ocorreu a falha. Pode haver uma ou mais políticas de cota em que o elemento - <MessageWeight>é especificado.- Por exemplo, a política a seguir especifica o - <MessageWeight>em uma variável de fluxo- message_weight:- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_with_weight" type="calendar"> <DisplayName>Quota_with_weight</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <MessageWeight ref="message_weight"/> </Quota>
- Determine o valor da variável usada para - <MessageWeight>nas políticas de cota identificadas. O valor da variável de fluxo pode ser extraído de cabeçalhos HTTP, parâmetros de consulta, uma carga útil de solicitação XML ou JSON ou definido em outra política:- Localize o código no pacote da API Proxy em que a variável foi definida primeiro.
- Depois de descobrir a política em que a variável é definida e preenchida primeiro, verifique como o valor da variável está definido.
- Se o valor da variável de fluxo corresponder ao valor identificado na etapa 1 acima, essa é a causa do erro.
 - Por exemplo, suponha que uma política JavaScript usada antes da política de cotas defina a variável - message_weightcom base no tipo de solicitação, conforme mostrado abaixo.- var verb = context.getVariable("request.verb"); context.setVariable("message_weight", "1.5"); if (verb == 'POST') { context.setVariable("message_weight", "2"); }- Observe que o valor da variável - message_weighté- 1.5, que é inválido (um valor não inteiro).
Resolução
Verifique se o valor que representa o MessageWeight especificado pela variável de fluxo é um valor válido (valor inteiro).
Para corrigir o exemplo mostrado acima, modifique o valor da variável message_weight no JavaScript para ser um número inteiro.
var verb = context.getVariable("request.verb");
context.setVariable("message_weight", "1");
if (verb == 'POST') {
  context.setVariable("message_weight", "2");
}
FailedToResolveQuotaIntervalReference
Código do erro
policies.ratelimit.FailedToResolveQuotaIntervalReference
Corpo da resposta de erro
{
    "fault": {
        "faultstring": "Failed to resolve quota interval reference [reference] in quota policy {1}",
        "detail": {
            "errorcode": "policies.ratelimit.FailedToResolveQuotaIntervalReference"
        }
    }
}
Exemplo de mensagem de erro
{
    "fault": {
        "faultstring": "Failed to resolve quota interval reference api.product.developer.quota.interval in quota policy {1}",
        "detail": {
            "errorcode": "policies.ratelimit.FailedToResolveQuotaIntervalReference"
        }
    }
}
Causa
Esse erro ocorrerá se o elemento <Interval> não estiver definido na política de cotas.  Esse elemento é obrigatório e usado para especificar o intervalo de tempo aplicável à cota. O intervalo de tempo pode ser minutos, horas, dias, semanas ou meses, conforme definido com o elemento <TimeUnit>.
Diagnóstico
- Examine cada uma das políticas de cota na API Proxy em que a falha ocorreu. Se houver uma política de cota em que o elemento obrigatório - <Interval>não esteja definido, essa é a causa do erro.- Por exemplo, a seguinte política de cotas não tem o elemento obrigatório - <Interval>:- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="3"/> <TimeUnit ref="verifyapikey.verify-api-key.apiproduct.developer.quota.timeunit">hour</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> </Quota>- Como o elemento obrigatório - <TimeUnit>não está definido na política de cota acima, você receberá o código de erro:- policies.ratelimit.FailedToResolveQuotaIntervalReference
Resolução
Verifique se todas as políticas de cota de uma determinada proxy de API têm o elemento obrigatório <Interval> definido corretamente.
Para corrigir o exemplo mostrado acima, é possível modificar a política para incluir o elemento <Interval>, conforme mostrado abaixo.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="3"/> <TimeUnit ref="verifyapikey.verify-api-key.apiproduct.developer.quota.timeunit">hour</TimeUnit> <Interval ref="verifyapikey.verify-api-key.apiproduct.developer.quota.interval">1</Interval> <StartTime>2017-7-16 12:00:00</StartTime> </Quota>
FailedToResolveQuotaIntervalTimeUnitReference
Código do erro
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference
Corpo da resposta de erro
{
    "fault": {
        "faultstring": "Failed to resolve quota time unit reference [reference] in quota policy {1}",
        "detail": {
            "errorcode": "policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference"
        }
    }
}
Exemplo de mensagem de erro
{
    "fault": {
        "faultstring": "Failed to resolve quota time unit reference apiproduct.developer.quota.timeunity in quota policy {1}",
        "detail": {
            "errorcode": "policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference"
        }
    }
}
Causa
Esse erro ocorrerá se o elemento <TimeUnit> não estiver definido na política de cotas.  Esse elemento é obrigatório e é usado para especificar a unidade de tempo aplicável à cota. O intervalo de tempo pode ser de minutos, horas, dias, semanas ou meses.
Diagnóstico
- Examine cada uma das políticas de cota na API Proxy em que a falha ocorreu. Se houver uma política de cota em que o elemento obrigatório - <TimeUnit>não esteja definido, essa é a causa do erro.- Por exemplo, a seguinte política de cotas não tem o elemento obrigatório - <TimeUnit>:- <Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="3"/> <Interval ref="verifyapikey.verify-api-key.apiproduct.developer.quota.interval">1</Interval> <StartTime>2017-7-16 12:00:00</StartTime> </Quota>- Como o elemento obrigatório - <TimeUnit>não está definido na política de cota acima, você receberá o código de erro:- policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference
Resolução
Certifique-se de que todas as políticas de cota de uma determinada proxy de API têm o elemento obrigatório <TimeUnit> definido.
Para corrigir o exemplo mostrado acima, é possível modificar a política para incluir o elemento <TimeUnit>, conforme mostrado abaixo.
<Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="3"/> <TimeUnit ref="verifyapikey.verify-api-key.apiproduct.developer.quota.timeunit">hour</TimeUnit> <Interval ref="verifyapikey.verify-api-key.apiproduct.developer.quota.interval">1</Interval> <StartTime>2017-7-16 12:00:00</StartTime> </Quota>