Politika hatası referansı

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

AccessControl politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
accesscontrol.IPDeniedAccess 403 İstemci IP adresi veya API isteğinde iletilen IP adresi, Erişim Denetimi Politikası'nın <MatchRule> öğesindeki <SourceAddress> öğesinde belirtilen bir IP adresiyle eşleşir ve <MatchRule> öğesinin action özelliği DENY olarak ayarlanır.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hatalarına özel değişkenler konusuna bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "IPDeniedAccess"
acl.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. acl.AC-AllowAccess.failed = true

Hata yanıtı örneği

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

Hata kuralı örneği

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

AccessEntity politikası

İlgili bilgiler için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Yok.

Dağıtım hataları

Hata adı Hata dizesi HTTP durumu Gerçekleşme zamanı:
InvalidEntityType Invalid type [entity_type] in ACCESSENTITYStepDefinition [policy_name] Yok Kullanılan varlık türü, desteklenen türlerden biri olmalıdır.

AtaMessage politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.assignmessage.SetVariableFailed 500 Politika bir değişken ayarlayamadı. Çözülmemiş değişkenin adı için hata dizesine bakın.
steps.assignmessage.VariableOfNonMsgType 500

Bu hata, <Copy> öğesindeki source özelliği mesaj türünde olmayan bir değişkene ayarlanırsa ortaya çıkar.

Mesaj türü değişkenleri, HTTP isteklerinin ve yanıtlarının tamamını temsil eder. Yerleşik Edge akış değişkenleri request, response ve message mesaj türündedir. Mesaj değişkenleri hakkında daha fazla bilgi için Değişkenler referansı başlıklı makaleyi inceleyin.

steps.assignmessage.UnresolvedVariable 500

Bu hata, Mesaj Ata politikasında belirtilen bir değişken aşağıdakilerden biriyse ortaya çıkar:

  • kapsam dışında (politikanın yürütüldüğü belirli akışta kullanılamaz)
  • veya
  • çözülemiyor (tanımlanmadı)

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidIndex Mesaj Ata Politikası'nın <Copy> ve/veya <Remove> öğelerinde belirtilen dizin 0 veya negatif bir sayıysa API Proxy'si dağıtımı başarısız olur.
InvalidVariableName <Name> alt öğesi boşsa veya <AssignVariable> öğesinde belirtilmemişse değer atanacak geçerli bir değişken adı olmadığından API proxy'sinin dağıtımı başarısız olur. Geçerli bir değişken adı gereklidir.
InvalidPayload Politikada belirtilen bir yük geçersiz.

Hata değişkenleri

Bu değişkenler, bu politika çalışma zamanında bir hata tetiklediğinde ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "UnresolvedVariable"
assignmessage.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. assignmessage.AM-SetResponse.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

Temel Kimlik Doğrulama politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgileri, hataları ele alan hata kuralları geliştiriyorsanız bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.basicauthentication.InvalidBasicAuthenticationSource 500 Gelen Base64 olarak kodlanmış dize geçerli bir değer içermediğinde veya başlık hatalı olduğunda (ör. "Temel" ile başlamadığında) kod çözme işleminde.
steps.basicauthentication.UnresolvedVariable 500 Kod çözme veya kodlama için gerekli kaynak değişkenleri mevcut değil. Bu hata yalnızca IgnoreUnresolvedVariables yanlış olduğunda ortaya çıkabilir.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Gerçekleşme zamanı: Düzelt
UserNameRequired Adlandırılan işlem için <User> öğesi mevcut olmalıdır.
PasswordRequired Adlandırılan işlem için <Password> öğesi mevcut olmalıdır.
AssignToRequired Adlandırılan işlem için <AssignTo> öğesi mevcut olmalıdır.
SourceRequired Adlandırılan işlem için <Source> öğesi mevcut olmalıdır.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "UnresolvedVariable"
BasicAuthentication.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. BasicAuthentication.BA-Authenticate.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

ConcurrentRateLimit politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgileri, hataları ele alan hata kuralları geliştiriyorsanız bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Gerçekleşme zamanı:
policies.concurrentratelimit.ConcurrentRatelimtViolation 503

ConcurrentRatelimit bağlantısı aşıldı. Bağlantı sınırı : {0}

Not: Sol tarafta gösterilen hata kodu, yazım hatası ("limt") içeriyor olsa da doğrudur. Bu hatayı engellemek için hata kuralları oluştururken kodu tam olarak burada gösterildiği gibi kullandığınızdan emin olun.

Dağıtım hataları

Hata adı Gerçekleşme zamanı:
InvalidCountValue ConcurrentRatelimit sınırı geçersiz bir sayı değeri belirtildi.
ConcurrentRatelimitStepAttachment\
NotAllowedAtProxyEndpoint
Proxy istek/yanıt/hata yollarında eşzamanlı Hız Sınırı politikası {0} ekine izin verilmez. Bu politika, Hedef Uç Noktaya yerleştirilmelidir.
ConcurrentRatelimitStepAttachment\
MissingAtTargetEndpoint
Hedef istek/yanıt/hata yollarında eşzamanlı Hız Sınırı politikası {0} eki eksik. Bu politika; Hedef İstek Öncesi Akışı'na, Hedef Yanıt Sonrası Akışı'na ve VarsayılanFaultRule'a yerleştirilmelidir.
InvalidTTLForMessageTimeOut Mesaj zaman aşımı için ConcurrentRatelimit sınırı geçersiz ttl değeri belirtildi. Pozitif bir tam sayı olmalıdır.

Hata değişkenleri

Bu değişkenler, bu politika bir hatayı tetiklediğinde ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "ConcurrentRatelimtViolation"

Not: Örnekte gösterilen Hata kodu, yazım hatası ("limt") içeriyor olsa da doğrudur. Bu hatayı engellemek için hata kuralları oluştururken kodu tam olarak burada gösterildiği gibi kullandığınızdan lütfen emin olun.

concurrentratelimit.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. concurrentratelimit.CRL-RateLimitPolicy.failed = true

Örnek hata yanıtı

Hız sınırı aşılırsa politika istemciye yalnızca HTTP durumu 503 döndürür.

Hata kuralı örneği

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

DecodeJWS politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Gerçekleşme zamanı:
steps.jws.FailedToDecode 401 Politika, JWS'nin kodu çözülemedi. JWS büyük olasılıkla bozuktur.
steps.jws.FailedToResolveVariable 401 Politikanın <Source> öğesinde belirtilen akış değişkeni mevcut olmadığında ortaya çıkar.
steps.jws.InvalidClaim 401 Eksik hak talebi veya hak talebi uyuşmazlığı ya da eksik başlık veya başlık uyuşmazlığı için.
steps.jws.InvalidJsonFormat 401 JWS üstbilgisinde geçersiz JSON bulundu.
steps.jws.InvalidJws 401 Bu hata, JWS imzası doğrulaması başarısız olduğunda oluşur.
steps.jws.InvalidPayload 401 JWS yükü geçersiz.
steps.jws.InvalidSignature 401 <DetachedContent> atlanır ve JWS'de ayrı bir içerik yükü bulunur.
steps.jws.MissingPayload 401 JWS yükü eksik.
steps.jws.NoAlgorithmFoundInHeader 401 JWS, algoritma başlığını çıkardığında ortaya çıkar.
steps.jws.UnknownException 401 Bilinmeyen bir istisna oluştu.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Gerçekleşme zamanı:
InvalidAlgorithm Geçerli değerler şunlardır: 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

Diğer olası dağıtım hataları.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "TokenExpired"
JWS.failed Tüm JWS politikaları, bir hata durumunda aynı değişkeni ayarlar. jws.JWS-Policy.failed = true

Örnek hata yanıtı

Hata işleme için en iyi uygulama, hata yanıtının errorcode bölümünü yakalamaktır. Değişebileceği için faultstring içindeki metne güvenmeyin.

Hata kuralı örneği

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

DecodeJWT politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.jwt.FailedToDecode 401 Politika, JWT'nin kodunu çözemediğinde ortaya çıkar. JWT bozuk, geçersiz veya başka bir şekilde kodu çözülemeyebilir.
steps.jwt.FailedToResolveVariable 401 Politikanın <Source> öğesinde belirtilen akış değişkeni mevcut olmadığında ortaya çıkar.
steps.jwt.InvalidToken 401 Politikanın <Source> öğesinde belirtilen akış değişkeni kapsam dışında olduğunda veya çözümlenemediğinde ortaya çıkar.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidEmptyElement Kodu çözülecek JWT'yi içeren akış değişkeni politikanın <Source> öğesinde belirtilmediğinde ortaya çıkar.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "TokenExpired"
JWT.failed Tüm JWT politikaları, hata durumunda aynı değişkeni ayarlar. JWT.failed = true

Örnek hata yanıtı

JWT Politikası Hata Kodları

Hata işleme için en iyi uygulama, hata yanıtının errorcode bölümünü yakalamaktır. Değişebileceği için faultstring içindeki metne güvenmeyin.

Hata kuralı örneği

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

Değişkenleri Ayıklama politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.extractvariables.ExecutionFailed 500

Bu hata şu durumlarda oluşur:

  • Giriş yükü (JSON, XML) boş.
  • Politikaya iletilen giriş (JSON, XML vb.) geçersiz veya hatalı biçimlendirilmiş.
steps.extractvariables.ImmutableVariable 500 Politikada kullanılan değişken sabittir. Politika bu değişkeni ayarlayamadı.
steps.extractvariables.InvalidJSONPath 500 Bu hata, politikanın JSONPath öğesinde geçersiz bir JSON yolu kullanılırsa ortaya çıkar. Örneğin, bir JSON yükü Name nesnesine sahip değilse ancak politikada yol olarak Name nesnesini belirtirseniz bu hata oluşur.
steps.extractvariables.JsonPathParsingFailure 500 Bu hata, politika bir JSON yolunu ayrıştıramadığı ve Source öğesinde belirtilen akış değişkeninden veri çıkaramadığında ortaya çıkar. Bu durum genellikle Source öğesinde belirtilen akış değişkeni mevcut akışta yoksa ortaya çıkar.
steps.extractvariables.SetVariableFailed 500 Politika, değeri bir değişkene ayarlayamadığında bu hata oluşur. Bu hata genellikle, adları aynı kelimelerle başlayan birden fazla değişkene, iç içe ve noktayla ayrılmış biçimde değer atamaya çalışırsanız ortaya çıkar.
steps.extractvariables.SourceMessageNotAvailable 500 Bu hata, politikanın Source öğesinde belirtilen message değişkeni şunlardan biriyse ortaya çıkar:
  • Kapsam dışında (politikanın yürütüldüğü belirli akışta kullanılamaz) veya
  • Çözümlenemiyor (tanımlanmadı)
