Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an. info
AccessControl-Richtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | The client IP address, or an IP address passed
in the API request, matches an IP address specified in the <SourceAddress> element within
the <MatchRule> element of the Access Control Policy, and the action attribute of the
<MatchRule> element is set to DENY. |
build |
Fault variables
These variables are set when a runtime error occurs. For more information, see Variables specific to policy errors.
| Variables | Where | Example |
|---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | acl.AC-AllowAccess.failed = true |
Example fault response
{
"fault":{
"faultstring":"Access Denied for client ip : 52.211.243.3"
"detail":{
"errorcode":"accesscontrol.IPDeniedAccess"
}
}
}Example fault rule
<FaultRule name="IPDeniedAccess">
<Step>
<Name>AM-IPDeniedAccess</Name>
<Condition>(fault.name Matches "IPDeniedAccess") </Condition>
</Step>
<Condition>(acl.failed = true) </Condition>
</FaultRule>AccessEntity-Richtlinie
Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
–
Bereitstellungsfehler
| Fehlername | Fehlerstring | HTTP-Status | Tritt auf, wenn Folgendes eintritt |
|---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
– | Der verwendete Entitätstyp muss einer der unterstützten Typen sein. |
AssignMessage-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | Beheben |
|---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 | Die Richtlinie konnte keine Variable festlegen. Sehen Sie sich den Fehlerstring für den Namen der nicht aufgelösten Variable an. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Dieser Fehler tritt auf, wenn für das Attribut Nachrichtentypvariablen stellen ganze HTTP-Anfragen und -Antworten dar. Der integrierte Edge
Die Flussvariablen |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Dieser Fehler tritt bei einer Variablen auf, die in der Richtlinie "Nachricht zuweisen" angegeben ist, wenn die Variable
|
build |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
| Fehlername | Ursache | Beheben |
|---|---|---|
InvalidIndex |
Wenn der in den Elementen <Copy> und/oder <Remove> der Richtlinie "Nachricht zuweisen" angegebene Wert 0 oder eine negative Zahl ist, schlägt die Bereitstellung des API-Proxys fehl. |
build |
InvalidVariableName |
Wenn das untergeordnete Element <Name> leer ist oder nicht im Element <AssignVariable> angegeben ist, schlägt die Bereitstellung des API-Proxys fehl, da kein gültiger Variablenname vorhanden ist, dem ein Wert zugewiesen werden soll. Ein gültiger Variablenname ist erforderlich.
|
build |
InvalidPayload |
Eine in der Richtlinie angegebene Nutzlast ist ungültig. |
Fehlervariablen
Diese Variablen werden festgelegt, wenn diese Richtlinie zur Laufzeit einen Fehler auslöst. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "UnresolvedVariable" |
assignmessage.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | assignmessage.AM-SetResponse.failed = true |
Beispiel für eine Fehlerantwort
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
Beispiel für eine Fehlerregel
<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>
BasicAuthentication-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | Beheben |
|---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 | Bei einer Decodierung, wenn der eingehende Base64-codierte String keinen gültigen Wert enthält oder der Header fehlerhaft ist (z. B. nicht mit "Basic" beginnen) | build |
steps.basicauthentication.UnresolvedVariable |
500 | Die erforderlichen Quellvariablen für die Decodierung oder Codierung sind nicht vorhanden. Dieser Fehler kann nur auftreten, wenn IgnoreUnresolvedVariables auf "false" gesetzt ist. |
build |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.
| Fehlername | Tritt auf, wenn Folgendes eintritt | Beheben |
|---|---|---|
UserNameRequired |
Das Element <User> muss für den benannten Vorgang vorhanden sein. |
build |
PasswordRequired |
Das Element <Password> muss für den benannten Vorgang vorhanden sein. |
build |
AssignToRequired |
Das Element <AssignTo> muss für den benannten Vorgang vorhanden sein. |
build |
SourceRequired |
Das Element <Source> muss für den benannten Vorgang vorhanden sein. |
build |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | BasicAuthentication.BA-Authenticate.failed = true |
Beispiel für eine Fehlerantwort
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
Beispiel für eine Fehlerregel
<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-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Tritt auf, wenn Folgendes eintritt |
|---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation |
503 |
ConcurrentRatelimit-Verbindung überschritten. Verbindungslimit : {0} Hinweis: Der links angezeigte Fehlercode ist korrekt, obwohl er einen Rechtschreibfehler ("limt") enthält. Achten Sie darauf, dass Sie den Code genau wie hier gezeigt verwenden, wenn Sie Fehlerregeln erstellen, um diesen Fehler zu beheben. |
Bereitstellungsfehler
| Fehlername | Tritt auf, wenn Folgendes eintritt |
|---|---|
InvalidCountValue |
ConcurrentRatelimit ungültiger Zählwert angegeben. |
ConcurrentRatelimitStepAttachment\ |
Der gleichzeitige Anhang einer Ratelimit-Richtlinie {0} ist in den Proxy-Anfrage-/Antwort-/Fehlerpfaden nicht zulässig. Diese Richtlinie muss auf dem Zielendpunkt platziert werden. |
ConcurrentRatelimitStepAttachment\ |
Der gleichzeitige Anhang der Ratelimit-Richtlinie {0} fehlt in den Zielanforderungs-/Antwort-/Fehlerpfaden. Diese Richtlinie muss in den Target Request Preflow, Target Response Postflow und DefaultFaultRule platziert werden. |
InvalidTTLForMessageTimeOut |
ConcurrentRatelimit ungültiger ttl-Wert für Nachrichtenüberschreitungszeit. Dieser Wert muss eine positive Ganzzahl sein. |
Fehlervariablen
Diese Variablen werden festgelegt, wenn die Richtlinie einen Fehler auslöst. Weitere Informationen finden sich unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "ConcurrentRatelimtViolation"
Hinweis: Der im Beispiel angegebene Fehlercode ist korrekt, obwohl er einen Schreibfehler ("limt") enthält. Achten Sie darauf, dass Sie den Code genau wie hier gezeigt verwenden, wenn Sie Fehlerregeln erstellen, um diesen Fehler zu beheben. |
concurrentratelimit.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | concurrentratelimit.CRL-RateLimitPolicy.failed = true |
Beispiel für eine Fehlerantwort
Wenn die Ratenbegrenzung überschritten wird, gibt die Richtlinie nur den HTTP-Status 503 an den Client zurück.
Beispiel für eine Fehlerregel
<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-Richtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Occurs when |
|---|---|---|
steps.jws.FailedToDecode |
401 | The policy was unable to decode the JWS. The JWS is possibly corrupted. |
steps.jws.FailedToResolveVariable |
401 | Occurs when the flow variable specified in the <Source> element of
the policy does not exist. |
steps.jws.InvalidClaim |
401 | For a missing claim or claim mismatch, or a missing header or header mismatch. |
steps.jws.InvalidJsonFormat |
401 | Invalid JSON found in the JWS header. |
steps.jws.InvalidJws |
401 | This error occurs when the JWS signature verification fails. |
steps.jws.InvalidPayload |
401 | The JWS payload is invalid. |
steps.jws.InvalidSignature |
401 | <DetachedContent> is omitted and the JWS has a detached content payload. |
steps.jws.MissingPayload |
401 | The JWS payload is missing. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Occurs when the JWS omits the algorithm header. |
steps.jws.UnknownException |
401 | An unknown exception occurred. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Occurs when |
|---|---|
InvalidAlgorithm |
The only valid values are: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
|
Other possible deployment errors. |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "TokenExpired" |
JWS.failed |
Bei allen JWT-Richtlinien wird im Fall eines Fehlers dieselbe Variable festgelegt. | jws.JWS-Policy.failed = true |
Beispiel für eine Fehlerantwort
Bei der Fehlerbehandlung besteht die Best Practice darin, den errorcode-Teil der Fehlerantwort zu beachten. Verlassen Sie sich nicht auf den Text in faultstring. Er kann sich ändern.
Beispiel für eine Fehlerregel
<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-Richtlinie
In diesem Abschnitt werden die Fehlercodes und Fehlermeldungen beschrieben, die zurückgegeben werden, sowie die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | Problembehebung |
|---|---|---|---|
steps.jwt.FailedToDecode |
401 | Tritt auf, wenn die Richtlinie das JWT nicht decodieren kann. Das JWT ist möglicherweise fehlerhaft oder ungültig oder anderweitig nicht decodierbar. | build |
steps.jwt.FailedToResolveVariable |
401 | Tritt auf, wenn die im Element <Source> der Richtlinie angegebene Flussvariable nicht vorhanden ist. |
|
steps.jwt.InvalidToken |
401 | Tritt auf, wenn die im Element <Source> der Richtlinie angegebene Ablaufvariable den Gültigkeitsbereich überschreitet oder nicht aufgelöst werden kann. |
build |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.
| Fehlername | Ursache | Beheben |
|---|---|---|
InvalidEmptyElement |
Tritt auf, wenn die Flussvariable, die das zu decodierende JWT enthält, nicht im Element <Source> der Richtlinie angegeben ist.
|
build |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "TokenExpired" |
JWT.failed |
Bei allen JWT-Richtlinien wird im Fall eines Fehlers dieselbe Variable festgelegt. | JWT.failed = true |
Beispiel für eine Fehlerantwort
Bei der Fehlerbehandlung besteht die Best Practice darin, den errorcode-Teil der Fehlerantwort zu beachten. Verlassen Sie sich nicht auf den Text in faultstring. Er kann sich ändern.
Beispiel für eine Fehlerregel
<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>
ExtractVariables-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | Beheben |
|---|---|---|---|
steps.extractvariables.ExecutionFailed |
500 |
Dieser Fehler tritt in folgenden Fällen auf:
|
build |
steps.extractvariables.ImmutableVariable |
500 | Eine in der Richtlinie verwendete Variable ist unveränderlich. Diese Variable konnte von der Richtlinie nicht festgelegt werden. | |
steps.extractvariables.InvalidJSONPath |
500 | Dieser Fehler tritt auf, wenn im JSONPath-Element der Richtlinie ein ungültiger JSON-Pfad verwendet wird. Wenn beispielsweise eine JSON-Nutzlast das Objekt Name nicht enthält, Sie aber Name als Pfad in der Richtlinie angeben, tritt dieser Fehler auf. |
build |
steps.extractvariables.JsonPathParsingFailure |
500 | Dieser Fehler tritt auf, wenn die Richtlinie einen JSON-Pfad nicht parsen und keine Daten aus der im Element Source angegebenen Flussvariable extrahieren kann. Dies geschieht normalerweise, wenn die im Element Source angegebene Flussvariable im aktuellen Ablauf nicht vorhanden ist. |
build |
steps.extractvariables.SetVariableFailed |
500 | Dieser Fehler tritt auf, wenn die Richtlinie den Wert nicht auf eine Variable setzen konnte. Der Fehler tritt in der Regel auf, wenn Sie Werte für mehrere Variablen zuweisen möchten, deren Namen mit den gleichen Begriffen in einem verschachtelten, durch Punkte getrennten Format beginnen. | build |
steps.extractvariables.SourceMessageNotAvailable |
500 | Dieser Fehler tritt auf, wenn auf die Variable message, die im Element Source der Richtlinie angegeben ist, einer der folgenden Punkte zutrifft:
|
build |
steps.extractvariables.UnableToCast |
500 | Dieser Fehler tritt auf, wenn die Richtlinie den extrahierten Wert nicht in eine Variable umwandeln konnte. Dies ist in der Regel der Fall, wenn Sie versuchen, den Wert eines Datentyps auf die Variable eines anderen Datentyps festzulegen. | build |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
| Fehlername | Ursache | Beheben |
|---|---|---|
NothingToExtract |
Wenn die Richtlinie keines der Elemente URIPath, QueryParam, Header, FormParam, XMLPayload oder JSONPayload enthält, schlägt die Bereitstellung des API-Proxys fehl, weil es nichts zu extrahieren gibt. |
build |
NONEmptyPrefixMappedToEmptyURI |
Dieser Fehler tritt auf, wenn im Namespace-Element unter dem XMLPayload-Element ein Präfix definiert ist, aber kein URI. |
build |
DuplicatePrefix |
Dieser Fehler tritt auf, wenn in der im Element Namespace unter dem Element XMLPayload dasselbe Element mehrmals definiert ist. |
build |
NoXPathsToEvaluate |
Wenn die Richtlinie im Element XMLPayload das Element XPath nicht enthält, schlägt die Bereitstellung des API-Proxys mit diesem Fehler fehl.
|
build |
EmptyXPathExpression |
Wenn die Richtlinie im Element XMLPayload einen leeren XPath-Ausdruck enthält, schlägt die Bereitstellung des API-Proxys fehl. |
build |
NoJSONPathsToEvaluate |
Wenn die Richtlinie im Element JSONPayload das Element JSONPath nicht enthält, schlägt die Bereitstellung des API-Proxys mit diesem Fehler fehl. |
build |
EmptyJSONPathExpression |
Wenn die Richtlinie im Element XMLPayload einen leeren XPath-Ausdruck enthält, schlägt die Bereitstellung des API-Proxys fehl. |
build |
MissingName |
Wenn die Richtlinie das Attribut name in keinem der Richtlinienelemente wie QueryParam, Header, FormParam oder Variable enthält, wo dies erforderlich ist, dann schlägt die Bereitstellung des API-Proxys fehl. |
build |
PatternWithoutVariable |
Wenn in der Richtlinie im Element Pattern keine Variable angegeben ist, schlägt die Bereitstellung des API-Proxys fehl. Das Element Pattern erfordert den Namen der Variablen, in der extrahierte Daten gespeichert werden. |
build |
CannotBeConvertedToNodeset |
Wenn die Richtlinie einen Ausdruck XPath enthält, bei dem der Typ Variable als nodeset definiert ist, der Ausdruck jedoch nicht in ein Knotengruppe konvertiert werden kann, dann wird die Bereitstellung der API bereitgestellt. Proxy schlägt fehl. |
build |
JSONPathCompilationFailed |
Die Richtlinie konnte keinen angegebenen JSON-Pfad kompilieren. | |
InstantiationFailed |
Die Richtlinie konnte nicht instanziiert werden. | |
XPathCompilationFailed |
Wenn das Präfix oder der Wert, der im Element XPath verwendet wird, zu keinem der angegebenen Namespaces in der Richtlinie gehört, schlägt die Bereitstellung des API-Proxys fehl. |
build |
InvalidPattern |
Wenn die Definition des Pattern-Elements in einem der Elemente wie URIPath, QueryParam, Header, FormParam, XMLPayload oder JSONPayload in der Richtlinie ungültig ist, dann schlägt die Bereitstellung des API-Proxys fehl.
|
build |
Fehlervariablen
Diese Variablen werden festgelegt, wenn diese Richtlinie zur Laufzeit einen Fehler auslöst. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | extractvariables.EV-ParseJsonResponse.failed = true |
Beispiel für eine Fehlerantwort
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
Beispiel für eine Fehlerregel
<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-Richtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Occurs when |
|---|---|---|
steps.jws.GenerationFailed |
401 | The policy was unable to generate the JWS. |
steps.jws.InsufficientKeyLength |
401 | For a key less than 32 bytes for the HS256 algorithm |
steps.jws.InvalidClaim |
401 | For a missing claim or claim mismatch, or a missing header or header mismatch. |
steps.jws.InvalidCurve |
401 | The curve specified by the key is not valid for the Elliptic Curve algorithm. |
steps.jws.InvalidJsonFormat |
401 | Invalid JSON found in the JWS header. |
steps.jws.InvalidPayload |
401 | The JWS payload is invalid. |
steps.jws.InvalidSignature |
401 | <DetachedContent> is omitted and the JWS has a detached content payload. |
steps.jws.KeyIdMissing |
401 | The Verify policy uses a JWKS as a source for public keys, but the signed JWS does not
include a kid property in the header. |
steps.jws.KeyParsingFailed |
401 | The public key could not be parsed from the given key information. |
steps.jws.MissingPayload |
401 | The JWS payload is missing. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Occurs when the JWS omits the algorithm header. |
steps.jws.SigningFailed |
401 | In GenerateJWS, for a key less than the minimum size for the HS384 or HS512 algorithms |
steps.jws.UnknownException |
401 | An unknown exception occurred. |
steps.jws.WrongKeyType |
401 | Wrong type of key specified. For example, if you specify an RSA key for an Elliptic Curve algorithm, or a curve key for an RSA algorithm. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Occurs when |
|---|---|
InvalidAlgorithm |
The only valid values are: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
|
Other possible deployment errors. |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "TokenExpired" |
JWS.failed |
Bei allen JWT-Richtlinien wird im Fall eines Fehlers dieselbe Variable festgelegt. | jws.JWS-Policy.failed = true |
Beispiel für eine Fehlerantwort
Bei der Fehlerbehandlung besteht die Best Practice darin, den errorcode-Teil der Fehlerantwort zu beachten. Verlassen Sie sich nicht auf den Text in faultstring. Er kann sich ändern.
Beispiel für eine Fehlerregel
<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-Richtlinie
In diesem Abschnitt werden die Fehlercodes und Fehlermeldungen beschrieben, die zurückgegeben werden, sowie die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Tritt auf, wenn Folgendes eintritt |
|---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | Tritt auf, wenn die Prüfungsrichtlinie mehrere Algorithmen nutzt. |
steps.jwt.AlgorithmMismatch |
401 | Der in der Generierungsrichtlinie angegebene Algorithmus stimmte nicht mit dem in der Verifizierungsrichtlinie erwarteten Algorithmus überein. Die angegebenen Algorithmen müssen übereinstimmen. |
steps.jwt.FailedToDecode |
401 | Die Richtlinie konnte das JWT nicht decodieren. Das JWT ist möglicherweise beschädigt. |
steps.jwt.GenerationFailed |
401 | Die Richtlinie konnte das JWT nicht generieren. |
steps.jwt.InsufficientKeyLength |
401 | Für einen Schlüssel mit weniger als 32 Byte beim HS256-Algorithmus, weniger als 48 Byte beim HS386 Algorithmus und weniger als 64 Byte beim HS512-Algorithmus. |
steps.jwt.InvalidClaim |
401 | Bei einem fehlenden Anspruch oder nicht übereinstimmenden Ansprüchen oder einem fehlenden Header oder Header. |
steps.jwt.InvalidCurve |
401 | Die vom Schlüssel angegebene Kurve ist für den Elliptic-Curve-Algorithmus ungültig. |
steps.jwt.InvalidJsonFormat |
401 | Ungültiger JSON-Code im Header oder der Nutzlast gefunden. |
steps.jwt.InvalidToken |
401 | Dieser Fehler tritt auf, wenn die JWT-Signaturprüfung fehlschlägt. |
steps.jwt.JwtAudienceMismatch |
401 | Der Zielgruppenanspruch ist bei der Tokenprüfung fehlgeschlagen. |
steps.jwt.JwtIssuerMismatch |
401 | Der Ausstelleranspruch ist bei der Tokenprüfung fehlgeschlagen. |
steps.jwt.JwtSubjectMismatch |
401 | Der Betreffanspruch ist bei der Tokenprüfung fehlgeschlagen. |
steps.jwt.KeyIdMissing |
401 | Die Verifizierungsrichtlinie verwendet einen JWKS als Quelle für öffentliche Schlüssel, das signierte JWT enthält jedoch kein kid-Attribut im Header. |
steps.jwt.KeyParsingFailed |
401 | Der öffentliche Schlüssel konnte anhand der angegebenen Schlüsselinformationen nicht geparst werden. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Tritt auf, wenn das JWT keinen Algorithmus-Header enthält. |
steps.jwt.NoMatchingPublicKey |
401 | Die Verifizierungsrichtlinie verwendet einen JWKS als Quelle für öffentliche Schlüssel, aber kid im signierten JWT ist nicht in JWKS aufgeführt. |
steps.jwt.SigningFailed |
401 | In GenerateJWT, für Schlüssel, die kleiner als die Mindestgröße für den HS384- oder HS512-Algorithmus sind |
steps.jwt.TokenExpired |
401 | Die Richtlinie versucht, ein abgelaufenes Token zu bestätigen. |
steps.jwt.TokenNotYetValid |
401 | Das Token ist noch nicht gültig. |
steps.jwt.UnhandledCriticalHeader |
401 | Ein Header, der von der JWT-Richtlinie im Header crit gefunden wurde, ist nicht in KnownHeaders aufgeführt. |
steps.jwt.UnknownException |
401 | Es ist eine unbekannte Ausnahme aufgetreten. |
steps.jwt.WrongKeyType |
401 | Falscher Schlüsseltyp angegeben. Wenn Sie beispielsweise einen RSA-Schlüssel für einen Elliptic Curve-Algorithmus oder einen Kurvenschlüssel für einen RSA-Algorithmus angeben. |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
| Fehlername | Ursache | Problembehebung |
|---|---|---|
InvalidNameForAdditionalClaim |
Die Bereitstellung schlägt fehl, wenn die im untergeordneten Element <Claim> des Elements <AdditionalClaims> verwendete Anforderung einer der folgenden registrierten Namen ist: kid, iss, sub, aud, iat, exp, nbf oder jti.
|
build |
InvalidTypeForAdditionalClaim |
Wenn die im untergeordneten Element <Claim> des <AdditionalClaims>-Elements verwendete Anforderung nicht vom Typ string, number, boolean oder map ist, schlägt die Bereitstellung fehl.
|
build |
MissingNameForAdditionalClaim |
Wenn der Name der Anforderung nicht im untergeordneten Element <Claim> des Elements <AdditionalClaims> angegeben ist, schlägt die Bereitstellung fehl.
|
build |
InvalidNameForAdditionalHeader |
Dieser Fehler tritt auf, wenn der Name der im untergeordneten Element <Claim> des <AdditionalClaims>-Elements verwendeten Anforderung entweder alg oder typ ist.
|
build |
InvalidTypeForAdditionalHeader |
Wenn der im untergeordneten Element <Claim> des <AdditionalClaims>-Elements verwendete Anforderungstyp nicht vom Typ string, number, boolean oder map ist, schlägt die Bereitstellung fehl.
|
build |
InvalidValueOfArrayAttribute |
Dieser Fehler tritt auf, wenn der Wert des Array-Attributs im untergeordneten Element <Claim> des <AdditionalClaims>-Elements nicht auf true oder false festgelegt ist.
|
build |
InvalidConfigurationForActionAndAlgorithm |
Wenn das Element <PrivateKey> mit HS-Family-Algorithmen oder das <SecretKey>-Element mit RSA-Family-Algorithmen verwendet wird, schlägt die Bereitstellung fehl.
|
build |
InvalidValueForElement |
Wenn der im Element <Algorithm> angegebene Wert kein unterstützter Wert ist, schlägt die Bereitstellung fehl.
|
build |
MissingConfigurationElement |
Dieser Fehler tritt auf, wenn das Element <PrivateKey> nicht mit RSA-Familienalgorithmen oder das Element <SecretKey> nicht mit Algorithmen der HS-Familie verwendet wird.
|
build |
InvalidKeyConfiguration |
Wenn das untergeordnete Element <Value> nicht in den Elementen <PrivateKey> oder <SecretKey> definiert ist, schlägt die Bereitstellung fehl.
|
build |
EmptyElementForKeyConfiguration |
Wenn das ref-Attribut des untergeordneten Elements <Value> der Elemente <PrivateKey> oder <SecretKey> leer oder nicht angegeben ist, schlägt die Bereitstellung fehl.
|
build |
InvalidVariableNameForSecret |
Dieser Fehler tritt auf, wenn der im ref-Attribut des untergeordneten Elements <Value> der Elemente <PrivateKey> oder <SecretKey> angegebene Flussvariablenname nicht das private Präfix (private.) enthält.
|
build |
InvalidSecretInConfig |
Dieser Fehler tritt auf, wenn das untergeordnete Element <Value> der <PrivateKey>- oder <SecretKey>-Elemente nicht das private Präfix (private.) enthält.
|
build |
InvalidTimeFormat |
Wenn der im Element <NotBefore> angegebene Wert kein unterstütztes Format verwendet, schlägt die Bereitstellung fehl.
|
build |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "TokenExpired" |
JWT.failed |
Bei allen JWT-Richtlinien wird im Fall eines Fehlers dieselbe Variable festgelegt. | JWT.failed = true |
Beispiel für eine Fehlerantwort
Bei der Fehlerbehandlung besteht die Best Practice darin, den errorcode-Teil der Fehlerantwort zu beachten. Verlassen Sie sich nicht auf den Text in faultstring. Er kann sich ändern.
Beispiel für eine Fehlerregel
<FaultRules>
<FaultRule name="JWT Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWT.failed=true</Condition>
</FaultRule>
</FaultRules>
JavaCallout-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | Beheben |
|---|---|---|---|
steps.javacallout.ExecutionError |
500 | Tritt auf, wenn der Java-Code während der Ausführung einer JavaCallout-Richtlinie eine Ausnahme auslöst oder Null zurückgibt. | build |
Bereitstellungsfehler
Diese Fehler können bei der Bereitstellung des Proxy mit der Richtlinie auftreten.
| Fehlername | Fehlerstring | HTTP-Status | Tritt auf, wenn Folgendes eintritt |
|---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
– | Die im Element <ResourceURL> angegebene Datei ist nicht vorhanden. |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
– | Die im Element <ClassName> angegebene Klassendatei befindet sich nicht in der JAR-Datei. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
– | Siehe Fehlerstring. Siehe auch Unterstützte Software und unterstützten Versionen. |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
- | Siehe Fehlerstring. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
– | Siehe Fehlerstring. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
– | Siehe Fehlerstring. |
NoResourceForURL |
Could not locate a resource with URL [string] |
– | Siehe Fehlerstring. |
Fehlervariablen
Diese Variablen werden festgelegt, wenn die Richtlinie einen Fehler auslöst. Weitere Informationen finden sich unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | javacallout.JC-GetUserData.failed = true |
Beispiel für eine Fehlerantwort
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
Beispiel für eine Fehlerregel
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
JavaScript-Richtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 | The JavaScript policy can throw many different types of ScriptExecutionFailed errors. Commonly seen types of errors include RangeError, ReferenceError, SyntaxError, TypeError, and URIError. | build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 | An error occurred in the JavaScript code. See the fault string for details. | N/A |
steps.javascript.ScriptSecurityError |
500 | A security error occurred when the JavaScript executed. See the fault string for details. | N/A |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidResourceUrlFormat |
If the format of the resource URL specified within the <ResourceURL> or the <IncludeURL> element of the JavaScript policy is invalid, then the deployment of the API proxy fails. |
build |
InvalidResourceUrlReference |
If the <ResourceURL> or the <IncludeURL> elements
refer to a JavaScript file that does not exist, then the deployment of the API proxy fails.
The referenced source file must exist either the API proxy, environment, or organization level. |
build |
WrongResourceType |
This error occurs during deployment if the <ResourceURL> or the <IncludeURL>
elements of the JavaScript policy refer to any resource type other than jsc (JavaScript file). |
build |
NoResourceURLOrSource |
The deployment of the JavaScript policy can fail with this error if the <ResourceURL>
element is not declared or if the resource URL is not defined within this element.
<ResourceURL> element is a mandatory element. Or, The <IncludeURL> element is declared
but the resource URL is not defined within this element. The <IncludeURL> element is optional
but if declared, the resource URL must be specified within the <IncludeURL> element. |
build |
Fault variables
These variables are set when this policy triggers an error at runtime. For more information, see What you need to know about policy errors.
| Variables | Where | Example |
|---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | javascript.JavaScript-1.failed = true |
Example error response
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Example fault rule
<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-Richtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 | The JSONThreatProtection policy can throw many different types of ExecutionFailed errors. Most of these errors occur when a specific threshold set in the policy is exceeded. These types of errors include: object entry name length, object entry count, array element count, container depth, string string value length. This error also occurs when the payload contains an invalid JSON object. | build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
This error occurs if the message
variable specified in the <Source> element is either:
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
This error occurs if the <Source> element is set to a variable which
is not of type
message.
|
build |
Deployment errors
None.
Fault variables
These variables are set when this policy triggers an error. For more information, see What you need to know about policy errors.
| Variables | Where | Example |
|---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | jsonattack.JTP-SecureRequest.failed = true |
Example error response
{
"fault": {
"faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2",
"detail": {
"errorcode": "steps.jsonthreatprotection.ExecutionFailed"
}
}
}Example fault rule
<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>
Die JSONThreatProtection-Richtlinientypen definieren folgende Fehlercodes:
JSONtoXML-Richtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 | The input payload (JSON) is empty or the input (JSON) passed to JSON to XML policy is invalid or malformed. | build |
steps.jsontoxml.InCompatibleTypes |
500 | This error occurs if the type of the variable defined in the <Source> element and
the <OutputVariable> element are not the same. It is mandatory that the type of the
variables contained within the <Source> element and the <OutputVariable> element
matches. The valid types are message and string. |
build |
steps.jsontoxml.InvalidSourceType |
500 | This error occurs if the type of the variable used to define the <Source> element
is invalid. The valid types of variable are message and string. |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 | This error occurs if the variable specified in the <Source> element of the JSON to
XML Policy is of type string and the <OutputVariable> element is not defined.
The <OutputVariable> element is mandatory when the variable defined in the <Source>
element is of type string. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
This error occurs if the message
variable specified in the <Source> element of the JSON to XML policy is either:
|
build |
Deployment errors
None.
Fault variables
These variables are set when a runtime error occurs. For more information, see What you need to know about policy errors.
| Variables | Where | Example |
|---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | jsontoxml.JSON-to-XML-1.failed = true |
Example error response
{
"fault": {
"faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available",
"detail": {
"errorcode": "steps.json2xml.SourceUnavailable"
}
}
}Example fault rule
<FaultRule name="JSON To XML Faults">
<Step>
<Name>AM-SourceUnavailableMessage</Name>
<Condition>(fault.name Matches "SourceUnavailable") </Condition>
</Step>
<Step>
<Name>AM-BadJSON</Name>
<Condition>(fault.name = "ExecutionFailed")</Condition>
</Step>
<Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition>
</FaultRule>KeyValueMapOperations-Richtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
steps.keyvaluemapoperations.SetVariableFailed |
500 |
This error occurs if you try to retrieve a value from an encrypted key value map and set
the value to a variable whose name does not have the prefix |
build |
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
This error occurs if the |
build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidIndex |
If the index attribute specified in the <Get> element of Key Value Map Operations policy is
zero or a negative number, then the deployment of the API proxy fails. The index starts from
1, so an index of zero or negative integer is considered as invalid.
|
build |
KeyIsMissing |
This error occurs if the <Key> element is completely missing or <Parameter> element is
missing within <Key> element underneath the <Entry> of the <InitialEntries> element
of the Key Value Map Operations policy.
|
build |
ValueIsMissing |
This error occurs if the <Value> element is missing underneath the <Entry> element of
the <InitialEntries> element of the Key Value Map Operations policy. |
build |
LDAP-Richtlinie
Für diese Richtlinie werden die folgenden Fehlercodes verwendet:
| Fehlercode | die Botschaft und |
|---|---|
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-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache |
|---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | Siehe Fehlerstring. |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
| Fehlername | Ursache | Beheben |
|---|---|---|
InvalidProtocol |
Die Bereitstellung der <Protocol>MessageLogging-Richtlinie kann mit diesem Fehler fehlschlagen, wenn das im -Element angegebene Protokoll nicht gültig ist. Gültige Protokolle sind TCP und UDP.
Zum Senden von Syslog-Nachrichten über TLS/SSL wird nur TCP unterstützt. |
build |
InvalidPort |
Die Bereitstellung der MessageLogging-Richtlinie kann mit diesem Fehler fehlschlagen, wenn die Portnummer nicht im Element <Port> angegeben oder ungültig ist. Die Portnummer muss eine Ganzzahl größer als null sein. |
build |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | messagelogging.ML-LogMessages.failed = true |
Beispiel für eine Fehlerantwort
{
"fault":{
"detail":{
"errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
},
"faultstring":"Execution failed"
}
}Beispiel für eine Fehlerregel
<FaultRule name="MessageLogging">
<Step>
<Name>ML-LogMessages</Name>
<Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
</Step>
<Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>OASValidation-Richtlinie
In diesem Abschnitt werden die Fehlercodes und Fehlermeldungen beschrieben, die zurückgegeben werden, sowie die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | |
|---|---|---|---|
steps.oasvalidation.Failed |
500 | Der Text der Anfragenachricht kann nicht mit der bereitgestellten OpenAPI-Spezifikation validiert werden. | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
Die im Element |
|
steps.oasvalidation.NotMessageVariable |
500 |
Für das |
build |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.
| Fehlername | Ursache | |
|---|---|---|
ResourceDoesNotExist |
Die OpenAPI-Spezifikation, auf die im Element <OASResource> verwiesen wird, ist nicht vorhanden.
|
|
ResourceCompileFailed |
Die in der Bereitstellung enthaltene OpenAPI-Spezifikation enthält Fehler, die verhindern, dass sie kompiliert werden. Dies weist im Allgemeinen darauf hin, dass die Spezifikation keine korrekt formatierte OpenAPI-Spezifikation 3.0 darstellt. | |
BadResourceURL |
Die im Element <OASResource> angegebene OpenAPI-Spezifikation kann nicht verarbeitet werden. Dieser Fehler kann auftreten, wenn die Datei keine JSON- oder YAML-Datei ist oder die Datei-URL nicht korrekt angegeben wurde.
|
Fehlervariablen
Diese Variablen werden festgelegt, wenn diese Richtlinie zur Laufzeit einen Fehler auslöst. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | oasvalidation.myoaspolicy.failed = true |
PopulateCache-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Tritt auf, wenn Folgendes eintritt |
|---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | Ein Eintrag kann nicht im Cache gespeichert werden. Das zwischengespeicherte Nachrichtenobjekt ist keine Instanz eines die serialisierbar ist. |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
| Fehlername | Ursache | Beheben |
|---|---|---|
InvalidCacheResourceReference |
Dieser Fehler tritt auf, wenn das <CacheResource>-Element in der fillCache-Richtlinie auf
einen Namen, der in der Umgebung, in der der API-Proxy bereitgestellt wird, nicht vorhanden ist. |
build |
CacheNotFound |
Der im Element <CacheResource> angegebene Cache ist nicht vorhanden. |
build |
Fehlervariablen
Diese Variablen werden festgelegt, wenn die Richtlinie einen Fehler auslöst. Weitere Informationen finden sich unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | populatecache.POP-CACHE-1.failed = true |
Beispiel für eine Fehlerantwort
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Beispiel für eine Fehlerregel
<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-Richtlinie
In diesem Abschnitt werden die Fehlermeldungen und Ablaufvariablen beschrieben, die festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Dieses Informationen sind wichtig, wenn Sie Fehlerregeln für einen Proxy entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Fehlercode-Präfix
–
Laufzeitfehler
Diese Richtlinie gibt keine Laufzeitfehler aus.
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
| Fehlername | Ursache | Problembehebung |
|---|---|---|
InvalidCacheResourceReference |
Dieser Fehler tritt auf, wenn für das <CacheResource>-Element ein Name festgelegt ist, der in der Umgebung, in der der API-Proxy bereitgestellt wird, nicht vorhanden ist. |
build |
InvalidTimeout |
Wenn das <CacheLookupTimeoutInSeconds>-Element auf eine negative Zahl eingestellt ist, schlägt die Bereitstellung des API-Proxys fehl. |
build |
CacheNotFound |
Dieser Fehler tritt auf, wenn der in der Fehlermeldung erwähnte Cache nicht auf einer bestimmten Message Processor-Komponente erstellt wurde. | build |
Fehlervariablen
–
Beispiel für eine Fehlerantwort
–
InvalidateCache-Richtlinie
In diesem Abschnitt werden die Fehlermeldungen und Ablaufvariablen beschrieben, die festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Dieses Informationen sind wichtig, wenn Sie Fehlerregeln für einen Proxy entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Fehlercode-Präfix
–
Laufzeitfehler
Diese Richtlinie gibt keine Laufzeitfehler aus.
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
| Fehlername | Ursache | Beheben |
|---|---|---|
InvalidCacheResourceReference |
Dieser Fehler tritt auf, wenn für das Element <CacheResource> in der InvalidCache-Richtlinie ein Name festgelegt ist, der in der Umgebung, in der der API-Proxy bereitgestellt wird, nicht vorhanden ist. |
build |
CacheNotFound |
Dieser Fehler tritt auf, wenn der in der Fehlermeldung erwähnte Cache nicht auf einer bestimmten Message Processor-Komponente erstellt wurde. | build |
Fehlervariablen
–
Beispiel für eine Fehlerantwort
–
ResponseCache-Richtlinie
In diesem Abschnitt werden die Fehlermeldungen und Ablaufvariablen beschrieben, die festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Dieses Informationen sind wichtig, wenn Sie Fehlerregeln für einen Proxy entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Fehlercode-Präfix
–
Laufzeitfehler
Diese Richtlinie gibt keine Laufzeitfehler aus.
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
| Fehlername | Ursache | Problembehebung |
|---|---|---|
InvalidTimeout |
Wenn das Element <CacheLookupTimeoutInSeconds> einer ResponseCache-Richtlinie auf eine negative Zahl gesetzt ist, schlägt das Deployment des API-Proxys fehl. |
build |
InvalidCacheResourceReference |
Dieser Fehler tritt auf, wenn für das Element <CacheResource> in der ResponseCache-Richtlinie ein Name angegeben ist, der in der Umgebung, in der der API-Proxy bereitgestellt wird, nicht vorhanden ist. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Dieser Fehler tritt auf, wenn dieselbe ResponseCache-Richtlinie an mehrere Anfragepfade innerhalb eines Ablaufs eines API-Proxys angehängt wird. | build |
ResponseCacheStepAttachmentNotAllowedResp |
Dieser Fehler tritt auf, wenn dieselbe ResponseCache-Richtlinie an mehrere Antwortpfade innerhalb eines Ablaufs eines API-Proxys angehängt wird. | build |
InvalidMessagePatternForErrorCode |
Dieser Fehler tritt auf, wenn das Element <SkipCacheLookup> oder <SkipCachePopulation> in einer ResponseCache-Richtlinie eine ungültige Bedingung enthält. |
build |
CacheNotFound |
Dieser Fehler tritt auf, wenn der in der Fehlermeldung erwähnte Cache nicht auf einer bestimmten Message Processor-Komponente erstellt wurde. | build |
Fehlervariablen
–
Beispiel für eine Fehlerantwort
–
OAuthV2-Richtlinie
In diesem Abschnitt werden die zurückgegebenen Fehlercodes und Fehlermeldungen beschrieben, die von Edge festgelegt werden, wenn die Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | Wird nach Vorgängen ausgelöst |
|---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | Das Zugriffstoken ist abgelaufen. |
VerifyAccessToken |
steps.oauth.v2.access_token_not_approved |
401 | Das Zugriffstoken wurde widerrufen. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 | Die angeforderte Ressource existiert nicht für die mit dem Zugriffstoken verknüpften API-Produkte. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 | Die Richtlinie, die in einer im Element <AccessToken> angegebenen Variablen nach einem Zugriffstoken suchen, konnte aber die Variable nicht auflösen. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 | Die Richtlinie erwartete einen Autorisierungscode in einer Variablen, die im Element <Code> angegeben ist, die Variable konnte jedoch nicht aufgelöst werden. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 | Die Richtlinie, die die Client-ID in einer im Element <ClientId> angegebenen Variable finden muss, konnte aber nicht aufgelöst werden. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplictGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 | Die Richtlinie, von der ein Aktualisierungstoken in einer im <RefreshToken>-Element angegebenen Variablen gefunden wird, konnte aber nicht aufgelöst werden. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 | Die Richtlinie, von der ein Token in einer im <Tokens>-Element angegebenen Variable erwartet wird, konnte aber nicht aufgelöst werden. |
ValidateToken |
steps.oauth.v2.InsufficientScope |
403 | Der in der Anfrage enthaltene Zugriffstoken hat einen Bereich, der nicht mit dem in der Richtlinie des Zugriffs-Token angegebenen Bereichs übereinstimmt. Weitere Informationen zum Umfang finden Sie unter Mit OAuth2-Bereichen arbeiten. | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 | Das vom Client gesendete Zugriffstoken ist ungültig. | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
Dieser Fehlername wird zurückgegeben, wenn das Attribut Hinweis:Es wird empfohlen, die bestehenden Bedingungen für Fehlerregeln zu ändern, damit die Namen |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.InvalidRequest |
400 | Dieser Fehlername wird für verschiedene Arten von Fehlern verwendet, in der Regel für fehlende oder falsche Parameter, die in der Anfrage gesendet werden. Wenn <GenerateResponse> auf false gesetzt ist, verwenden Sie Fehlervariablen (siehe unten), um Details zum Fehler wie den Fehlernamen und die Ursache abzurufen. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplictGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 | Der Autorisierungs-Header enthält nicht das Wort "Bearer". Beispiel: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
Der API-Proxy befindet sich nicht in dem Produkt, das mit dem Zugriffstoken verknüpft ist. Tipps: Das mit dem Zugriffstoken verknüpfte Produkt muss ordnungsgemäß konfiguriert sein. Wenn Sie in Ressourcenpfaden Platzhalter verwenden, achten Sie darauf, dass die Platzhalter richtig verwendet werden. Weitere Informationen finden Sie unter API-Produkte erstellen. Weitere Informationen zu den Ursachen für diesen Fehler finden Sie in diesem Beitrag der Apigee-Community. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
Dieser Fehlername wird zurückgegeben, wenn das Attribut |
GenerateAccessToken |
steps.oauth.v2.InvalidParameter |
500 | Die Richtlinie muss entweder ein Zugriffstoken oder einen Autorisierungscode angeben, jedoch nicht beides. | GenerateAuthorizationCode GenerateAccessTokenImplictGrant |
steps.oauth.v2.InvalidTokenType |
500 | Für das Element <Tokens>/<Token> müssen Sie den Tokentyp angeben, z. B. refreshtoken. Wenn der Client den falschen Typ übergibt, wird dieser Fehler ausgegeben. |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 | Der Antworttyp lautet token, es sind jedoch keine Angabetypen angegeben. |
GenerateAuthorizationCode GenerateAccessTokenImplictGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
Der Client hat eine Art der Gewährung angegeben, die von der Richtlinie nicht unterstützt wird (nicht im Element <SupportedGrantTypes> aufgeführt). Hinweis: Derzeit gibt es einen Programmfehler, durch den nicht unterstützte Gewährfehler nicht ordnungsgemäß ausgelöst werden. Wenn ein nicht unterstützter Berechtigungstyp auftritt, meldet der Proxy den Fehlerfluss nicht wie erwartet. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplictGrant RefreshAccessToken |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.
| Fehlername | Ursache |
|---|---|
InvalidValueForExpiresIn |
Für das |
InvalidValueForRefreshTokenExpiresIn |
Für das <RefreshTokenExpiresIn>-Element sind gültige Werte positive Ganzzahlen und -1. |
InvalidGrantType |
Im Element <SupportedGrantTypes> ist ein ungültiger Zugriffstyp angegeben. Eine Liste der gültigen Typen finden Sie in der Richtlinienreferenz. |
ExpiresInNotApplicableForOperation |
Die im <Operations>-Element angegebenen Vorgänge müssen ablaufen. Der Vorgang "VerifyToken" beispielsweise nicht. |
RefreshTokenExpiresInNotApplicableForOperation |
Achten Sie darauf, dass die im <Operations>-Element angegebenen Vorgänge das Ablaufdatum des Aktualisierungstokens unterstützen. Der Vorgang "VerifyToken" beispielsweise nicht. |
GrantTypesNotApplicableForOperation |
Achten Sie darauf, dass die in <SupportedGrantTypes> angegebenen Förderungstypen für den angegebenen Vorgang unterstützt werden. |
OperationRequired |
Sie müssen in dieser Richtlinie einen Vorgang mithilfe des Hinweis: Wenn das Element |
InvalidOperation |
Mit dem Element Hinweis: Wenn das Element |
TokenValueRequired |
Sie müssen einen <Token>-Tokenwert im Element <Tokens> angeben. |
Fehlervariablen
Diese Variablen werden festgelegt, wenn diese Richtlinie zur Laufzeit einen Fehler auslöst.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name = "InvalidRequest" |
oauthV2.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | oauthV2.GenerateAccesstoken.fault.name = InvalidRequest
Hinweis: Für den VerifyAccessToken-Vorgang enthält der Fehlername dieses Suffix: |
oauthV2.policy_name.fault.cause |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
Beispiel für eine Fehlerantwort
Diese Antworten werden an den Client zurückgesendet, wenn das Element <GenerateResponse> den Wert true hat.
Wenn <GenerateResponse> true ist, gibt die Richtlinie Fehler in diesem Format für Vorgänge zurück, die Tokens und Codes generieren. Eine vollständige Liste finden Sie in der Referenz zur OAuth-HTTP-Fehlerantwort.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}Wenn <GenerateResponse> true ist, gibt die Richtlinie Fehler in diesem Format zur Überprüfung und Überprüfung zurück. Eine vollständige Liste finden Sie in der Referenz zur OAuth-HTTP-Fehlerantwort.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
Beispiel für eine Fehlerregel
<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-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten. Die unten aufgeführten Fehlernamen sind die Strings, die der Variable fault.name zugewiesen sind, wenn ein Fehler auftritt. Weitere Informationen finden Sie unten im Abschnitt "Fehlervariablen".
| Fehlercode | HTTP-Status | Ursache |
|---|---|---|
steps.oauth.v2.access_token_expired |
500 | Das an die Richtlinie gesendete Zugriffstoken ist abgelaufen. |
steps.oauth.v2.authorization_code_expired |
500 | Der an die Richtlinie gesendete Autorisierungscode ist abgelaufen. |
steps.oauth.v2.invalid_access_token |
500 | Das an die Richtlinie gesendete Zugriffstoken ist ungültig. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 | Die an die Richtlinie gesendete Client-ID ist ungültig. |
steps.oauth.v2.invalid_refresh_token |
500 | Das an die Richtlinie gesendete Aktualisierungstoken ist ungültig. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 | Der an die Richtlinie gesendete Autorisierungscode ist ungültig. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Weitere Informationen zur Fehlerbehebung bei diesem Fehler finden Sie in diesem Apigee Community-Post. |
steps.oauth.v2.refresh_token_expired |
500 | Das an die Richtlinie gesendete Aktualisierungstoken ist abgelaufen. |
Bereitstellungsfehler
Informationen zu Bereitstellungsfehlern finden Sie in der Benutzeroberfläche, die in der Benutzeroberfläche angezeigt wird.
Fehlervariablen
Diese Variablen werden festgelegt, wenn diese Richtlinie zur Laufzeit einen Fehler auslöst.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
Beispiel für eine Fehlerantwort
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
Beispiel für eine Fehlerregel
<FaultRule name="OAuthV2 Faults">
<Step>
<Name>AM-InvalidClientIdResponse</Name>
</Step>
<Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>SetOAuth v2-Informationsrichtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause |
|---|---|---|
steps.oauth.v2.access_token_expired |
500 | The access token sent to the policy is expired. |
steps.oauth.v2.invalid_access_token |
500 | The access token sent to the policy is invalid. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Please see this Apigee Community post for information about troubleshooting this error. |
Deployment errors
Refer to the message reported in the UI for information about deployment errors.
Fault variables
These variables are set when this policy triggers an error at runtime.
| Variables | Where | Example |
|---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
Example error response
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}Example fault rule
<FaultRule name=SetOAuthV2Info Faults">
<Step>
<Name>AM-InvalidTokenResponse</Name>
<Condition>(fault.name = "invalid_access_token")</Condition>
</Step>
<Condition>(oauthV2.failed = true) </Condition>
</FaultRule>DeleteOAuthV2Info-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache |
|---|---|---|
steps.oauth.v2.invalid_access_token |
401 | Das an die Richtlinie gesendete Zugriffstoken ist ungültig. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 | Der an die Richtlinie gesendete Autorisierungscode ist ungültig. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Weitere Informationen zur Fehlerbehebung bei diesem Fehler finden Sie in diesem Apigee Community-Post. |
Bereitstellungsfehler
Informationen zu Bereitstellungsfehlern finden Sie in der Benutzeroberfläche, die in der Benutzeroberfläche angezeigt wird.
Fehlervariablen
Diese Variablen werden festgelegt, wenn diese Richtlinie zur Laufzeit einen Fehler auslöst.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
Beispiel für eine Fehlerantwort
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}Beispiel für eine Fehlerregel
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
<Step>
<Name>AM-InvalidTokenResponse</Name>
</Step>
<Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>OAuthv1.0a-Richtlinie
Der OAuthV1-Richtlinientyp definiert die folgenden Fehlercodes.
Weitere Informationen zu OAuth-bezogenen HTTP-Fehlercodes finden Sie in der Referenz zu OAuth-HTTP-Fehlern.
| Fehlercode | die Botschaft und |
|---|---|
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-Richtlinie
Für die Richtlinie „Get OAuth v1.0a Info“ sind keine Fehlercodes angegeben.
DeleteOAuthV1Info-Richtlinie
Bei Erfolg gibt die Richtlinie den Status 200 zurück.
Bei einem Fehler gibt die Richtlinie 404 zurück und sieht in etwa so aus (je nachdem, Sie ein Zugriffstoken, ein Anforderungs-Token oder einen Prüfer löschen:
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-Richtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 | The PythonScript policy can throw several different types of ScriptExecutionFailed errors. Commonly seen types of errors include NameError and ZeroDivisionError. | build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidResourceUrlFormat |
If the format of the resource URL specified within the <ResourceURL> or
the <IncludeURL> element of the PythonScript policy is invalid, then the deployment of the API proxy fails. |
build |
InvalidResourceUrlReference |
If the <ResourceURL> or the <IncludeURL> elements
refer to a PythonScript file that does not exist, then the deployment of the API proxy fails.
The referenced source file must exist either the API proxy, environment, or organization level. |
build |
Fault variables
These variables are set when this policy triggers an error at runtime. For more information, see What you need to know about policy errors.
| Variables | Where | Example |
|---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | pythonscript.PythonScript-1.failed = true |
Example error response
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
Example fault rule
<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>
Kontingentrichtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | Beheben |
|---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 | Tritt auf, wenn das <Interval>-Element nicht in der Kontingentrichtlinie definiert ist. Dieses Element ist obligatorisch und wird verwendet, um das Zeitintervall anzugeben, das für das Kontingent gilt. Das Zeitintervall
kann Minuten, Stunden, Tage, Wochen oder Monate sein, wie mit dem Element <TimeUnit> definiert. |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | Tritt auf, wenn das <TimeUnit>-Element nicht in der Kontingentrichtlinie definiert ist. Dieses Element ist obligatorisch und wird verwendet, um die Zeiteinheit anzugeben, die für das Kontingent gilt. Das Zeitintervall kann in Minuten, Stunden, Tagen, Wochen oder Monaten angegeben werden. |
build |
policies.ratelimit.InvalidMessageWeight |
500 | Tritt auf, wenn der Wert des <MessageWeight>-Elements, das über eine Ablaufvariable angegeben wird, ungültig ist (ein ganzzahliger Wert). |
build |
policies.ratelimit.QuotaViolation |
500 | Das Kontingentlimit wurde überschritten. | – |
Bereitstellungsfehler
| Fehlername | Ursache | Beheben |
|---|---|---|
InvalidQuotaInterval |
Wenn das im <Interval>-Element angegebene Kontingentintervall keine Ganzzahl ist, schlägt die Bereitstellung des API-Proxys fehl. Wenn das angegebene Kontingentintervall beispielsweise 0,1 im <Interval>-Element lautet, schlägt die Bereitstellung des API-Proxys fehl.
|
build |
InvalidQuotaTimeUnit |
Wenn die im <TimeUnit>-Element angegebene Zeiteinheit nicht unterstützt wird, schlägt die Bereitstellung des API-Proxys fehl. Die unterstützten Zeiteinheiten sind minute, hour, day, week und month.
|
build |
InvalidQuotaType |
Wenn der Typ des Kontingents, das im <Quota>-Attribut des type-Attribut angegeben ist, ungültig ist, dann schlägt die Bereitstellung des API-Proxys fehl. Unterstützte Kontingenttypen sind default, calendar, flexi und rollingwindow.
|
build |
InvalidStartTime |
Wenn das im <StartTime>-Element angegebene Zeitformat ungültig ist, schlägt die Bereitstellung des API-Proxys fehl. Das gültige Format ist yyyy-MM-dd HH:mm:ss, also das Datums- und Uhrzeitformat ISO 8601. Wenn beispielsweise die im <StartTime>-Element angegebene Zeit 7-16-2017 12:00:00 lautet, schlägt die Bereitstellung des API-Proxys fehl.
|
build |
StartTimeNotSupported |
Wenn das <StartTime>-Element angegeben ist, dessen Kontingenttyp nicht calendar ist, schlägt die Bereitstellung des API-Proxys fehl. Das <StartTime>-Element wird nur für den calendar-Kontingenttyp unterstützt. Wenn beispielsweise für das type-Attribut im <Quota>-Element der Wert flexi oder rolling window festgelegt ist, schlägt die Bereitstellung des API-Proxys fehl.
|
build |
InvalidTimeUnitForDistributedQuota |
Ist das <Distributed>-Element auf true und das <TimeUnit>-Element auf second gesetzt, so schlägt die Bereitstellung des API-Proxys fehl. Die Zeiteinheit second ist für verteilte Kontingente unzulässig. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Ist der für das Element <SyncIntervalInSeconds> im Element <AsynchronousConfiguration> in einer Kontingentrichtlinie angegebene Wert kleiner als null, so schlägt die Bereitstellung des API-Proxys fehl. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Ist in einer Kontingentrichtlinie, in der eine asynchrone Konfiguration mithilfe des Elements <AsynchronousConfiguration> vorhanden ist, der Wert des Elements <AsynchronousConfiguration> auf true gesetzt, so schlägt die Bereitstellung des API-Proxys fehl. |
build |
Fehlervariablen
Diese Variablen werden festgelegt, wenn die Richtlinie einen Fehler auslöst. Weitere Informationen finden sich unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | ratelimit.QT-QuotaPolicy.failed = true |
Beispiel für eine Fehlerantwort
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
Beispiel für eine Fehlerregel
<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>ResetQuota-Richtlinie
In diesem Abschnitt werden die Fehlercodes und Fehlermeldungen beschrieben, die zurückgegeben werden, sowie die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | Problembehebung |
|---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | Die im Element <Quota> der Richtlinie „Kontingent zurücksetzen“ angegebene Kontingentrichtlinie ist nicht im API-Proxy definiert und ist daher während des Vorgangs nicht verfügbar. Das Element <Quota> ist obligatorisch und gibt die Zielkontingentrichtlinie an, deren Zähler über die Richtlinie zum Zurücksetzen von Kontingenten aktualisiert werden soll. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
– | Der Verweis auf die Variable mit der zulässigen Anzahl im Element <Allow> der Richtlinie kann nicht in einen Wert aufgelöst werden. Dieses Element ist obligatorisch und gibt den Betrag zur Verringerung des Kontingentzählers an. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | Die Variable, auf die im Attribut ref im Element <Quota> verwiesen wird, kann nicht aufgelöst werden. |
build |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
| Fehlername | Ursache | Problembehebung |
|---|---|---|
InvalidCount |
Wenn der im Element <Allow> der Richtlinie zum Zurücksetzen von Kontingenten angegebene Zählwert keine Ganzzahl ist, schlägt die Bereitstellung des API-Proxys fehl.
|
build |
RaiseFault-Richtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause |
|---|---|---|
steps.raisefault.RaiseFault |
500 | See fault string. |
Deployment errors
None.
Fault variables
These variables are set when a runtime error occurs. For more information, see What you need to know about policy errors.
| Variables | Where | Example |
|---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | raisefault.RF-ThrowError.failed = true |
Example error response
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
RegularExpressionProtection-Richtlinie
In diesem Abschnitt werden die zurückgegebenen Fehlercodes und -meldungen sowie die Fehlervariablen beschrieben, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Wenn Sie einen Fehler erfassen und einen eigenen benutzerdefinierten Fehler erzeugen möchten, legen Sie das Attribut continueOnError="true" für das Richtlinien-Stammelement fest.
Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Von Edge-Richtlinien zurückgegebene Fehler folgen einem einheitlichen Format, wie in der Fehlercode-Referenz beschrieben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | die Botschaft und |
|---|---|
| ExecutionFailed | RegularExpressionProtection-StepDefinition konnte nicht ausgeführt werden {0}. Grund: {1} |
| InstantiationFailed | RegularExpressionProtection-StepDefinition konnte nicht instanziiert werden {0}. |
| NonMessageVariable | Die Variable {0} wird nicht in eine Nachricht aufgelöst. |
| SourceMessageNotAvailable | {0} Nachricht für RegularExpressionProtection-StepDefinition nicht verfügbar {1} |
| ThreatDetected | Threat von regulärem Ausdruck erkannt in {0}: Regex: {1} Eingabe: {2} |
| VariableResolutionFailed | Variable {0} konnte nicht aufgelöst werden |
Bereitstellungsfehler
| Fehlercode | die Botschaft und | Beheben |
|---|---|---|
| CannotBeConvertedToNodeset | RegularExpressionProtection {0}: Ergebnis des xpath {1} kann nicht in einen Knotensatz konvertiert werden. Kontext {2} | build |
| DuplicatePrefix | RegularExpressionProtection {0}: Doppeltes Präfix {1} | build |
| EmptyJSONPathExpression | RegularExpressionProtection {0}: Leerer JSONPath-Ausdruck | build |
| EmptyXPathExpression | RegularExpressionProtection {0}: Leerer XPath-Ausdruck | build |
| InvalidRegularExpression | RegularExpressionProtection {0}: Ungültiger regulärer Ausdruck {1}, Kontext {2} | build |
| JSONPathCompilationFailed | RegularExpressionProtection {0}: JSON-Pfad konnte nicht kompiliert werden {1}. Kontext {2} | build |
| NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection {0}: Ein nicht leeres Präfix {1} kann keinem leeren URI zugewiesen werden. | build |
| NoPatternsToEnforce | RegularExpressionProtection{0}: Keine zu erzwingenden Muster in {1} | build |
| NothingToEnforce | RegularExpressionProtection{0}: Mindestens eines der Elemente URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload ist obligatorisch | build |
| XPathCompilationFailed | RegularExpressionProtection {0}: Xpath konnte nicht kompiliert werden {1}. Kontext {2} | build |
Fehlervariablen
Diese Variablen werden festgelegt, wenn die Richtlinie einen Fehler auslöst. Weitere Informationen finden sich unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, wie in der obigen Tabelle aufgeführt. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
SOAPMessageValidation-Richtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
This error occurs if a variable specified in the
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
This error occurs if the Message type variables represent entire HTTP requests and responses. The built-in Edge
flow variables |
build |
steps.messagevalidation.Failed |
500 | This error occurs if the SOAPMessageValidation policy fails to validate the input message payload against the XSD schema or WSDL definition. It will also occur if there is malformed JSON or XML in the payload message. | build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidResourceType |
The <ResourceURL> element in the SOAPMessageValidation policy is set to a resource type
not supported by the policy.
|
build |
ResourceCompileFailed |
The resource script referenced in the <ResourceURL> element of the SOAPMessageValidation
policy contains an error that prevents it from compiling.
|
build |
RootElementNameUnspecified |
The <Element> element in the SOAPMessageValidation policy does not contain the root
element's name. |
build |
InvalidRootElementName |
The <Element> element in the SOAPMessageValidation policy contains a root element name
that does not adhere to XML rules for valid element naming. |
build |
SAMLAssertion-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden. und Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
| Fehlername | Ursache | Beheben |
|---|---|---|
SourceNotConfigured |
Mindestens eines der folgenden Elemente der Richtlinie "SAML-Assertion validieren" ist nicht definiert oder leer: <Source>, <XPath>, <Namespaces>, <Namespace>. |
build |
TrustStoreNotConfigured |
Wenn das Element <TrustStore> leer oder nicht in der ValidateSAMLAssertion-Richtlinie angegeben ist, schlägt die Bereitstellung des API-Proxys fehl.
Ein gültiger Trust Store ist erforderlich.
|
build |
NullKeyStoreAlias |
Wenn das untergeordnete Element <Alias> leer oder nicht im Element <Keystore> der SAML-Assertion-Richtlinie angegeben ist, schlägt die Bereitstellung des API-Proxys fehl. Ein gültiger Keystore-Alias ist erforderlich.
|
build |
NullKeyStore |
Wenn das untergeordnete Element <Name> leer oder im Element <Keystore> der GenerateSAMLAssertion-Richtlinie nicht angegeben ist, schlägt die Bereitstellung des API-Proxys fehl. Ein gültiger Keystore-Name ist erforderlich.
|
build |
NullIssuer |
Wenn das Element <Issuer> leer oder nicht in der Richtlinie "SAML-Assertion generieren" angegeben ist, schlägt die Bereitstellung des API-Proxys fehl. Bitte geben Sie einen gültigen <Issuer>-Wert ein.
|
build |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
Bei einer validierten SAML-Assertion-Richtlinienkonfiguration lautet das Fehlerpräfix ValidateSAMLAssertion. |
GenerateSAMLAssertion.failed = true |
Beispiel für eine Fehlerantwort
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Beispiel für eine Fehlerregel
<FaultRules>
<FaultRule name="invalid_saml_rule">
<Step>
<Name>invalid-saml</Name>
</Step>
<Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
</FaultRule>
</FaultRules>ServiceCallout-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | Beheben |
|---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Dieser Fehler kann in folgenden Fällen auftreten:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | Die in der Richtlinie angegebene Anfragevariable hat nicht den Typ „Nachricht“. Wenn es sich beispielsweise um einen String oder einen anderen Nachrichtentyp handelt, wird kein Fehler angezeigt. | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | Die in der Richtlinie angegebene Anfragevariable hat nicht den Typ „Anfragenachricht“. Wenn es sich beispielsweise um einen Antworttyp handelt, wird dieser Fehler angezeigt. | build |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.
| Fehlername | Ursache | Korrigieren |
|---|---|---|
URLMissing |
Das <URL>-Element in <HTTPTargetConnection> fehlt oder ist leer. |
build |
ConnectionInfoMissing |
Dieser Fehler tritt auf, wenn die Richtlinie kein <HTTPTargetConnection>- oder <LocalTargetConnection>-Element enthält. |
build |
InvalidTimeoutValue |
Dieser Fehler tritt auf, wenn der Wert von <Timeout> negativ oder null ist. |
build |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | servicecallout.SC-GetUserData.failed = true |
Beispiel für eine Fehlerantwort
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Beispiel für eine Fehlerregel
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType">
<Step>
<Name>AM-RequestVariableNotMessageType</Name>
</Step>
<Condition>(fault.name = "RequestVariableNotMessageType")</Condition>
</FaultRule>SpikeArrest-Richtlinie
Dieser Abschnitt beschreibt die zurückgegebenen Fehlercodes und Fehlermeldungen sowie die Fehlervariablen die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | Korrigieren |
|---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
Dieser Fehler tritt auf, wenn der Verweis auf die Variable mit der Preiseinstellung
im Element <Rate> kann nicht in einen Wert innerhalb des Spike Arrest aufgelöst werden
. Dieses Element ist obligatorisch und wird verwendet, um die Spike Arrestrate in
Format intpm oder intps. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Dieser Fehler tritt auf, wenn der für das Element <MessageWeight> angegebene Wert über eine Ablaufvariable ungültig ist (ein nicht ganzzahliger Wert). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
Die Ratenbegrenzung wurde überschritten. <ph type="x-smartling-placeholder"> |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.
| Fehlername | Ursache | Korrigieren |
|---|---|---|
InvalidAllowedRate |
Wenn die Spike Arrest-Rate im Element <Rate> der Spike Arrest-Richtlinie keine Ganzzahl ist oder die Rate weder ps noch pm als Suffix enthält, schlägt die Bereitstellung des API-Proxys fehl. |
build |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | ratelimit.SA-SpikeArrestPolicy.failed = true |
Beispiel für eine Fehlerantwort
Im Folgenden sehen Sie ein Beispiel für eine Fehlerantwort:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
Beispiel für eine Fehlerregel
Unten sehen Sie ein Beispiel für eine Fehlerregel zum Verarbeiten eines SpikeArrestViolation-Fehlers:
<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>StatisticsCollector-Richtlinie
In diesem Abschnitt werden die Fehlermeldungen und Ablaufvariablen beschrieben, die festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Dieses Informationen sind wichtig, wenn Sie Fehlerregeln für einen Proxy entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
–
Bereitstellungsfehler
| Fehlername | Ursache | Korrigieren |
|---|---|---|
UnsupportedDatatype |
Wird der Typ der Variablen, die durch das Attribut „ref“ im <Statistic>-Element der Statistics Collector-Richtlinie festgelegt wurde, nicht unterstützt, so schlägt die Bereitstellung des API-Proxys fehl. Unterstützte Datentypen sind string, integer, float, long, double und boolean. |
build |
InvalidName |
Wenn der Name, der für den Verweis auf die angegebene, im <Statistic>-Element der Statistics Collector-Richtlinie definierte Variable verwendet wird, mit einer systemdefinierten Variable in Konflikt steht, so schlägt die Bereitstellung des API-Proxys fehl. Zu den bekannten systemdefinierten Variablen zählen organization und environment. |
build |
DatatypeMissing |
Fehlt der Typ der Variablen, die durch das Attribut ref im <Statistic>-Element der Statistics Collector-Richtlinie angegeben wurde, schlägt die Bereitstellung des API-Proxys fehl. |
build |
Fehlervariablen
Keine.
VerifyAPIKey-Richtlinie
In diesem Abschnitt werden die zurückgegebenen Fehlercodes und Fehlermeldungen beschrieben, die von Edge festgelegt werden, wenn die Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache |
|---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | Das Unternehmen, das mit der Entwickler-App verknüpft ist, die den verwendeten API-Schlüssel besitzt, hat den Status „Inaktiv“. Wenn der Status eines Unternehmens auf „Inaktiv“ gesetzt ist, können Sie nicht auf die mit diesem Unternehmen verknüpften Entwickler oder Apps zugreifen. Ein Organisationsadministrator kann den Status eines Unternehmens mithilfe der Management API ändern. Weitere Informationen finden Sie unter Status eines Unternehmens festlegen. |
keymanagement.service.DeveloperStatusNotActive |
401 |
Der Entwickler, der die den verwendeten API-Schlüssel besitzende Entwickler-App erstellt hat, hat den Status "Inaktiv". Wird der Status eines App-Entwicklers auf "Inaktiv" gesetzt, werden alle von diesem Entwickler erstellten Entwickler-Apps deaktiviert. Ein Administrator mit entsprechenden Berechtigungen (z. B. ein Organisationsadministrator) kann den Status eines Entwicklers auf folgende Weise ändern:
|
keymanagement.service.invalid_client-app_not_approved |
401 | Die mit dem API-Schlüssel verknüpfte Entwickler-App wird widerrufen. Eine aufgehobene Anwendung kann nicht auf API-Produkte zugreifen und keine von Apigee Edge verwaltete API aufrufen. Ein Organisationsadministrator kann den Status einer Entwickleranwendung mithilfe der Management API ändern. Weitere Informationen finden Sie unter Entwickler-App genehmigen oder widerrufen. |
oauth.v2.FailedToResolveAPIKey |
401 | Die Richtlinie erwartet, den API-Schlüssel in einer im <APIKey>-Element der Richtlinie angegebenen Variablen zu finden. Dieser Fehler tritt auf, wenn die erwartete Variable nicht existiert (die Aufgabe kann nicht aufgelöst werden). |
oauth.v2.InvalidApiKey |
401 | Ein API-Schlüssel wurde von Edge empfangen, ist aber ungültig. Wenn Edge den Schlüssel in seiner Datenbank sucht, muss er exakt mit dem übereinstimmen, der in der Anfrage gesendet wurde. Wenn die API funktioniert hat, sorgen Sie dafür, dass der Schlüssel nicht neu generiert wurde. Wenn der Schlüssel neu generiert wurde, wird diese Fehlermeldung angezeigt, wenn Sie versuchen, den alten Schlüssel zu verwenden. Weitere Informationen finden Sie unter Apps registrieren und API-Schlüssel verwalten. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Ein API-Schlüssel wurde von Edge empfangen und ist gültig; er stimmt jedoch mit keinem genehmigten Schlüssel in der Entwickler-App überein, die über ein Produkt mit Ihrem API-Proxy verknüpft ist. |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.
| Fehlername | Ursache |
|---|---|
SpecifyValueOrRefApiKey |
Für das Element <APIKey> wurde kein Wert oder Schlüssel angegeben. |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | oauthV2.VK-VerifyAPIKey.failed = true |
Beispiele für Fehlerantworten
{
"fault":{
"faultstring":"Invalid ApiKey",
"detail":{
"errorcode":"oauth.v2.InvalidApiKey"
}
}
}{
"fault":{
"detail":{
"errorcode":"keymanagement.service.DeveloperStatusNotActive"
},
"faultstring":"Developer Status is not Active"
}
}Beispiel für eine Fehlerregel
<FaultRule name="FailedToResolveAPIKey">
<Step>
<Name>AM-FailedToResolveAPIKey</Name>
</Step>
<Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition>
</FaultRule>VerifyJWS-Richtlinie
In diesem Abschnitt werden die Fehlercodes und Fehlermeldungen beschrieben, die zurückgegeben werden, sowie die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Tritt auf, wenn Folgendes eintritt |
|---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 | Tritt auf, wenn die Prüfungsrichtlinie mehrere Algorithmen nutzt. |
steps.jws.AlgorithmMismatch |
401 | Der im Header der Richtlinie „Generate“ angegebene Algorithmus stimmte nicht mit dem in der Richtlinie „Verify“ erwarteten Wert überein. Die angegebenen Algorithmen müssen übereinstimmen. |
steps.jws.ContentIsNotDetached |
401 | <DetachedContent> wird angegeben, wenn das JWS keine getrennte Inhaltsnutzlast enthält. |
steps.jws.FailedToDecode |
401 | Die JWS konnte aufgrund der Richtlinie nicht entschlüsselt werden. Die JWS ist möglicherweise beschädigt. |
steps.jws.InsufficientKeyLength |
401 | Für Schlüssel mit weniger als 32 Byte für den HS256-Algorithmus |
steps.jws.InvalidClaim |
401 | Bei einem fehlenden Anspruch oder nicht übereinstimmenden Ansprüchen oder einem fehlenden Header oder Header. |
steps.jws.InvalidCurve |
401 | Die vom Schlüssel angegebene Kurve ist für den Elliptic-Curve-Algorithmus ungültig. |
steps.jws.InvalidJsonFormat |
401 | Ungültige JSON-Datei im JWS-Header |
steps.jws.InvalidJws |
401 | Dieser Fehler tritt auf, wenn die JWS-Signaturprüfung fehlschlägt. |
steps.jws.InvalidPayload |
401 | Die JWS-Nutzlast ist ungültig. |
steps.jws.InvalidSignature |
401 | <DetachedContent> wird weggelassen und das JWS hat eine separate Inhaltsnutzlast. |
steps.jws.KeyIdMissing |
401 | Die Überprüfungsrichtlinie verwendet eine JWKS als Quelle für öffentliche Schlüssel. Die signierte JWS enthält jedoch keine kid-Property im Header. |
steps.jws.KeyParsingFailed |
401 | Der öffentliche Schlüssel konnte anhand der angegebenen Schlüsselinformationen nicht geparst werden. |
steps.jws.MissingPayload |
401 | Die JWS-Nutzlast fehlt. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Tritt auf, wenn der JWS den Algorithmusheader weglässt. |
steps.jws.NoMatchingPublicKey |
401 | Die Verifizierungsrichtlinie verwendet einen JWKS als Quelle für öffentliche Schlüssel, aber kid im signierten JWS ist nicht in JWKS aufgeführt. |
steps.jws.UnhandledCriticalHeader |
401 | Ein Header, der von der JWS-Richtlinie im Header crit gefunden wurde, ist nicht in KnownHeaders aufgeführt. |
steps.jws.UnknownException |
401 | Es ist eine unbekannte Ausnahme aufgetreten. |
steps.jws.WrongKeyType |
401 | Falscher Schlüsseltyp angegeben. Wenn Sie beispielsweise einen RSA-Schlüssel für einen Elliptic Curve-Algorithmus oder einen Kurvenschlüssel für einen RSA-Algorithmus angeben. |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.
| Fehlername | Tritt auf, wenn Folgendes eintritt |
|---|---|
InvalidAlgorithm |
Die einzigen gültigen Werte sind: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
|
Andere mögliche Bereitstellungsfehler. |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "TokenExpired" |
JWS.failed |
Bei allen JWT-Richtlinien wird im Fall eines Fehlers dieselbe Variable festgelegt. | jws.JWS-Policy.failed = true |
Beispiel für eine Fehlerantwort
Bei der Fehlerbehandlung besteht die Best Practice darin, den errorcode-Teil der Fehlerantwort zu beachten. Verlassen Sie sich nicht auf den Text in faultstring. Er kann sich ändern.
Beispiel für eine Fehlerregel
<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>VerifyJWT-Richtlinie
In diesem Abschnitt werden die Fehlercodes und Fehlermeldungen beschrieben, die zurückgegeben werden, sowie die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Tritt auf, wenn Folgendes eintritt |
|---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | Tritt auf, wenn die Prüfungsrichtlinie mehrere Algorithmen nutzt. |
steps.jwt.AlgorithmMismatch |
401 | Der in der Generierungsrichtlinie angegebene Algorithmus stimmte nicht mit dem in der Verifizierungsrichtlinie erwarteten Algorithmus überein. Die angegebenen Algorithmen müssen übereinstimmen. |
steps.jwt.FailedToDecode |
401 | Die Richtlinie konnte das JWT nicht decodieren. Das JWT ist möglicherweise beschädigt. |
steps.jwt.GenerationFailed |
401 | Die Richtlinie konnte das JWT nicht generieren. |
steps.jwt.InsufficientKeyLength |
401 | Für einen Schlüssel mit weniger als 32 Byte beim HS256-Algorithmus, weniger als 48 Byte beim HS386 Algorithmus und weniger als 64 Byte beim HS512-Algorithmus. |
steps.jwt.InvalidClaim |
401 | Bei einem fehlenden Anspruch oder nicht übereinstimmenden Ansprüchen oder einem fehlenden Header oder Header. |
steps.jwt.InvalidCurve |
401 | Die vom Schlüssel angegebene Kurve ist für den Elliptic-Curve-Algorithmus ungültig. |
steps.jwt.InvalidJsonFormat |
401 | Ungültiger JSON-Code im Header oder der Nutzlast gefunden. |
steps.jwt.InvalidToken |
401 | Dieser Fehler tritt auf, wenn die JWT-Signaturprüfung fehlschlägt. |
steps.jwt.JwtAudienceMismatch |
401 | Der Zielgruppenanspruch ist bei der Tokenprüfung fehlgeschlagen. |
steps.jwt.JwtIssuerMismatch |
401 | Der Ausstelleranspruch ist bei der Tokenprüfung fehlgeschlagen. |
steps.jwt.JwtSubjectMismatch |
401 | Der Betreffanspruch ist bei der Tokenprüfung fehlgeschlagen. |
steps.jwt.KeyIdMissing |
401 | Die Verifizierungsrichtlinie verwendet einen JWKS als Quelle für öffentliche Schlüssel, das signierte JWT enthält jedoch kein kid-Attribut im Header. |
steps.jwt.KeyParsingFailed |
401 | Der öffentliche Schlüssel konnte anhand der angegebenen Schlüsselinformationen nicht geparst werden. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Tritt auf, wenn das JWT keinen Algorithmus-Header enthält. |
steps.jwt.NoMatchingPublicKey |
401 | Die Verifizierungsrichtlinie verwendet einen JWKS als Quelle für öffentliche Schlüssel, aber kid im signierten JWT ist nicht in JWKS aufgeführt. |
steps.jwt.SigningFailed |
401 | In GenerateJWT, für Schlüssel, die kleiner als die Mindestgröße für den HS384- oder HS512-Algorithmus sind |
steps.jwt.TokenExpired |
401 | Die Richtlinie versucht, ein abgelaufenes Token zu bestätigen. |
steps.jwt.TokenNotYetValid |
401 | Das Token ist noch nicht gültig. |
steps.jwt.UnhandledCriticalHeader |
401 | Ein Header, der von der JWT-Richtlinie im Header crit gefunden wurde, ist nicht in KnownHeaders aufgeführt. |
steps.jwt.UnknownException |
401 | Es ist eine unbekannte Ausnahme aufgetreten. |
steps.jwt.WrongKeyType |
401 | Falscher Schlüsseltyp angegeben. Wenn Sie beispielsweise einen RSA-Schlüssel für einen Elliptic Curve-Algorithmus oder einen Kurvenschlüssel für einen RSA-Algorithmus angeben. |
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
| Fehlername | Ursache | Problembehebung |
|---|---|---|
InvalidNameForAdditionalClaim |
Die Bereitstellung schlägt fehl, wenn die im untergeordneten Element <Claim> des Elements <AdditionalClaims> verwendete Anforderung einer der folgenden registrierten Namen ist: kid, iss, sub, aud, iat, exp, nbf oder jti.
|
build |
InvalidTypeForAdditionalClaim |
Wenn die im untergeordneten Element <Claim> des <AdditionalClaims>-Elements verwendete Anforderung nicht vom Typ string, number, boolean oder map ist, schlägt die Bereitstellung fehl.
|
build |
MissingNameForAdditionalClaim |
Wenn der Name der Anforderung nicht im untergeordneten Element <Claim> des Elements <AdditionalClaims> angegeben ist, schlägt die Bereitstellung fehl.
|
build |
InvalidNameForAdditionalHeader |
Dieser Fehler tritt auf, wenn der Name der im untergeordneten Element <Claim> des <AdditionalClaims>-Elements verwendeten Anforderung entweder alg oder typ ist.
|
build |
InvalidTypeForAdditionalHeader |
Wenn der im untergeordneten Element <Claim> des <AdditionalClaims>-Elements verwendete Anforderungstyp nicht vom Typ string, number, boolean oder map ist, schlägt die Bereitstellung fehl.
|
build |
InvalidValueOfArrayAttribute |
Dieser Fehler tritt auf, wenn der Wert des Array-Attributs im untergeordneten Element <Claim> des <AdditionalClaims>-Elements nicht auf true oder false festgelegt ist.
|
build |
InvalidValueForElement |
Wenn der im Element <Algorithm> angegebene Wert kein unterstützter Wert ist, schlägt die Bereitstellung fehl.
|
build |
MissingConfigurationElement |
Dieser Fehler tritt auf, wenn das Element <PrivateKey> nicht mit RSA-Familienalgorithmen oder das Element <SecretKey> nicht mit Algorithmen der HS-Familie verwendet wird.
|
build |
InvalidKeyConfiguration |
Wenn das untergeordnete Element <Value> nicht in den Elementen <PrivateKey> oder <SecretKey> definiert ist, schlägt die Bereitstellung fehl.
|
build |
EmptyElementForKeyConfiguration |
Wenn das ref-Attribut des untergeordneten Elements <Value> der Elemente <PrivateKey> oder <SecretKey> leer oder nicht angegeben ist, schlägt die Bereitstellung fehl.
|
build |
InvalidConfigurationForVerify |
Dieser Fehler tritt auf, wenn das Element <Id> im Element <SecretKey> definiert ist.
|
build |
InvalidEmptyElement |
Dieser Fehler tritt auf, wenn das <Source>-Element der Verify JWT-Richtlinie leer ist. Falls vorhanden, muss sie mit einem Edge-Flow-Variablennamen definiert werden.
|
build |
InvalidPublicKeyValue |
Wenn der im untergeordneten Element <JWKS> des Elements <PublicKey> verwendete Wert kein gültiges in RFC 7517 angegebenes Format hat, schlägt die Bereitstellung fehl.
|
build |
InvalidConfigurationForActionAndAlgorithm |
Wenn das Element <PrivateKey> mit HS-Family-Algorithmen oder das <SecretKey>-Element mit RSA-Family-Algorithmen verwendet wird, schlägt die Bereitstellung fehl.
|
build |
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "TokenExpired" |
JWT.failed |
Bei allen JWT-Richtlinien wird im Fall eines Fehlers dieselbe Variable festgelegt. | JWT.failed = true |
Beispiel für eine Fehlerantwort
Bei der Fehlerbehandlung besteht die Best Practice darin, den errorcode-Teil der Fehlerantwort zu beachten. Verlassen Sie sich nicht auf den Text in faultstring. Er kann sich ändern.
Beispiel für eine Fehlerregel
<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-Richtlinie
Dieser Abschnitt beschreibt die Fehlercodes und Fehlermeldungen, die zurückgegeben werden, und die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
| Fehlercode | HTTP-Status | Ursache | Beheben |
|---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 | Die XMLThreatProtection-Richtlinie kann viele verschiedene Arten von ExecutionFailed-Fehlern auslösen. Die meisten dieser Fehler treten auf, wenn ein bestimmter Schwellenwert in der Richtlinie überschritten wird. Zu diesen Arten von Fehlern gehören: Länge des Elementnamens, Anzahl der untergeordneten Elemente, Knotentiefe, Anzahl der Attribute, Länge des Attributnamens und viele weitere. Die vollständige Liste finden Sie unter XML-Richtlinie zum Schutz vor Bedrohungen – Fehlerbehebung. | build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 | Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die durch das Element <Source> der XMLThreatProtection-Richtlinie angegeben wurde, kein gültiges XML-Dokument ist. |
build |
steps.xmlthreatprotection.SourceUnavailable |
500 | Dieser Fehler tritt auf, wenn für die im Element <Source> angegebene Variable message eine der folgenden Aussagen gilt:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 | Dieser Fehler tritt auf, wenn das Element <Source> auf eine Variable mit einem anderen Typ als message gesetzt ist. |
build |
Hinweise:
- Der Fehlername "ExecutionFailed" ist der Standardfehlername und wird unabhängig vom Typ des erkannten Fehlers zurückgegeben. Sie können diese Standardeinstellung jedoch durch Festlegen eines Attributs auf Organisationsebene ändern. Wenn dieses Attribut festgelegt wird, spiegelt der Fehlername den tatsächlichen Fehler wider. Beispiel: "TextExceeded" oder "AttrValueExceeded". Weitere Informationen finden Sie unter Nutzungshinweise.
- Der HTTP-Status 500 ist die Standardeinstellung. Der HTTP-Status kann jedoch durch Festlegen eines Attributs auf Organisationsebene in 400 für Anfrageflussfehler geändert werden. Weitere Informationen finden Sie unter Nutzungshinweise.
Bereitstellungsfehler
–
Fehlervariablen
Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.
| Variablen | Wo | Beispiel |
|---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | xmlattack.XPT-SecureRequest.failed = true |
Beispiel für eine Fehlerantwort
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Beispiel für eine Fehlerregel
<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-Richtlinie
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
steps.xmltojson.ExecutionFailed |
500 | This error occurs when the input payload (XML) is empty or the input XML is invalid or malformed. | build |
steps.xmltojson.InCompatibleType |
500 | This error occurs if the type of the variable defined in the <Source> element and the
<OutputVariable> element are not the same. It is mandatory that the type of the variables
contained within the <Source> element and the <OutputVariable> element matches.
|
build |
steps.xmltojson.InvalidSourceType |
500 | This error occurs if the type of the variable used to define the <Source> element is
invalid.The valid types of variable are message and string. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
500 | This error occurs if the variable specified in the <Source> element of the XML to
JSON policy is of type string and the <OutputVariable> element is not defined.
The <OutputVariable> element is mandatory when the variable defined in the <Source>
element is of type string. |
build |
steps.xmltojson.SourceUnavailable |
500 |
This error occurs if the message
variable specified in the <Source> element of the XML to JSON policy is either:
|
build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
EitherOptionOrFormat |
If one of the elements <Options> or <Format> is not
declared in the XML to JSON Policy, then the deployment of the API proxy fails.
|
build |
UnknownFormat |
If the <Format> element within the XML to JSON policy has an unknown
format defined, then the deployment of the API proxy fails. Predefined formats include:
xml.com, yahoo, google, and badgerFish.
|
build |
Fault variables
These variables are set when a runtime error occurs. For more information, see What you need to know about policy errors.
| Variables | Where | Example |
|---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | xmltojson.XMLtoJSON-1.failed = true |
Example error response
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
Example fault rule
<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-Richtlinie
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
This error occurs if the message or string variable specified in the <Source> element of the
XSL Transform policy is either out of scope (not available in the specific flow where the
policy is being executed) or can't be resolved (is not defined).
|
build |
steps.xsl.XSLEvaluationFailed |
500 | This error occurs if the input XML payload is unavailable/malformed or the XSLTransform policy fails/is unable to transform the input XML file based on the transformation rules provided in the XSL file. There could be many different causes for the XSLTransform policy to fail. The reason for failure in the error message will provide more information on the cause. | build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
XSLEmptyResourceUrl |
If the <ResourceURL> element in the XSL Transform policy is empty, then the
deployment of the API proxy fails. |
build |
XSLInvalidResourceType |
If the resource type specified in the <ResourceURL> element of the XSL Transform
policy is not of type xsl, then the deployment of the API proxy fails. |
build |