steps.extractvariables.UnableToCast 500 Politika, ayıklanan değeri bir değişkene yayınlayamadıysa bu hata oluşur. Bu durum genellikle, bir veri türünün değerini başka bir veri türünün değişkeni olarak ayarlamayı denerseniz ortaya çıkar.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
NothingToExtract Politikada URIPath, QueryParam, Header, FormParam, XMLPayload veya JSONPayload öğelerinden hiçbiri yoksa çıkarılacak bir şey olmadığından API Proxy'sinin dağıtımı başarısız olur.
NONEmptyPrefixMappedToEmptyURI Bu hata, politikanın XMLPayload öğesi altındaki Namespace öğesinde tanımlanmış bir ön eki varsa ancak hiçbir URI tanımlanmamışsa ortaya çıkar.
DuplicatePrefix Bu hata, politikanın XMLPayload öğesi altındaki Namespace öğesinde aynı ön ekin birden fazla kez tanımlanmış olması durumunda ortaya çıkar.
NoXPathsToEvaluate Politikanın XMLPayload öğesi içinde XPath öğesi yoksa API proxy'sinin dağıtımı bu hatayı vererek başarısız olur.
EmptyXPathExpression Politikanın XMLPayload öğesi içinde boş bir XPath ifadesi varsa API proxy'sinin dağıtımı başarısız olur.
NoJSONPathsToEvaluate Politikanın JSONPayload öğesi içinde JSONPath öğesi yoksa API proxy'sinin dağıtımı bu hatayı vererek başarısız olur.
EmptyJSONPathExpression Politikanın XMLPayload öğesi içinde boş bir XPath ifadesi varsa API proxy'sinin dağıtımı başarısız olur.
MissingName Politika gerekli olduğu durumlarda QueryParam, Header, FormParam veya Variable gibi politika öğelerinin hiçbirinde name özelliği içermiyorsa API proxy'sinin dağıtımı başarısız olur.
PatternWithoutVariable Politikanın Pattern öğesi içinde belirtilmiş bir değişken yoksa API proxy'sinin dağıtımı başarısız olur. Pattern öğesi, ayıklanan verilerin depolanacağı değişkenin adını gerektirir.
CannotBeConvertedToNodeset Politika, Variable türünün nodeset olarak tanımlandığı bir XPath ifadesine sahipse ancak ifade düğüm kümesine dönüştürülemiyorsa API proxy'sinin dağıtımı başarısız olur.
JSONPathCompilationFailed Politika, belirtilen bir JSON Yolunu derleyemedi.
InstantiationFailed Bu politika örneği oluşturulamadı.
XPathCompilationFailed XPath öğesinde kullanılan ön ek veya değer, politikada belirtilen ad alanlarının hiçbirinin parçası değilse API proxy'sinin dağıtımı başarısız olur.
InvalidPattern Politikadaki URIPath, QueryParam, Header, FormParam, XMLPayload veya JSONPayload gibi öğelerden herhangi birinde Pattern öğesi tanımı geçersizse API proxy'sinin dağıtımı başarısız olur.

Hata değişkenleri

Bu değişkenler, bu politika çalışma zamanında bir hata tetiklediğinde ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name = "SourceMessageNotAvailable"
extractvariables.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. extractvariables.EV-ParseJsonResponse.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

<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 politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Gerçekleşme zamanı:
steps.jws.GenerationFailed 401 Politika, JWS'yi oluşturamadı.
steps.jws.InsufficientKeyLength 401 HS256 algoritmasına göre 32 bayttan küçük bir anahtar için
steps.jws.InvalidClaim 401 Eksik hak talebi veya hak talebi uyuşmazlığı ya da eksik başlık veya başlık uyuşmazlığı için.
steps.jws.InvalidCurve 401 Anahtar tarafından belirtilen eğri, Elips Biçimli Eğri algoritması için geçerli değildir.
steps.jws.InvalidJsonFormat 401 JWS üstbilgisinde geçersiz JSON bulundu.
steps.jws.InvalidPayload 401 JWS yükü geçersiz.
steps.jws.InvalidSignature 401 <DetachedContent> atlanır ve JWS'de ayrı bir içerik yükü bulunur.
steps.jws.KeyIdMissing 401 Doğrulama politikası, ortak anahtarlar için kaynak olarak bir JWKS kullanır ancak imzalanmış JWS, başlıkta bir kid özelliği içermez.
steps.jws.KeyParsingFailed 401 Ortak anahtar, verilen anahtar bilgisinden ayrıştırılamadı.
steps.jws.MissingPayload 401 JWS yükü eksik.
steps.jws.NoAlgorithmFoundInHeader 401 JWS, algoritma başlığını çıkardığında ortaya çıkar.
steps.jws.SigningFailed 401 GenerateJWS'de HS384 veya HS512 algoritmaları için minimum boyuttan daha küçük bir anahtar için
steps.jws.UnknownException 401 Bilinmeyen bir istisna oluştu.
steps.jws.WrongKeyType 401 Anahtar türü yanlış belirtilmiş. Örneğin, Elips Biçimli Eğri algoritması için RSA anahtarı veya RSA algoritması için eğri anahtarı belirtirseniz.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Gerçekleşme zamanı:
InvalidAlgorithm Geçerli değerler şunlardır: 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

Diğer olası dağıtım hataları.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "TokenExpired"
JWS.failed Tüm JWS politikaları, bir hata durumunda aynı değişkeni ayarlar. jws.JWS-Policy.failed = true

Örnek hata yanıtı

Hata işleme için en iyi uygulama, hata yanıtının errorcode bölümünü yakalamaktır. Değişebileceği için faultstring içindeki metne güvenmeyin.

Hata kuralı örneği

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

GenerateJWT politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Gerçekleşme zamanı:
steps.jwt.AlgorithmInTokenNotPresentInConfiguration 401 Doğrulama politikasında birden fazla algoritma olduğunda ortaya çıkar.
steps.jwt.AlgorithmMismatch 401 Oluşturma politikasında belirtilen algoritma, Doğrulama politikasında beklenen algoritmayla eşleşmedi. Belirtilen algoritmalar eşleşmelidir.
steps.jwt.FailedToDecode 401 Politika, JWT'nin kodu çözülemedi. JWT bozuk olabilir.
steps.jwt.GenerationFailed 401 Politika, JWT'yi oluşturamadı.
steps.jwt.InsufficientKeyLength 401 HS256 algoritmasında 32 bayttan, HS386 algoritmasında 48 bayttan ve HS512 algoritmasında 64 bayttan az olan bir anahtar.
steps.jwt.InvalidClaim 401 Eksik hak talebi veya hak talebi uyuşmazlığı ya da eksik başlık veya başlık uyuşmazlığı için.
steps.jwt.InvalidCurve 401 Anahtar tarafından belirtilen eğri, Elips Biçimli Eğri algoritması için geçerli değildir.
steps.jwt.InvalidJsonFormat 401 Başlıkta veya yükte geçersiz JSON bulundu.
steps.jwt.InvalidToken 401 Bu hata, JWT imzası doğrulaması başarısız olduğunda ortaya çıkar.
steps.jwt.JwtAudienceMismatch 401 Kitle hak talebi, jeton doğrulanamadı.
steps.jwt.JwtIssuerMismatch 401 Kartı veren kuruluş talebi, jeton doğrulamasında başarısız oldu.
steps.jwt.JwtSubjectMismatch 401 Konuyla ilgili hak talebi, jeton doğrulanamadı.
steps.jwt.KeyIdMissing 401 Doğrulama politikası, ortak anahtarlar için kaynak olarak bir JWKS kullanır ancak imzalı JWT, başlıkta kid özelliği içermiyor.
steps.jwt.KeyParsingFailed 401 Ortak anahtar, verilen anahtar bilgisinden ayrıştırılamadı.
steps.jwt.NoAlgorithmFoundInHeader 401 JWT, herhangi bir algoritma başlığı içermiyorsa ortaya çıkar.
steps.jwt.NoMatchingPublicKey 401 Doğrulama politikası, ortak anahtarlar için kaynak olarak JWKS kullanır ancak imzalı JWT'deki kid, JWKS'de listelenmiyor.
steps.jwt.SigningFailed 401 GenerateJWT'de, HS384 veya HS512 algoritmaları için minimum boyuttan daha küçük bir anahtar için
steps.jwt.TokenExpired 401 Politika, süresi dolmuş bir jetonu doğrulamaya çalışır.
steps.jwt.TokenNotYetValid 401 Jeton henüz geçerli değil.
steps.jwt.UnhandledCriticalHeader 401 crit başlığında JWT'yi Doğrula politikası tarafından bulunan üst bilgi, KnownHeaders bölgesinde listelenmiyor.
steps.jwt.UnknownException 401 Bilinmeyen bir istisna oluştu.
steps.jwt.WrongKeyType 401 Anahtar türü yanlış belirtilmiş. Örneğin, Elips Biçimli Eğri algoritması için RSA anahtarı veya RSA algoritması için eğri anahtarı belirtirseniz.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidNameForAdditionalClaim <AdditionalClaims> öğesinin <Claim> alt öğesinde kullanılan hak talebi şu kayıtlı adlardan biriyse dağıtım başarısız olur: kid, iss, sub, aud, iat, exp, nbf veya jti.
InvalidTypeForAdditionalClaim <AdditionalClaims> öğesinin <Claim> alt öğesinde kullanılan hak talebi string, number, boolean veya map türünde değilse dağıtım başarısız olur.
MissingNameForAdditionalClaim İddianın adı <AdditionalClaims> öğesinin <Claim> alt öğesinde belirtilmezse dağıtım başarısız olur.
InvalidNameForAdditionalHeader Bu hata, <AdditionalClaims> öğesinin <Claim> alt öğesinde kullanılan iddianın adı alg veya typ olduğunda ortaya çıkar.
InvalidTypeForAdditionalHeader <AdditionalClaims> öğesinin <Claim> alt öğesinde kullanılan hak talebi türü string, number, boolean veya map türünde değilse dağıtım başarısız olur.
InvalidValueOfArrayAttribute Bu hata, <AdditionalClaims> öğesinin <Claim> alt öğesindeki dizi özelliğinin değeri true veya false olarak ayarlanmadığında ortaya çıkar.
InvalidConfigurationForActionAndAlgorithm <PrivateKey> öğesi HS Family algoritmalarıyla veya <SecretKey> öğesi RSA Family algoritmalarıyla kullanılıyorsa dağıtım başarısız olur.
InvalidValueForElement <Algorithm> öğesinde belirtilen değer desteklenen bir değer değilse dağıtım başarısız olur.
MissingConfigurationElement <PrivateKey> öğesi, RSA ailesi algoritmaları veya <SecretKey> öğesi HS Family algoritmaları ile kullanılmazsa bu hata oluşur.
InvalidKeyConfiguration <Value> alt öğesi <PrivateKey> veya <SecretKey> öğelerinde tanımlanmazsa dağıtım başarısız olur.
EmptyElementForKeyConfiguration <PrivateKey> veya <SecretKey> öğelerinin <Value> alt öğesinin ref özelliği boşsa ya da belirtilmemişse dağıtım başarısız olur.
InvalidVariableNameForSecret Bu hata, <PrivateKey> veya <SecretKey> öğelerinin <Value> alt öğesinin ref özelliğinde belirtilen akış değişkeni adı (private.) özel ön ekini içermiyorsa ortaya çıkar.
InvalidSecretInConfig Bu hata, <PrivateKey> veya <SecretKey> öğelerinin <Value> alt öğesi (private.) özel ön ekini içermiyorsa ortaya çıkar.
InvalidTimeFormat <NotBefore> öğesinde belirtilen değer desteklenen bir biçimi kullanmıyorsa dağıtım başarısız olur.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "TokenExpired"
JWT.failed Tüm JWT politikaları, hata durumunda aynı değişkeni ayarlar. JWT.failed = true

Örnek hata yanıtı

JWT Politikası Hata Kodları

Hata işleme için en iyi uygulama, hata yanıtının errorcode bölümünü yakalamaktır. Değişebileceği için faultstring içindeki metne güvenmeyin.

Hata kuralı örneği

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

JavaÇağrı politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.javacallout.ExecutionError 500 Bir JavaScript politikasının yürütülmesi sırasında Java kodu bir istisna gönderdiğinde veya null değerini döndürdüğünde ortaya çıkar.

Dağıtım hataları

Bu hatalar, politikayı içeren proxy dağıtıldığında ortaya çıkabilir.

Hata adı Hata dizesi HTTP durumu Gerçekleşme zamanı:
ResourceDoesNotExist Resource with name [name] and type [type] does not exist Yok <ResourceURL> öğesinde belirtilen dosya mevcut değil.
JavaCalloutInstantiationFailed Failed to instantiate the JavaCallout Class [classname] Yok <ClassName> öğesinde belirtilen sınıf dosyası jar'da değil.
IncompatibleJavaVersion Failed to load java class [classname] definition due to - [reason] Yok Hata dizesine bakın. Desteklenen yazılımlar ve desteklenen sürümler bölümüne de bakın.
JavaClassNotFoundInJavaResource Failed to find the ClassName in java resource [jar_name] - [class_name] Yok Hata dizesine bakın.
JavaClassDefinitionNotFound Failed to load java class [class_name] definition due to - [reason] Yok Hata dizesine bakın.
NoAppropriateConstructor No appropriate constructor found in JavaCallout class [class_name] Yok Hata dizesine bakın.
NoResourceForURL Could not locate a resource with URL [string] Yok Hata dizesine bakın.

Hata değişkenleri

Bu değişkenler, bu politika bir hatayı tetiklediğinde ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "ExecutionError"
javacallout.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. javacallout.JC-GetUserData.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

JavaScript politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ve hata mesajları ile döndürülen hata değişkenleri açıklanmaktadır. Hataları ele almak için hata kuralları geliştiriyorsanız bu bilgiye sahip olmanız önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.javascript.ScriptExecutionFailed 500 JavaScript politikası, birçok farklı türde ScriptExecutionFailed hatası verebilir. Yaygın olarak görülen hata türleri arasında RangeError, ReferenceError, SyntaxError, TypeError ve URIError bulunur.
steps.javascript.ScriptExecutionFailedLineNumber 500 JavaScript kodunda bir hata oluştu. Ayrıntılar için hata dizesine bakın. Yok
steps.javascript.ScriptSecurityError 500 JavaScript yürütüldüğünde bir güvenlik hatası oluştu. Ayrıntılar için hata dizesine bakın. Yok

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidResourceUrlFormat JavaScript politikasının <ResourceURL> veya <IncludeURL> öğesi içinde belirtilen kaynak URL'sinin biçimi geçersizse API proxy'sinin dağıtımı başarısız olur.
InvalidResourceUrlReference <ResourceURL> veya <IncludeURL> öğeleri mevcut olmayan bir JavaScript dosyasına başvuruda bulunuyorsa API proxy'sinin dağıtımı başarısız olur. Başvurulan kaynak dosya API proxy'si, ortam veya kuruluş düzeyinde bulunmalıdır.
WrongResourceType Bu hata, JavaScript politikasının <ResourceURL> veya <IncludeURL> öğeleri jsc (JavaScript dosyası) dışındaki bir kaynak türüne referans veriyorsa dağıtım sırasında ortaya çıkar.
NoResourceURLOrSource <ResourceURL> öğesi bildirilmemişse veya kaynak URL'si bu öğe içinde tanımlı değilse JavaScript politikasının dağıtımı bu hatayla başarısız olabilir. <ResourceURL> öğesi zorunlu bir öğe. Alternatif olarak, <IncludeURL> öğesi açıklanır ancak kaynak URL'si bu öğe içinde tanımlı değildir. <IncludeURL> öğesi isteğe bağlıdır ancak belirtilmesi durumunda kaynak URL'si <IncludeURL> öğesi içinde belirtilmelidir.

Hata değişkenleri

Bu değişkenler, bu politika çalışma zamanında bir hata tetiklediğinde ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "ScriptExecutionFailed"
javascript.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. javascript.JavaScript-1.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

JSONThreatProtection politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.jsonthreatprotection.ExecutionFailed 500 JSONThreatProtection politikası birçok farklı ExecutionFailed hatası verebilir. Bu hataların çoğu, politikada ayarlanan belirli bir eşik aşıldığında ortaya çıkar. Bu hata türleri arasında şunlar bulunur: nesne girişi adı uzunluğu, nesne girişi sayısı, dizi öğesi sayısı, kapsayıcı derinliği, dize dizesi değeri uzunluğu. Bu hata, yük geçersiz JSON nesnesi içerdiğinde de oluşur.
steps.jsonthreatprotection.SourceUnavailable 500 Bu hata, <Source> öğesinde belirtilen message değişkeni şunlardan biriyse ortaya çıkar:
  • Kapsam dışında (politikanın yürütüldüğü belirli akışta kullanılamaz)
  • request, response veya message geçerli değerlerinden biri değil
steps.jsonthreatprotection.NonMessageVariable 500 Bu hata, <Source> öğesi mesaj türünde olmayan bir değişkene ayarlanırsa ortaya çıkar.

Dağıtım hataları

Yok.

Hata değişkenleri

Bu değişkenler, bu politika bir hatayı tetiklediğinde ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "SourceUnavailable"
jsonattack.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. jsonattack.JTP-SecureRequest.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

JSONThreatProtection politika türleri aşağıdaki hata kodlarını tanımlar:

JSONtoXML politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.jsontoxml.ExecutionFailed 500 Giriş yükü (JSON) boş veya JSON'dan XML'ye aktarılan giriş (JSON) geçersiz ya da hatalı biçimlendirilmiş.
steps.jsontoxml.InCompatibleTypes 500 Bu hata, <Source> öğesinde tanımlanan değişkenin türü ile <OutputVariable> öğesi aynı değilse ortaya çıkar. <Source> öğesi ve <OutputVariable> öğesi içinde yer alan değişkenlerin türünün eşleşmesi zorunludur. Geçerli türler: message ve string.
steps.jsontoxml.InvalidSourceType 500 Bu hata, <Source> öğesini tanımlamak için kullanılan değişken türü geçersizse ortaya çıkar. Geçerli değişken türleri message ve string'dir.
steps.jsontoxml.OutputVariableIsNotAvailable 500 Bu hata, JSON'den XML'ye Politikası'nın <Source> öğesinde belirtilen değişken dize türündeyse ve <OutputVariable> öğesi tanımlı değilse ortaya çıkar. <Source> öğesinde tanımlanan değişken dize türündeyse <OutputVariable> öğesi zorunludur.
steps.jsontoxml.SourceUnavailable 500 Bu hata, JSON-XML politikasının <Source> öğesinde belirtilen message değişkeni şunlardan biriyse ortaya çıkar:
  • kapsam dışında (politikanın yürütüldüğü belirli akışta kullanılamaz) veya
  • çözülemiyor (tanımlanmadı)

Dağıtım hataları

Yok.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "SourceUnavailable"
jsontoxml.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. jsontoxml.JSON-to-XML-1.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

KeyValueMapTransactions politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.keyvaluemapoperations.SetVariableFailed 500

Bu hata, şifrelenmiş bir anahtar/değer eşlemesinden bir değer almaya çalışır ve değeri, adında private öneki olmayan bir değişken olarak ayarlarsanız ortaya çıkar. Hata ayıklama sırasında temel güvenlik amacıyla gerekli olan ön ek, şifrelenmiş değerleri API Proxy Trace ve hata ayıklama oturumlarından gizler.

steps.keyvaluemapoperations.UnsupportedOperationException 500

Bu hata, mapIdentifier özelliği Anahtar/Değer Eşleme İşlemleri politikasında boş dize olarak ayarlanırsa ortaya çıkar.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidIndex Anahtar Değer Eşleme İşlemleri politikasının <Get> öğesinde belirtilen index özelliği sıfır veya negatif bir sayıysa API proxy'sinin dağıtımı başarısız olur. Dizin, 1 değerinden başlar. Bu nedenle sıfır veya negatif tam sayı içeren bir dizin geçersiz olarak kabul edilir.
KeyIsMissing Bu hata, Anahtar/Değer Eşleme İşlemleri politikasının <InitialEntries> öğesinin <Entry> altındaki <Key> öğesi içinde <Key> öğesi tamamen eksik olduğunda veya <Parameter> öğesi eksik olduğunda ortaya çıkar.
ValueIsMissing Bu hata, Anahtar/Değer Eşleme İşlemleri politikasının <InitialEntries> öğesinin <Entry> öğesi altında <Value> öğesi eksikse ortaya çıkar.

LDAP politikası

Bu politika aşağıdaki hata kodlarını kullanır:

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

MessageLogging politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden
steps.messagelogging.StepDefinitionExecutionFailed 500 Hata dizesine bakın.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidProtocol <Protocol> öğesi içinde belirtilen protokol geçerli değilse MessageLogging politikasının dağıtımı bu hatayla başarısız olabilir. Geçerli protokoller TCP ve UDP'dir. TLS/SSL üzerinden sistem günlüğü mesajları göndermek için yalnızca TCP desteklenir.
InvalidPort Bağlantı noktası numarası <Port> öğesinde belirtilmezse veya geçerli değilse MessageLogging politikasının dağıtımı bu hatayla başarısız olabilir. Bağlantı noktası numarası sıfırdan büyük bir tam sayı olmalıdır.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "StepDefinitionExecutionFailed"
messagelogging.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. messagelogging.ML-LogMessages.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

OASDoğrulama politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden
steps.oasvalidation.Failed 500 İstek mesajı gövdesi, sağlanan OpenAPI Specification ile doğrulanamıyor.
steps.oasvalidation.SourceMessageNotAvailable 500

Politikanın <Source> öğesinde belirtilen değişken kapsam dışında veya çözümlenemiyor.

steps.oasvalidation.NotMessageVariable 500

<Source> öğesi, message türünde olmayan bir değişkene ayarlanmış.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden
ResourceDoesNotExist <OASResource> öğesinde referans verilen OpenAPI Spesifikasyonu mevcut değil.
ResourceCompileFailed Dağıtıma dahil edilen OpenAPI Spesifikasyonu, derlenmesini engelleyen hatalar içeriyor. Bu genellikle spesifikasyonun, doğru biçimlendirilmiş bir OpenAPI Specification 3.0 olmadığını belirtir.
BadResourceURL <OASResource> öğesinde referans verilen OpenAPI Spesifikasyonu işlenemiyor. Bu durum, dosya bir JSON veya YAML dosyası değilse ya da dosya URL'si doğru şekilde belirtilmediyse ortaya çıkabilir.

Hata değişkenleri

Bu değişkenler, bu politika çalışma zamanında bir hata tetiklediğinde ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "ResourceDoesNotExist"
oasvalidation.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oasvalidation.myoaspolicy.failed = true

PopulateCache politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP Durumu Gerçekleşme zamanı:
policies.populatecache.EntryCannotBeCached 500 Giriş önbelleğe alınamaz. Önbelleğe alınan mesaj nesnesi, Serialize edilebilir sınıfın bir örneği değil.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidCacheResourceReference Bu hata, PopulateCache politikasındaki <CacheResource> öğesi, API proxy'sinin dağıtıldığı ortamda mevcut olmayan bir ada ayarlanırsa ortaya çıkar.
CacheNotFound <CacheResource> öğesinde belirtilen önbellek mevcut değil.

Hata değişkenleri

Bu değişkenler, bu politika bir hatayı tetiklediğinde ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name = "EntryCannotBeCached"
populatecache.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. populatecache.POP-CACHE-1.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

LookupCache politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde ayarlanan hata mesajları ve akış değişkenleri açıklanmaktadır. Bu bilgiler, bir proxy için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Hata kodu öneki

Yok

Çalışma zamanı hataları

Bu politika, çalışma zamanı hatası bildirmez.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidCacheResourceReference Bu hata, <CacheResource> öğesi API proxy'sinin dağıtıldığı ortamda bulunmayan bir ada ayarlanırsa ortaya çıkar.
InvalidTimeout <CacheLookupTimeoutInSeconds> öğesi negatif bir sayıya ayarlanırsa API proxy'sinin dağıtımı başarısız olur.
CacheNotFound Bu hata, hata mesajında bahsedilen belirli önbellek belirli bir Mesaj İşleyici bileşeninde oluşturulmamışsa ortaya çıkar.

Hata değişkenleri

Yok

Örnek hata yanıtı

Yok

InValidateCache politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde ayarlanan hata mesajları ve akış değişkenleri açıklanmaktadır. Bu bilgiler, bir proxy için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Hata kodu öneki

Yok

Çalışma zamanı hataları

Bu politika, çalışma zamanı hatası bildirmez.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidCacheResourceReference Bu hata, InValidateCache politikasındaki <CacheResource> öğesi, API proxy'sinin dağıtıldığı ortamda var olmayan bir ada ayarlanırsa bu hata oluşur.
CacheNotFound Bu hata, hata mesajında bahsedilen belirli önbellek belirli bir Mesaj İşleyici bileşeninde oluşturulmamışsa ortaya çıkar.

Hata değişkenleri

Yok

Örnek hata yanıtı

Yok

ResponseCache politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde ayarlanan hata mesajları ve akış değişkenleri açıklanmaktadır. Bu bilgiler, bir proxy için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Hata kodu öneki

Yok

Çalışma zamanı hataları

Bu politika, çalışma zamanı hatası bildirmez.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidTimeout ResponseCache politikasının <CacheLookupTimeoutInSeconds> öğesi negatif bir sayıya ayarlanırsa API proxy'sinin dağıtımı başarısız olur.
InvalidCacheResourceReference Bu hata, ResponseCache politikasındaki <CacheResource> öğesi, API proxy'sinin dağıtıldığı ortamda var olmayan bir ada ayarlanırsa ortaya çıkar.
ResponseCacheStepAttachmentNotAllowedReq Bu hata, bir API proxy'sinin herhangi bir akışındaki birden fazla istek yoluna aynı ResponseCache politikası eklenirse ortaya çıkar.
ResponseCacheStepAttachmentNotAllowedResp Bu hata, API proxy'sinin herhangi bir akışındaki birden fazla yanıt yoluna aynı ResponseCache politikası eklenirse ortaya çıkar.
InvalidMessagePatternForErrorCode Bu hata, ResponseCache politikasındaki <SkipCacheLookup> veya <SkipCachePopulation> öğesi geçersiz bir koşul içeriyorsa ortaya çıkar.
CacheNotFound Bu hata, hata mesajında bahsedilen belirli önbellek belirli bir Mesaj İşleyici bileşeninde oluşturulmamışsa ortaya çıkar.

Hata değişkenleri

Yok

Örnek hata yanıtı

Yok

OAuthV2 politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Operasyonlar tarafından yapılan artış
steps.oauth.v2.access_token_expired 401 Erişim jetonunun süresi doldu.

VerificationAccessToken
InValidateToken

steps.oauth.v2.access_token_not_approved 401 Erişim jetonu iptal edildi. VerifyAccessToken
steps.oauth.v2.apiresource_doesnot_exist 401 İstenen kaynak, erişim jetonuyla ilişkilendirilmiş API ürünlerinden hiçbiri mevcut değil. VerifyAccessToken
steps.oauth.v2.FailedToResolveAccessToken 500 Politikanın, <AccessToken> öğesinde belirtilen bir değişkende erişim jetonu bulması bekleniyordu, ancak değişken çözümlenemedi. GenerateAccessToken
steps.oauth.v2.FailedToResolveAuthorizationCode 500 Politikanın <Code> öğesinde belirtilen bir değişkende yetkilendirme kodu bulması bekleniyordu, ancak değişken çözümlenemedi. GenerateAuthorizationCode
steps.oauth.v2.FailedToResolveClientId 500 Politikanın, <ClientId> öğesinde belirtilen bir değişkende İstemci Kimliği'ni bulması bekleniyordu ancak değişken çözümlenemedi. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
YenileAccessToken
steps.oauth.v2.FailedToResolveRefreshToken 500 Politikanın <RefreshToken> öğesinde belirtilen bir değişkende yenileme jetonu bulması bekleniyordu, ancak değişken çözümlenemedi. RefreshAccessToken
steps.oauth.v2.FailedToResolveToken 500 Politikanın <Tokens> öğesinde belirtilen bir değişkende jeton bulması bekleniyordu, ancak değişken çözümlenemedi.

ValidateToken
In InvalidToken

steps.oauth.v2.InsufficientScope 403 İstekte sunulan erişim jetonunda, erişim jetonunu doğrulama politikasında belirtilen kapsamla eşleşmeyen bir kapsam var. Kapsam hakkında bilgi edinmek için OAuth2 kapsamlarıyla çalışma başlıklı makaleyi inceleyin. VerifyAccessToken
steps.oauth.v2.invalid_access_token 401 İstemciden gönderilen erişim jetonu geçersiz. VerifyAccessToken
steps.oauth.v2.invalid_client 401

Politikanın <GenerateResponse> özelliği true olarak ayarlandığında ve istekte gönderilen istemci kimliği geçersiz olduğunda bu hata adı döndürülür. Proxy'nizle ilişkilendirilmiş Geliştirici Uygulaması için doğru istemci anahtarı ve gizli anahtar değerlerini kullandığınızdan emin olun. Genellikle bu değerler Base64 kodlamalı Temel Yetkilendirme başlığı olarak gönderilir.

Not: Hem invalid_client hem de InvalidClientIdentifier adlarını yakalamak için mevcut hata kuralı koşullarını değiştirmeniz önerilir. Daha fazla bilgi ve bir örnek için 16.09.21 Sürüm Notları'na bakın.

GenerateAccessToken
refreshAccessToken
steps.oauth.v2.invalid_request 400 Bu hata adı, genellikle istekte gönderilen eksik veya yanlış parametreler gibi birden fazla farklı hata türü için kullanılır. <GenerateResponse>, false olarak ayarlanırsa hatayla ilgili ayrıntıları (hata adı ve nedeni gibi) almak için hata değişkenlerini (aşağıda açıklanmıştır) kullanın. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
YenileAccessToken
steps.oauth.v2.InvalidAccessToken 401 Yetkilendirme başlığında "hamiline ait" kelimesi yok ve bu gereklidir. Örneğin: Authorization: Bearer your_access_token VerifyAccessToken
steps.oauth.v2.InvalidAPICallAsNo\
steps.oauth.v2.ApiProductMatchFound
401

API proxy'si, erişim jetonuyla ilişkilendirilmiş üründe yer almıyor.

İpuçları: Erişim jetonuyla ilişkilendirilen ürünün doğru yapılandırıldığından emin olun. Örneğin, kaynak yollarında joker karakterler kullanıyorsanız joker karakterlerin doğru kullanıldığından emin olun. Ayrıntılar için API ürünleri oluşturma bölümüne bakın.

Bu hatanın nedenleri hakkında daha fazla bilgi edinmek için bu Apigee Topluluk gönderisine de göz atın.

VerifyAccessToken
steps.oauth.v2.InvalidClientIdentifier 500

Politikanın <GenerateResponse> özelliği false olarak ayarlandığında ve istekte gönderilen istemci kimliği geçersiz olduğunda bu hata adı döndürülür. Proxy'nizle ilişkilendirilmiş Geliştirici Uygulaması için doğru istemci anahtarı ve gizli anahtar değerlerini kullandığınızdan emin olun. Genellikle bu değerler Base64 kodlu Temel Yetkilendirme başlığı olarak gönderilir.

Not: Bu durumda, bu hatanın adı eskiden invalid_client olarak adlandırılıyordu. Hem invalid_client hem de InvalidClientIdentifier adlarını yakalamak için mevcut hata kuralı koşullarını değiştirmeniz önerilir. Daha fazla bilgi ve bir örnek için 16.09.21 Sürüm Notları'na bakın.

GenerateAccessToken
refreshAccessToken

steps.oauth.v2.InvalidParameter 500 Politika bir erişim jetonu veya yetkilendirme kodu belirtmelidir (ikisini birden belirtemez). GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.InvalidTokenType 500 <Tokens>/<Token> öğesi, jeton türünü (örneğin, refreshtoken) belirtmenizi gerektirir. İstemci yanlış türü iletirse bu hata verilir. ValidateToken
In InvalidToken
steps.oauth.v2.MissingParameter 500 Yanıt türü token, ancak izin türü belirtilmedi. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.UnSupportedGrantType 500

Müşteri, politika tarafından desteklenmeyen bir izin türü belirtti (<SupportedGrantTypes> öğesinde listelenmeyen).

Not: Şu anda, desteklenmeyen izin türü hatalarının doğru atılmamasına neden olan bir hata bulunmaktadır. Desteklenmeyen bir izin türü hatası oluşursa proxy, beklendiği gibi Hata Akışı'na girmez.

GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
YenileAccessToken

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden
InvalidValueForExpiresIn

<ExpiresIn> öğesi için geçerli değerler pozitif tam sayılar ve -1'dir.

InvalidValueForRefreshTokenExpiresIn <RefreshTokenExpiresIn> öğesi için geçerli değerler pozitif tam sayılar ve -1'dir.
InvalidGrantType <SupportedGrantTypes> öğesinde geçersiz bir izin türü belirtildi. Geçerli türlerin listesi için politika referansına bakın.
ExpiresInNotApplicableForOperation <Transactions> öğesinde belirtilen işlemlerin geçerlilik süresini desteklediğinden emin olun. Örneğin, VerificationToken işlemi bunu yapmaz.
RefreshTokenExpiresInNotApplicableForOperation <Transactions> öğesinde belirtilen işlemlerin, yenileme jetonunun geçerlilik süresini desteklediğinden emin olun. Örneğin, VerificationToken işlemi bunu yapmaz.
GrantTypesNotApplicableForOperation <SupportedGrantTypes> öğesindeki izin türlerinin belirtilen işlem için desteklendiğinden emin olun.
OperationRequired

<Operation> öğesini kullanarak bu politikada bir işlem belirtmeniz gerekir.

Not: <Operation> öğesi eksikse kullanıcı arayüzü, şema doğrulama hatası verir.

InvalidOperation

<Operation> öğesini kullanarak bu politikada geçerli bir işlem belirtmeniz gerekir.

Not: <Operation> öğesi geçersizse kullanıcı arayüzü, şema doğrulama hatası verir.

TokenValueRequired <Tokens> öğesinde bir jeton <Token> değeri belirtmelisiniz.

Hata değişkenleri

Bu değişkenler, bu politika çalışma zamanında bir hata tetiklediğinde ayarlanır.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name = "invalid_request"
oauthV2.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.GenerateAccesstoken.failed = true
oauthV2.policy_name.fault.name policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.GenerateAccesstoken.fault.name = invalid_request

Not: ValidAccessToken işlemi için hata adı şu son eki içerir: keymanagement.service
Örneğin: keymanagement.service.invalid_access_token

oauthV2.policy_name.fault.cause policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.GenerateAccesstoken.cause = Required param : grant_type

Örnek hata yanıtı

<GenerateResponse> öğesi true ise bu yanıtlar istemciye geri gönderilir.

<GenerateResponse> değeri true (doğru) değerine ayarlanırsa jeton ve kod oluşturan işlemler için politika bu biçimde hatalar döndürür. Tam liste için OAuth HTTP hatası yanıtı referansı bölümüne bakın.

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

<GenerateResponse> değeri true (doğru) değerine ayarlanırsa politika, doğrulama ve doğrulama işlemleri için bu biçimde hatalar döndürür. Tam liste için OAuth HTTP hatası yanıtı referansı başlıklı makaleye bakın.

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

Hata kuralı örneği

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

GetOAuthV2Info politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir. Aşağıda gösterilen hata adları, bir hata meydana geldiğinde fault.name değişkenine atanan dizelerdir. Daha fazla bilgi için aşağıdaki Hata değişkenleri bölümüne bakın.

Hata kodu HTTP durumu Neden
steps.oauth.v2.access_token_expired 500 Politikaya gönderilen erişim jetonunun süresi doldu.
steps.oauth.v2.authorization_code_expired 500 Politikaya gönderilen yetkilendirme kodunun süresi doldu.
steps.oauth.v2.invalid_access_token 500 Politikaya gönderilen erişim jetonu geçersiz.
steps.oauth.v2.invalid_client-invalid_client_id 500 Politikaya gönderilen istemci kimliği geçersiz.
steps.oauth.v2.invalid_refresh_token 500 Politikaya gönderilen yenileme jetonu geçersiz.
steps.oauth.v2.invalid_request-authorization_code_invalid 500 Politikaya gönderilen yetkilendirme kodu geçersiz.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Bu hatayı giderme konusunda bilgi edinmek için lütfen bu Apigee Topluluğu yayınına göz atın.
steps.oauth.v2.refresh_token_expired 500 Politikaya gönderilen yenileme jetonunun süresi doldu.

Dağıtım hataları

Dağıtım hataları hakkında bilgi için kullanıcı arayüzünde bildirilen mesaja bakın.

Hata değişkenleri

Bu değişkenler, bu politika çalışma zamanında bir hata tetiklediğinde ayarlanır.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "IPDeniedAccess"
oauthV2.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.GetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2.policy_name.fault.cause policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.GetTokenInfo.cause = ClientID is Invalid

Örnek hata yanıtı

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

Hata kuralı örneği

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

SetOAuthV2Info politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden
steps.oauth.v2.access_token_expired 500 Politikaya gönderilen erişim jetonunun süresi doldu.
steps.oauth.v2.invalid_access_token 500 Politikaya gönderilen erişim jetonu geçersiz.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Bu hatayı giderme konusunda bilgi edinmek için lütfen bu Apigee Topluluğu yayınına göz atın.

Dağıtım hataları

Dağıtım hataları hakkında bilgi için kullanıcı arayüzünde bildirilen mesaja bakın.

Hata değişkenleri

Bu değişkenler, bu politika çalışma zamanında bir hata tetiklediğinde ayarlanır.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.SetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.SetTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.SetTokenInfo.cause = Invalid Access Token

Örnek hata yanıtı

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

Hata kuralı örneği

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

DeleteOAuthV2Info politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden
steps.oauth.v2.invalid_access_token 401 Politikaya gönderilen erişim jetonu geçersiz.
steps.oauth.v2.invalid_request-authorization_code_invalid 401 Politikaya gönderilen yetkilendirme kodu geçersiz.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Bu hatayı giderme konusunda bilgi edinmek için lütfen bu Apigee Topluluğu yayınına göz atın.

Dağıtım hataları

Dağıtım hataları hakkında bilgi için kullanıcı arayüzünde bildirilen mesaja bakın.

Hata değişkenleri

Bu değişkenler, bu politika çalışma zamanında bir hata tetiklediğinde ayarlanır.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.DeleteTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.DeleteTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.DeleteTokenInfo.cause = Invalid Access Token

Örnek hata yanıtı

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

Hata kuralı örneği

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

OAuthv1.0a politikası

OAuthV1 Politika türü aşağıdaki hata kodlarını tanımlar.

OAuth ile ilgili HTTP hata kodları için OAuth HTTP hata yanıtı referansı başlıklı makaleye bakın.

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

GetOAuthV1Info politikası

Get OAuth v1.0a Bilgi Politikası için hata kodu belirtilmemiş.

DeleteOAuthV1Info politikası

Politika başarılı olduğunda 200 durumunu döndürür.

Hata olması durumunda, politika 404 hatası verir ve aşağıdakine benzer bir çıkış sağlar (bir erişim jetonunu, istek jetonunu veya doğrulayıcıyı silmenize bağlı olarak):

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

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


PythonScript politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ve hata mesajları ile döndürülen hata değişkenleri açıklanmaktadır. Hataları ele almak için hata kuralları geliştiriyorsanız bu bilgiye sahip olmanız önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.script.ScriptEvaluationFailed 500 PythonScript politikası, birkaç farklı türde ScriptExecutionFailed hatası verebilir. Yaygın olarak görülen hata türleri arasında NameError ve ZeroDivisionError bulunur.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidResourceUrlFormat PythonScript politikasının <ResourceURL> veya <IncludeURL> öğesi içinde belirtilen kaynak URL'sinin biçimi geçersizse API proxy'sinin dağıtımı başarısız olur.
InvalidResourceUrlReference <ResourceURL> veya <IncludeURL> öğeleri mevcut olmayan bir PythonScript dosyasına referans veriyorsa API proxy'sinin dağıtımı başarısız olur. Başvurulan kaynak dosya API proxy'si, ortam veya kuruluş düzeyinde bulunmalıdır.

Hata değişkenleri

Bu değişkenler, bu politika çalışma zamanında bir hata tetiklediğinde ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "ScriptExecutionFailed"
pythonscript.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. pythonscript.PythonScript-1.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

Kota politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
policies.ratelimit.FailedToResolveQuotaIntervalReference 500 <Interval> öğesi Kota politikası kapsamında tanımlanmazsa meydana gelir. Bu öğe zorunludur ve kota için geçerli olan zaman aralığını belirtmek için kullanılır. Zaman aralığı, <TimeUnit> öğesiyle tanımlandığı gibi dakika, saat, gün, hafta veya ay olabilir.
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference 500 <TimeUnit> öğesi Kota politikası kapsamında tanımlanmazsa meydana gelir. Bu öğe zorunludur ve kota için geçerli olan zaman birimini belirtmek için kullanılır. Zaman aralığı dakika, saat, gün, hafta veya ay cinsinden olabilir.
policies.ratelimit.InvalidMessageWeight 500 Bir akış değişkeni aracılığıyla belirtilen <MessageWeight> öğesinin değeri geçersizse (tam sayı olmayan bir değer) ortaya çıkar.
policies.ratelimit.QuotaViolation 500 Kota sınırı aşıldı. Yok

Dağıtım hataları

Hata adı Neden Düzelt
InvalidQuotaInterval <Interval> öğesinde belirtilen kota aralığı tam sayı değilse API proxy'sinin dağıtımı başarısız olur. Örneğin, <Interval> öğesinde belirtilen kota aralığı 0, 1 ise API proxy'sinin dağıtımı başarısız olur.
InvalidQuotaTimeUnit <TimeUnit> öğesinde belirtilen zaman birimi desteklenmiyorsa API proxy'sinin dağıtımı başarısız olur. Desteklenen zaman birimleri şunlardır: minute, hour, day, week ve month.
InvalidQuotaType <Quota> öğesindeki type özelliği tarafından belirtilen kota türü geçersizse API proxy'sinin dağıtımı başarısız olur. Desteklenen kota türleri şunlardır: default, calendar, flexi ve rollingwindow.
InvalidStartTime <StartTime> öğesinde belirtilen saatin biçimi geçersizse API proxy'sinin dağıtımı başarısız olur. Geçerli biçim, ISO 8601 tarih ve saat biçimi olan yyyy-MM-dd HH:mm:ss şeklindedir. Örneğin, <StartTime> öğesinde belirtilen zaman 7-16-2017 12:00:00 ise API proxy'sinin dağıtımı başarısız olur.
StartTimeNotSupported Kota türü calendar türünde olmayan <StartTime> öğesi belirtilirse API proxy'sinin dağıtımı başarısız olur. <StartTime> öğesi yalnızca calendar kota türü için desteklenir. Örneğin, <Quota> öğesinde type özelliği flexi veya rolling window olarak ayarlanırsa API proxy'sinin dağıtımı başarısız olur.
InvalidTimeUnitForDistributedQuota <Distributed> öğesi true, <TimeUnit> öğesi ise second değerine ayarlanırsa API proxy'sinin dağıtımı başarısız olur. second zaman birimi dağıtılmış kota için geçersiz.
InvalidSynchronizeIntervalForAsyncConfiguration Kota politikasındaki <AsynchronousConfiguration> öğesi içinde yer alan <SyncIntervalInSeconds> öğesi için belirtilen değer sıfırdan küçükse API proxy'sinin dağıtımı başarısız olur.
InvalidAsynchronizeConfigurationForSynchronousQuota Aynı zamanda <AsynchronousConfiguration> öğesi kullanılarak tanımlanmış eşzamansız yapılandırmaya sahip bir Kota politikasında <AsynchronousConfiguration> öğesinin değeri true olarak ayarlanırsa API proxy'sinin dağıtımı başarısız olur.

Hata değişkenleri

Bu değişkenler, bu politika bir hatayı tetiklediğinde ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "QuotaViolation"
ratelimit.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. ratelimit.QT-QuotaPolicy.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

Kota Sıfırlama Politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
policies.resetquota.InvalidRLPolicy 500 Kotayı Sıfırla politikasının <Quota> öğesinde belirtilen Kota politikası, API proxy'sinde tanımlanmadığından akış sırasında kullanılamaz. <Quota> öğesi zorunludur ve sayacının Kota Sıfırlama politikası aracılığıyla güncellenmesi gereken hedef Kota politikasını tanımlar.
policies.resetquota.FailedToResolveAllowCountRef Yok Politikanın <Allow> öğesinde izin verilen sayıyı içeren değişken referansı bir değere çözümlenemez. Bu öğe zorunludur ve kota sayacının azaltılacağı miktarı belirtir.
policies.resetquota.FailedToResolveRLPolicy 500 <Quota> öğesinde ref özelliği tarafından başvurulan değişken çözümlenemiyor.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidCount Kotayı Sıfırlama Politikası'nın <Allow> öğesinde belirtilen sayı değeri tam sayı değilse API proxy'sinin dağıtımı başarısız olur.

GrowFault politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ve hata mesajları ile döndürülen hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden
steps.raisefault.RaiseFault 500 Hata dizesine bakın.

Dağıtım hataları

Yok.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name = "RaiseFault"
raisefault.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. raisefault.RF-ThrowError.failed = true

Örnek hata yanıtı

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

NormalExpressionProtection politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları, döndürülen mesajlar ve hata değişkenleri açıklanmaktadır. Hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmek önemlidir. Bir hatayı yakalamak ve kendi özel hatanızı oluşturmak istiyorsanız politika kök öğesinde continueOnError="true" özelliğini ayarlayın. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Edge politikalarından döndürülen hatalar, Hata kodu referansı bölümünde açıklanan tutarlı bir biçimde olur.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata Kodu Message
ExecutionFailed NormalExpressionProtection Adım Tanımı {0} yürütülemedi. Neden: {1}
InstantiationFailed regularExpressionProtection StepDefinition {0} örneklendirmesi başarısız oldu
NonMessageVariable {0} değişkeni bir Mesaj oluşturmuyor
SourceMessageNotAvailable {0} iletisi, RegularExpressionProtection StepDefinition için kullanılamıyor {1}
ThreatDetected {0} içinde Normal İfade Tehdidi Algılandı: normal ifade: {1} giriş: {2}
VariableResolutionFailed {0} değişkeni çözümlenemedi

Dağıtım hataları

Hata Kodu Message Düzelt
CannotBeConvertedToNodeset RegularExpressionProtection {0}: xpath {1} işleminin sonucu düğüm kümesine dönüştürülemez. Bağlam {2}
DuplicatePrefix RegularExpressionProtection {0}: Yinelenen ön ek {1}
EmptyJSONPathExpression NormalExpressionProtection {0}: Boş JSONPath ifadesi
EmptyXPathExpression NormalExpressionProtection {0}: Boş XPath ifadesi
InvalidRegularExpression RegularExpressionProtection {0}: Geçersiz Normal İfade {1}, Bağlam {2}
JSONPathCompilationFailed NormalExpressionProtection {0}: jsonpath {1} derlenemedi. Bağlam {2}
NONBlankPrefixMappedToBlankURI NormalExpressionProtection {0}: Boş olmayan ön ek {1}, boş uri ile eşlenemez
NoPatternsToEnforce NormalExpressionProtection {0}: {1} içinde zorunlu kılınacak kalıp yoktur
NothingToEnforce RegularExpressionProtection {0}: URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload'un en az biri zorunludur
XPathCompilationFailed NormalExpressionProtection {0}: xpath {1} derlenemedi. Bağlam {2}

Hata değişkenleri

Bu değişkenler, bu politika bir hatayı tetiklediğinde ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki tabloda listelenen hatanın adıdır. fault.name Matches "ThreatDetected"
regularexpressionprotection.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. regularexpressionprotection.Regular-Expressions-Protection-1.failed = true

SOAPMessageValidation politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.messagevalidation.SourceMessageNotAvailable 500

Bu hata, politikanın <Source> öğesinde belirtilen bir değişken şunlardan biriyse ortaya çıkar:

  • kapsam dışında (politikanın yürütüldüğü belirli akışta kullanılamaz)
  • veya
  • çözülemiyor (tanımlanmadı)
steps.messagevalidation.NonMessageVariable 500

Bu hata, SOAPMessageValidation politikasındaki <Source> öğesi, mesaj türünde olmayan bir değişkene ayarlanırsa ortaya çıkar.

Mesaj türü değişkenleri, HTTP isteklerinin ve yanıtlarının tamamını temsil eder. Yerleşik Edge akış değişkenleri request, response ve message mesaj türündedir. Mesaj değişkenleri hakkında daha fazla bilgi için Değişkenler referansı başlıklı makaleyi inceleyin.

steps.messagevalidation.Failed 500 Bu hata, SOAPMessageValidation politikası, giriş mesajı yükünü XSD şeması veya WSDL tanımına göre doğrulayamazsa ortaya çıkar. Yük mesajında bozuk JSON veya XML bulunması da bu hataya neden olabilir.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidResourceType SOAPMessageValidation politikasındaki <ResourceURL> öğesi, politika tarafından desteklenmeyen bir kaynak türüne ayarlanmış.
ResourceCompileFailed SOAPMessageValidation politikasının <ResourceURL> öğesinde başvurulan kaynak komut dosyası, derlemesini engelleyen bir hata içeriyor.
RootElementNameUnspecified SOAPMessageValidation politikasındaki <Element>, kök öğenin adını içermiyor.
InvalidRootElementName SOAPMessageValidation politikasındaki <Element> öğesi, geçerli öğe adlandırmaya yönelik XML kurallarına uymayan bir kök öğe adı içeriyor.

SAMLAssertion politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
SourceNotConfigured SAML Onaylama Politikası'nın şu öğelerinden biri veya daha fazlası tanımlı değil veya boş: <Source>, <XPath>, <Namespaces>, <Namespace>.
TrustStoreNotConfigured <TrustStore> öğesi boşsa veya ValidateSAMLAssertion politikasında belirtilmemişse API proxy'sinin dağıtımı başarısız olur. Geçerli bir Trust Store gereklidir.
NullKeyStoreAlias <Alias> alt öğesi boşsa veya SAML Onaylama Politikası'nın <Keystore> öğesinde belirtilmemişse API proxy'sinin dağıtımı başarısız olur. Geçerli bir Anahtar Deposu takma adı gereklidir.
NullKeyStore <Name> alt öğesi boşsa veya GenerateSAMLAssertion politikasının <Keystore> öğesinde belirtilmemişse API proxy'sinin dağıtımı başarısız olur. Geçerli bir anahtar deposu adı gerekli.
NullIssuer <Issuer> öğesi boşsa veya SAML Onaylama Politikası'nda belirtilmemişse API proxy'sinin dağıtımı başarısız olur. Geçerli bir <Issuer> değeri gereklidir.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name = "InvalidMediaTpe"
GenerateSAMLAssertion.failed Doğrulama SAML onay politikası yapılandırması için hata ön eki ValidateSAMLAssertion şeklindedir. GenerateSAMLAssertion.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

Hizmet Çağrısı politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.servicecallout.ExecutionFailed 500

Bu hata aşağıdaki durumlarda ortaya çıkabilir:

  • politikanın bozuk veya geçersiz olan girişi işlemesi istenir.
  • arka uç hedef hizmeti, hata durumu döndürür (varsayılan olarak 4xx veya 5xx).
steps.servicecallout.RequestVariableNotMessageType 500 Politikada belirtilen İstek değişkeni Mesaj türünde değil. Örneğin, dize ise veya mesaj olmayan başka bir türdeyse bu hatayı görürsünüz.
steps.servicecallout.RequestVariableNotRequestMessageType 500 Politikada belirtilen İstek değişkeni, İstek Mesajı türünde değil. Örneğin, bir Yanıt türü ise bu hatayı görürsünüz.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
URLMissing <HTTPTargetConnection> içindeki <URL> öğesi eksik veya boş.
ConnectionInfoMissing Politikanın <HTTPTargetConnection> veya <LocalTargetConnection> öğesi yoksa bu hata oluşur.
InvalidTimeoutValue <Timeout> değeri negatif veya sıfırsa bu hata oluşur.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name = "RequestVariableNotMessageType"
servicecallout.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. servicecallout.SC-GetUserData.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

SpikeArrest politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ve hata mesajları ile döndürülen hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
policies.ratelimit.FailedToResolveSpikeArrestRate 500 Bu hata, <Rate> öğesindeki ücret ayarını içeren değişken referansı, Spike Arrest politikasındaki bir değere çözümlenemezse ortaya çıkar. Bu öğe zorunludur ve artış durdurma oranını intpm veya intps biçiminde belirtmek için kullanılır.
policies.ratelimit.InvalidMessageWeight 500 Bu hata, <MessageWeight> öğesi için bir akış değişkeniyle belirtilen değer geçersiz (tam sayı olmayan bir değer) ise ortaya çıkar.
policies.ratelimit.SpikeArrestViolation 429

Oran sınırı aşıldı.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidAllowedRate Spike Arrest Politikası'nın <Rate> öğesinde belirtilen artış durdurma oranı tam sayı değilse ya da oranda sonek olarak ps veya pm yoksa API proxy'sinin dağıtımı başarısız olur.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "SpikeArrestViolation"
ratelimit.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. ratelimit.SA-SpikeArrestPolicy.failed = true

Örnek hata yanıtı

Aşağıda örnek bir hata yanıtı gösterilmektedir:

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

Hata kuralı örneği

Aşağıda, bir SpikeArrestViolation hatasını işlemek için gereken örnek bir hata kuralı gösterilmektedir:

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

İstatistikler Toplayıcı politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde ayarlanan hata mesajları ve akış değişkenleri açıklanmaktadır. Bu bilgiler, bir proxy için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Yok.

Dağıtım hataları

Hata adı Neden Düzelt
UnsupportedDatatype İstatistik Toplayıcı politikasının <Statistic> öğesindeki ref özelliği tarafından belirtilen değişken türü desteklenmiyorsa API proxy'sinin dağıtımı başarısız olur. Desteklenen veri türleri şunlardır: string, integer, float, long, double ve boolean.
InvalidName İstatistik Toplayıcı politikasının <Statistic> öğesinde tanımlanan belirtilen değişken için toplanan verilere referans vermek üzere kullanılan ad, sistem tanımlı bir değişkenle çakışırsa API proxy'sinin dağıtımı başarısız olur. Bilinen sistem tanımlı değişkenlerden bazıları organization ve environment'dir.
DatatypeMissing İstatistik Toplayıcı politikasının <Statistic> öğesindeki ref özelliği tarafından belirtilen değişken türü eksikse API proxy'sinin dağıtımı başarısız olur.

Hata değişkenleri

Yok.

DoğrulamaAPIKey politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden
keymanagement.service.CompanyStatusNotActive 401 Kullandığınız API anahtarına sahip Geliştirici Uygulaması ile ilişkilendirilmiş Şirket, etkin değil durumunda. Bir Şirket'in durumu etkin değil olarak ayarlandığında, söz konusu Şirket ile ilişkili geliştiricilere veya uygulamalara erişemezsiniz. Kuruluş yöneticisi, Management API'yi kullanarak bir Şirketin durumunu değiştirebilir. Şirketin Durumunu Belirleme başlıklı makaleyi inceleyin.
keymanagement.service.DeveloperStatusNotActive 401

Kullandığınız API anahtarına sahip Geliştirici Uygulaması'nı oluşturan geliştirici, etkin değil durumunda. Bir Uygulama Geliştiricinin durumu etkin değil olarak ayarlandığında, geliştirici tarafından oluşturulan tüm Geliştirici Uygulamaları devre dışı bırakılır. Uygun izinlere sahip bir yönetici kullanıcı (ör. Kuruluş Yöneticisi) bir geliştiricinin durumunu aşağıdaki şekillerde değiştirebilir:

keymanagement.service.invalid_client-app_not_approved 401 API anahtarıyla ilişkilendirilmiş Geliştirici Uygulaması iptal edildi. İptal edilen bir uygulama hiçbir API ürününe erişemez ve Apigee Edge tarafından yönetilen herhangi bir API'yi çağıramaz. Bir kuruluş yöneticisi, Management API'yi kullanarak Geliştirici Uygulamasının durumunu değiştirebilir. Geliştirici Uygulamasını Onaylama veya İptal Etme bölümüne bakın.
oauth.v2.FailedToResolveAPIKey 401 Politika, API anahtarını politikanın <APIKey> öğesinde belirtilen bir değişkende bulmayı bekler. Bu hata, beklenen değişken mevcut olmadığında (çözümemediğinde) ortaya çıkar.
oauth.v2.InvalidApiKey 401 Edge tarafından bir API anahtarı alındı, ancak bu anahtar geçersiz. Edge, veritabanında anahtarı aradığında istekte gönderilen ile tam olarak eşleşmelidir. API daha önce çalışıyorsa anahtarın yeniden oluşturulmadığından emin olun. Anahtar yeniden oluşturulduysa eski anahtarı kullanmaya çalışırsanız bu hatayı görürsünüz. Ayrıntılar için Uygulamaları kaydetme ve API anahtarlarını yönetme konusuna bakın.
oauth.v2.InvalidApiKeyForGivenResource 401 Edge tarafından alınan bir API anahtarı geçerli. Ancak, Geliştirici Uygulaması'ndaki, bir Ürün üzerinden API proxy'nizle ilişkilendirilmiş onaylanmış bir anahtarla eşleşmiyor.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden
SpecifyValueOrRefApiKey <APIKey> öğesinde değer veya anahtar belirtilmemiş.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "FailedToResolveAPIKey"
oauthV2.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. oauthV2.VK-VerifyAPIKey.failed = true

Örnek hata yanıtları

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

Hata kuralı örneği

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

DoğrulamaJWS politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Gerçekleşme zamanı:
steps.jws.AlgorithmInTokenNotPresentInConfiguration 401 Doğrulama politikasında birden fazla algoritma olduğunda ortaya çıkar
steps.jws.AlgorithmMismatch 401 Oluşturma politikası tarafından başlıkta belirtilen algoritma, Doğrulama politikasında beklenen algoritmayla eşleşmedi. Belirtilen algoritmalar eşleşmelidir.
steps.jws.ContentIsNotDetached 401 <DetachedContent>, JWS, ayrılmış içerik yükü içermiyorsa belirtilir.
steps.jws.FailedToDecode 401 Politika, JWS'nin kodu çözülemedi. JWS büyük olasılıkla bozuktur.
steps.jws.InsufficientKeyLength 401 HS256 algoritmasına göre 32 bayttan küçük bir anahtar için
steps.jws.InvalidClaim 401 Eksik hak talebi veya hak talebi uyuşmazlığı ya da eksik başlık veya başlık uyuşmazlığı için.
steps.jws.InvalidCurve 401 Anahtar tarafından belirtilen eğri, Elips Biçimli Eğri algoritması için geçerli değildir.
steps.jws.InvalidJsonFormat 401 JWS üstbilgisinde geçersiz JSON bulundu.
steps.jws.InvalidJws 401 Bu hata, JWS imzası doğrulaması başarısız olduğunda oluşur.
steps.jws.InvalidPayload 401 JWS yükü geçersiz.
steps.jws.InvalidSignature 401 <DetachedContent> atlanır ve JWS'de ayrı bir içerik yükü bulunur.
steps.jws.KeyIdMissing 401 Doğrulama politikası, ortak anahtarlar için kaynak olarak bir JWKS kullanır ancak imzalanmış JWS, başlıkta bir kid özelliği içermez.
steps.jws.KeyParsingFailed 401 Ortak anahtar, verilen anahtar bilgisinden ayrıştırılamadı.
steps.jws.MissingPayload 401 JWS yükü eksik.
steps.jws.NoAlgorithmFoundInHeader 401 JWS, algoritma başlığını çıkardığında ortaya çıkar.
steps.jws.NoMatchingPublicKey 401 Doğrulama politikası, ortak anahtarlar için kaynak olarak JWKS kullanır ancak imzalanmış JWS'deki kid, JWKS'de listelenmiyor.
steps.jws.UnhandledCriticalHeader 401 crit başlığında JWS'yi Doğrula politikası tarafından bulunan üst bilgi KnownHeaders bölgesinde listelenmiyor.
steps.jws.UnknownException 401 Bilinmeyen bir istisna oluştu.
steps.jws.WrongKeyType 401 Anahtar türü yanlış belirtilmiş. Örneğin, Elips Biçimli Eğri algoritması için RSA anahtarı veya RSA algoritması için eğri anahtarı belirtirseniz.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Gerçekleşme zamanı:
InvalidAlgorithm Geçerli değerler şunlardır: 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

Diğer olası dağıtım hataları.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "TokenExpired"
JWS.failed Tüm JWS politikaları, bir hata durumunda aynı değişkeni ayarlar. jws.JWS-Policy.failed = true

Örnek hata yanıtı

Hata işleme için en iyi uygulama, hata yanıtının errorcode bölümünü yakalamaktır. Değişebileceği için faultstring içindeki metne güvenmeyin.

Hata kuralı örneği

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

DoğrulamaJWT politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Gerçekleşme zamanı:
steps.jwt.AlgorithmInTokenNotPresentInConfiguration 401 Doğrulama politikasında birden fazla algoritma olduğunda ortaya çıkar.
steps.jwt.AlgorithmMismatch 401 Oluşturma politikasında belirtilen algoritma, Doğrulama politikasında beklenen algoritmayla eşleşmedi. Belirtilen algoritmalar eşleşmelidir.
steps.jwt.FailedToDecode 401 Politika, JWT'nin kodu çözülemedi. JWT bozuk olabilir.
steps.jwt.GenerationFailed 401 Politika, JWT'yi oluşturamadı.
steps.jwt.InsufficientKeyLength 401 HS256 algoritmasında 32 bayttan, HS386 algoritmasında 48 bayttan ve HS512 algoritmasında 64 bayttan az olan bir anahtar.
steps.jwt.InvalidClaim 401 Eksik hak talebi veya hak talebi uyuşmazlığı ya da eksik başlık veya başlık uyuşmazlığı için.
steps.jwt.InvalidCurve 401 Anahtar tarafından belirtilen eğri, Elips Biçimli Eğri algoritması için geçerli değildir.
steps.jwt.InvalidJsonFormat 401 Başlıkta veya yükte geçersiz JSON bulundu.
steps.jwt.InvalidToken 401 Bu hata, JWT imzası doğrulaması başarısız olduğunda ortaya çıkar.
steps.jwt.JwtAudienceMismatch 401 Kitle hak talebi, jeton doğrulanamadı.
steps.jwt.JwtIssuerMismatch 401 Kartı veren kuruluş talebi, jeton doğrulamasında başarısız oldu.
steps.jwt.JwtSubjectMismatch 401 Konuyla ilgili hak talebi, jeton doğrulanamadı.
steps.jwt.KeyIdMissing 401 Doğrulama politikası, ortak anahtarlar için kaynak olarak bir JWKS kullanır ancak imzalı JWT, başlıkta kid özelliği içermiyor.
steps.jwt.KeyParsingFailed 401 Ortak anahtar, verilen anahtar bilgisinden ayrıştırılamadı.
steps.jwt.NoAlgorithmFoundInHeader 401 JWT, herhangi bir algoritma başlığı içermiyorsa ortaya çıkar.
steps.jwt.NoMatchingPublicKey 401 Doğrulama politikası, ortak anahtarlar için kaynak olarak JWKS kullanır ancak imzalı JWT'deki kid, JWKS'de listelenmiyor.
steps.jwt.SigningFailed 401 GenerateJWT'de, HS384 veya HS512 algoritmaları için minimum boyuttan daha küçük bir anahtar için
steps.jwt.TokenExpired 401 Politika, süresi dolmuş bir jetonu doğrulamaya çalışır.
steps.jwt.TokenNotYetValid 401 Jeton henüz geçerli değil.
steps.jwt.UnhandledCriticalHeader 401 crit başlığında JWT'yi Doğrula politikası tarafından bulunan üst bilgi, KnownHeaders bölgesinde listelenmiyor.
steps.jwt.UnknownException 401 Bilinmeyen bir istisna oluştu.
steps.jwt.WrongKeyType 401 Anahtar türü yanlış belirtilmiş. Örneğin, Elips Biçimli Eğri algoritması için RSA anahtarı veya RSA algoritması için eğri anahtarı belirtirseniz.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidNameForAdditionalClaim <AdditionalClaims> öğesinin <Claim> alt öğesinde kullanılan hak talebi şu kayıtlı adlardan biriyse dağıtım başarısız olur: kid, iss, sub, aud, iat, exp, nbf veya jti.
InvalidTypeForAdditionalClaim <AdditionalClaims> öğesinin <Claim> alt öğesinde kullanılan hak talebi string, number, boolean veya map türünde değilse dağıtım başarısız olur.
MissingNameForAdditionalClaim İddianın adı <AdditionalClaims> öğesinin <Claim> alt öğesinde belirtilmezse dağıtım başarısız olur.
InvalidNameForAdditionalHeader Bu hata, <AdditionalClaims> öğesinin <Claim> alt öğesinde kullanılan iddianın adı alg veya typ olduğunda ortaya çıkar.
InvalidTypeForAdditionalHeader <AdditionalClaims> öğesinin <Claim> alt öğesinde kullanılan hak talebi türü string, number, boolean veya map türünde değilse dağıtım başarısız olur.
InvalidValueOfArrayAttribute Bu hata, <AdditionalClaims> öğesinin <Claim> alt öğesindeki dizi özelliğinin değeri true veya false olarak ayarlanmadığında ortaya çıkar.
InvalidValueForElement <Algorithm> öğesinde belirtilen değer desteklenen bir değer değilse dağıtım başarısız olur.
MissingConfigurationElement <PrivateKey> öğesi, RSA ailesi algoritmaları veya <SecretKey> öğesi HS Family algoritmaları ile kullanılmazsa bu hata oluşur.
InvalidKeyConfiguration <Value> alt öğesi <PrivateKey> veya <SecretKey> öğelerinde tanımlanmazsa dağıtım başarısız olur.
EmptyElementForKeyConfiguration <PrivateKey> veya <SecretKey> öğelerinin <Value> alt öğesinin ref özelliği boşsa ya da belirtilmemişse dağıtım başarısız olur.
InvalidConfigurationForVerify Bu hata, <Id> öğesi <SecretKey> öğesi içinde tanımlanırsa ortaya çıkar.
InvalidEmptyElement Bu hata, JWT'yi Doğrula politikasının <Source> öğesi boşsa ortaya çıkar. Varsa Edge akışı değişken adıyla tanımlanmalıdır.
InvalidPublicKeyValue <PublicKey> öğesinin <JWKS> alt öğesinde kullanılan değer, RFC 7517'de belirtildiği gibi geçerli bir biçimi kullanmıyorsa dağıtım başarısız olur.
InvalidConfigurationForActionAndAlgorithm <PrivateKey> öğesi HS Family algoritmalarıyla veya <SecretKey> öğesi RSA Family algoritmalarıyla kullanılıyorsa dağıtım başarısız olur.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "TokenExpired"
JWT.failed Tüm JWT politikaları, hata durumunda aynı değişkeni ayarlar. JWT.failed = true

Örnek hata yanıtı

JWT Politikası Hata Kodları

Hata işleme için en iyi uygulama, hata yanıtının errorcode bölümünü yakalamaktır. Değişebileceği için faultstring içindeki metne güvenmeyin.

Hata kuralı örneği

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

XMLThreatProtection politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.xmlthreatprotection.ExecutionFailed 500 XMLThreatProtection politikası birçok farklı ExecutionFailed hatası verebilir. Bu hataların çoğu, politikada ayarlanan belirli bir eşik aşıldığında ortaya çıkar. Bu hata türleri arasında şunlar yer alır: öğe adı uzunluğu, alt öğe sayısı, düğüm derinliği, özellik sayısı, özellik adı uzunluğu ve daha birçok hata. Tam listeyi XMLThreatProtection politika çalışma zamanı hatası giderme konusunda bulabilirsiniz.
steps.xmlthreatprotection.InvalidXMLPayload 500 Bu hata, XMLThreatProtection politikasının <Source> öğesi tarafından belirtilen giriş mesajı yükü geçerli bir XML dokümanı değilse ortaya çıkar.
steps.xmlthreatprotection.SourceUnavailable 500 Bu hata, <Source> öğesinde belirtilen message değişkeni şunlardan biriyse ortaya çıkar:
  • Kapsam dışında (politikanın yürütüldüğü belirli akışta kullanılamaz)
  • request, response veya message geçerli değerlerinden biri değil
steps.xmlthreatprotection.NonMessageVariable 500 Bu hata, <Source> öğesi mesaj türünde olmayan bir değişkene ayarlanırsa ortaya çıkar.

Notes:

  • ExecutionFailed hata adı, varsayılan hata adıdır ve algılanan hatanın türünden bağımsız olarak döndürülür. Ancak bu varsayılan, kuruluş düzeyinde bir özellik ayarlanarak değiştirilebilir. Bu özellik ayarlandığında hata adı, gerçek hatayı yansıtır. Örneğin, "TextExceeded" veya "AttrValueExceeded". Ayrıntılar için Kullanım Notları'na bakın.
  • Varsayılan olarak 500 HTTP durumu gösterilir. Ancak kuruluş düzeyinde bir özellik ayarlanarak istek akışı hataları için HTTP Durumu 400 olarak değiştirilebilir. Ayrıntılar için Kullanım Notları'na bakın.

Dağıtım hataları

Yok.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "SourceUnavailable"
xmlattack.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. xmlattack.XPT-SecureRequest.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

XMLtoJSON politikası

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.xmltojson.ExecutionFailed 500 Bu hata, giriş yükü (XML) boş olduğunda veya giriş XML'i geçersiz ya da hatalı olduğunda ortaya çıkar.
steps.xmltojson.InCompatibleType 500 Bu hata, <Source> öğesinde ve <OutputVariable> öğesinde tanımlanan değişkenin türü aynı değilse ortaya çıkar. <Source> öğesi ve <OutputVariable> öğesi içinde yer alan değişkenlerin türünün eşleşmesi zorunludur.
steps.xmltojson.InvalidSourceType 500 Bu hata, <Source> öğesini tanımlamak için kullanılan değişken türü geçersizse ortaya çıkar.Geçerli değişken türleri mesaj ve dizedir.
steps.xmltojson.OutputVariableIsNotAvailable 500 Bu hata, XML'den JSON'a Geçiş politikasının <Source> öğesinde belirtilen değişken dize türündeyse ve <OutputVariable> öğesi tanımlı değilse ortaya çıkar. <Source> öğesinde tanımlanan değişken dize türündeyse <OutputVariable> öğesi zorunludur.
steps.xmltojson.SourceUnavailable 500 Bu hata, XML'den JSON'a geçiş politikasının <Source> öğesinde belirtilen message değişkeni şunlardan biriyse ortaya çıkar:
  • kapsam dışında (politikanın yürütüldüğü belirli akışta kullanılamaz) veya
  • çözülemiyor (tanımlanmadı)

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
EitherOptionOrFormat <Options> veya <Format> öğelerinden biri XML'den JSON'a Geçiş Politikası'nda tanımlanmamışsa API proxy'sinin dağıtımı başarısız olur.
UnknownFormat XML'den JSON'a geçiş politikasındaki <Format> öğesi için bilinmeyen bir biçim tanımlanmışsa API proxy'sinin dağıtımı başarısız olur. Önceden tanımlanmış biçimler şunları içerir: xml.com, yahoo, google ve badgerFish.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name = "SourceUnavailable"
xmltojson.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. xmltojson.XMLtoJSON-1.failed = true

Örnek hata yanıtı

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

Hata kuralı örneği

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

XSLTransform politikası

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden Düzelt
steps.xsl.XSLSourceMessageNotAvailable 500 Bu hata, XSL Dönüşümü politikasının <Source> öğesinde belirtilen mesaj veya dize değişkeni kapsam dışındaysa (politikanın yürütüldüğü belirli akışta kullanılamaz) ya da çözülemiyorsa (tanımlanmamışsa) ortaya çıkar.
steps.xsl.XSLEvaluationFailed 500 Bu hata, giriş XML yükü kullanılamıyorsa/bozuk biçimlendirilmişse veya XSLTransform politikası XSL dosyasında sağlanan dönüştürme kurallarına göre giriş XML dosyasını dönüştüremiyorsa ortaya çıkar. XSLTransform politikasının başarısız olmasının birçok farklı nedeni olabilir. Hata mesajındaki hatanın nedeni hakkında daha fazla bilgi sağlanır.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
XSLEmptyResourceUrl XSL Dönüşümü politikasındaki <ResourceURL> öğesi boşsa API proxy'sinin dağıtımı başarısız olur.
XSLInvalidResourceType XSL Dönüşümü politikasının <ResourceURL> öğesinde belirtilen kaynak türü xsl türünde değilse API proxy'sinin dağıtımı başarısız olur.