أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
سياسة AccessControl
يصف هذا القسم رموز الخطأ ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تم ضبطها من خلال Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. من المهم معرفة هذه المعلومات إذا كنت تضع قواعد خطأ التعامل مع الأخطاء. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على ما تحتاج إلى معرفته حول أخطاء السياسة والتعامل مع المعالجة والأخطاء.
أخطاء بيئة التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
| رمز الخطأ | رموز حالة HTTP | السبب | إصلاح |
|---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | عنوان IP للعميل أو عنوان IP تم تمريره
في طلب واجهة برمجة التطبيقات، تتطابق مع عنوان IP المحدد في العنصر <SourceAddress> داخل
العنصر <MatchRule> من "سياسة التحكم في الوصول"، والسمة action
تم ضبط العنصر <MatchRule> على DENY. |
build |
متغيّرات الأخطاء
يتم ضبط هذه المتغيّرات عند حدوث خطأ في بيئة التشغيل. ولمزيد من المعلومات، يُرجى الاطّلاع على المتغيّرات الخاصة بأخطاء السياسات.
| المتغيرات | المكان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. | acl.AC-AllowAccess.failed = true |
مثال على الاستجابة للخطأ
{
"fault":{
"faultstring":"Access Denied for client ip : 52.211.243.3"
"detail":{
"errorcode":"accesscontrol.IPDeniedAccess"
}
}
}مثال على قاعدة الخطأ
<FaultRule name="IPDeniedAccess">
<Step>
<Name>AM-IPDeniedAccess</Name>
<Condition>(fault.name Matches "IPDeniedAccess") </Condition>
</Step>
<Condition>(acl.failed = true) </Condition>
</FaultRule>سياسة AccessEntity
For related information, see What you need to know about policy errors and Handling faults.
Runtime errors
None.
Deployment errors
| Error name | Fault string | HTTP status | Occurs when |
|---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
N/A | The entity type used must be one of the supported types. |
سياسة AssignMessage
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.assignmessage.SetVariableFailed |
500 | The policy was not able to set a variable. See the fault string for the name of the unresolved variable. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
This error occurs if the Message type variables represent entire HTTP requests and responses. The built-in Edge
flow variables |
build |
steps.assignmessage.UnresolvedVariable |
500 |
This error occurs if a variable specified in the Assign Message policy is either:
|
build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidIndex |
If the index specified in the <Copy> and/or <Remove> elements of the Assign Message
policy is 0 or a negative number, then deployment of the API Proxy fails.
|
build |
InvalidVariableName |
If the child element <Name> is empty or not specified in the <AssignVariable> element,
then the deployment of the API proxy fails because there is no valid variable name to
which to assign a value. A valid variable name is required.
|
build |
InvalidPayload |
A payload specified in the policy is invalid. |
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 "UnresolvedVariable" |
assignmessage.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | assignmessage.AM-SetResponse.failed = true |
Example error response
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
Example fault rule
<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
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 errors. 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.basicauthentication.InvalidBasicAuthenticationSource |
500 | On a decode when the incoming Base64 encoded string does not contain a valid value or the header is malformed (e.g., does not start with "Basic"). | build |
steps.basicauthentication.UnresolvedVariable |
500 | The required source variables for the decode or encode are not present. This error can
only occur if IgnoreUnresolvedVariables is false. |
build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Occurs when | Fix |
|---|---|---|
UserNameRequired |
The <User> element must be present for the named operation. |
build |
PasswordRequired |
The <Password> element must be present for the named operation. |
build |
AssignToRequired |
The <AssignTo> element must be present for the named operation. |
build |
SourceRequired |
The <Source> element must be present for the named operation. |
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 Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | BasicAuthentication.BA-Authenticate.failed = true |
Example error response
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
Example fault rule
<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
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 errors. 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 |
|---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation |
503 |
ConcurrentRatelimit connection exceeded. Connection limit : {0} Note: The Fault code shown on the left is correct, although it contains a misspelling ("limt"). Be sure to use the code exactly as shown here when creating fault rules to trap this error. |
Deployment errors
| Error name | Occurs when |
|---|---|
InvalidCountValue |
ConcurrentRatelimit invalid count value specified. |
ConcurrentRatelimitStepAttachment\ |
Concurrent Ratelimit policy {0} attachment is not allowed at proxy request/response/fault paths. This policy must be placed on the Target Endpoint. |
ConcurrentRatelimitStepAttachment\ |
Concurrent Ratelimit policy {0} attachment is missing at target request/response/fault paths. This policy must be placed in the Target Request Preflow, Target Response Postflow, and DefaultFaultRule. |
InvalidTTLForMessageTimeOut |
ConcurrentRatelimit invalid ttl value specified for message timeout. It must be a positive integer. |
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 "ConcurrentRatelimtViolation"
Note: The Error code shown in the example is correct, although it contains a misspelling ("limt"). Please be sure to use the code exactly as shown here when creating fault rules to trap this error. |
concurrentratelimit.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | concurrentratelimit.CRL-RateLimitPolicy.failed = true |
Example error response
If the rate limit is exceeded, the policy returns only an HTTP status 503 to the client.
Example fault rule
<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
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. |
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 "TokenExpired" |
JWS.failed |
All JWS policies set the same variable in the case of a failure. | jws.JWS-Policy.failed = true |
Example error response
For error handling, the best practice is to trap the errorcode part of the error
response. Do not rely on the text in the faultstring, because it could change.
Example fault rule
<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
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.jwt.FailedToDecode |
401 | Occurs when the policy is unable to decode the JWT. The JWT may be malformed, invalid or otherwise not decodable. | build |
steps.jwt.FailedToResolveVariable |
401 | Occurs when the flow variable specified in the <Source> element of
the policy does not exist. |
|
steps.jwt.InvalidToken |
401 | Occurs when the flow variable specified in the <Source> element of
the policy is out of scope or can't be resolved. |
build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidEmptyElement |
Occurs when the flow variable containing the JWT to be decoded is not specified in the
<Source> element of the policy.
|
build |
متغيّرات الأخطاء
يتم ضبط هذه المتغيّرات عند حدوث خطأ في بيئة التشغيل. يمكنك الاطّلاع على مقالة ما تحتاج إلى معرفته للحصول على مزيد من المعلومات. حول أخطاء السياسة.
| المتغيرات | المكان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name Matches "TokenExpired" |
JWT.failed |
تضبط جميع سياسات JWT المتغيّر نفسه في حال حدوث عطل. | JWT.failed = true |
مثال على استجابة الخطأ
لمعالجة الخطأ، أفضل ممارسة هي رصد الجزء errorcode من الخطأ
الاستجابة. لا تعتمد على النص في faultstring، لأنه قد يتغير.
مثال على قاعدة الخطأ
<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
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.extractvariables.ExecutionFailed |
500 |
This error occurs when:
|
build |
steps.extractvariables.ImmutableVariable |
500 | A variable used in the policy is immutable. The policy was unable to set this variable. | |
steps.extractvariables.InvalidJSONPath |
500 | This error occurs if an invalid JSON path is used in the JSONPath element of the
policy. For example, if a JSON payload does not have the object Name,
but you specify Name as the path in the policy, then this error occurs. |
build |
steps.extractvariables.JsonPathParsingFailure |
500 | This error occurs when the policy is unable to parse a JSON path and
extract data from the flow variable specified in Source element. Typically this
happens if the flow variable specified in the Source element does not exist in the current
flow. |
build |
steps.extractvariables.SetVariableFailed |
500 | This error occurs if the policy could not set the value to a variable. The error generally happens if you try to assign values to multiple variables whose names start with the same words in a nested dot-separated format. | build |
steps.extractvariables.SourceMessageNotAvailable |
500 | This error occurs if the message
variable specified in the Source element of the policy
is either:
|
build |
steps.extractvariables.UnableToCast |
500 | This error occurs if the policy was unable to cast the extracted value to a variable. Typically this happens if you attempt to set the value of one data type to a variable of another data type. | build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
NothingToExtract |
If the policy does not have any of the elements URIPath, QueryParam,
Header, FormParam, XMLPayload, or JSONPayload,
the deployment of the API Proxy fails, because there's nothing to extract. |
build |
NONEmptyPrefixMappedToEmptyURI |
This error occurs if the policy has a prefix defined in the
Namespace element under the XMLPayload element, but no URI is
defined. |
build |
DuplicatePrefix |
This error occurs if the policy has the same prefix defined more than
once in the Namespace element under the XMLPayload element. |
build |
NoXPathsToEvaluate |
If the policy does not have the XPath element within the
XMLPayload element, then the deployment of the API proxy fails with this error.
|
build |
EmptyXPathExpression |
If the policy has an empty XPath expression within the XMLPayload
element, then the deployment of the API proxy fails. |
build |
NoJSONPathsToEvaluate |
If the policy does not have the JSONPath element within the
JSONPayload element, then the deployment of the API proxy fails with this error. |
build |
EmptyJSONPathExpression |
If the policy has an empty XPath expression within the
XMLPayload element, then the deployment of the API proxy fails. |
build |
MissingName |
If the policy does not have the name attribute in any of the policy
elements like QueryParam, Header, FormParam or
Variable, where it is required, then the deployment of the API proxy fails. |
build |
PatternWithoutVariable |
If the policy does not have a variable specified within the Pattern element,
then the deployment of the API proxy fails. The Pattern element requires the name of
the variable in which extracted data will be stored. |
build |
CannotBeConvertedToNodeset |
If the policy has an XPath expression where the Variable type
is defined as nodeset,
but the expression cannot be converted to nodeset, then the deployment of the API proxy fails. |
build |
JSONPathCompilationFailed |
The policy could not compile a specified JSON Path. | |
InstantiationFailed |
The policy could not be instantiated. | |
XPathCompilationFailed |
If the prefix or the value used in the XPath element is not part of any of the
declared namespaces in the policy, then the deployment of the API proxy
fails. |
build |
InvalidPattern |
If the Pattern element definition is invalid in any of the elements like URIPath,
QueryParam, Header, FormParam, XMLPayload
or JSONPayload within the policy, then the deployment of the
API proxy fails.
|
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 = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | extractvariables.EV-ParseJsonResponse.failed = true |
Example error response
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
Example fault rule
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
GenerateJWS policy
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. |
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 "TokenExpired" |
JWS.failed |
All JWS policies set the same variable in the case of a failure. | jws.JWS-Policy.failed = true |
Example error response
For error handling, the best practice is to trap the errorcode part of the error
response. Do not rely on the text in the faultstring, because it could change.
Example fault rule
<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 policy
يصف هذا القسم رموز الأخطاء ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تضبطها Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. هذه المعلومات مهمة لمعرفة ما إذا كنت تعمل على تطوير قواعد للأخطاء للتعامل معها. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات وأخطاء المعالجة.
أخطاء في وقت التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
| رمز الخطأ | رموز حالة HTTP | يحدث عند |
|---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | يحدث ذلك عندما تتضمّن سياسة إثبات الهوية خوارزميات متعدّدة. |
steps.jwt.AlgorithmMismatch |
401 | الخوارزمية المحدّدة في سياسة الإنشاء لا تتطابق مع الخوارزمية المتوقعة في سياسة إثبات الملكية. يجب أن تتطابق الخوارزميات المحدّدة. |
steps.jwt.FailedToDecode |
401 | تعذَّر على السياسة فك ترميز JWT. من المحتمل أن يكون JWT تالفًا. |
steps.jwt.GenerationFailed |
401 | تعذَّر على السياسة إنشاء رمز JWT. |
steps.jwt.InsufficientKeyLength |
401 | بالنسبة إلى مفتاح أقل من 32 بايت لخوارزمية HS256، وأقل من 48 بايت لخوارزمية HS386، وأقل من 64 بايت لخوارزمية HS512. |
steps.jwt.InvalidClaim |
401 | بسبب عدم تطابق مطالبة أو مطالبة، أو عدم تطابق العنوان أو العنوان. |
steps.jwt.InvalidCurve |
401 | المنحنى المحدد بالمفتاح غير صالح لخوارزمية المنحنى البيضاوي. |
steps.jwt.InvalidJsonFormat |
401 | تم العثور على تنسيق JSON غير صالح في الرأس أو الحمولة. |
steps.jwt.InvalidToken |
401 | يحدث هذا الخطأ عند تعذُّر التحقُّق من توقيع JWT. |
steps.jwt.JwtAudienceMismatch |
401 | تعذّرت المطالبة بالجمهور عند إثبات صحة الرمز المميّز. |
steps.jwt.JwtIssuerMismatch |
401 | تعذّرت المطالبة من جهة الإصدار بإثبات ملكية الرمز المميّز. |
steps.jwt.JwtSubjectMismatch |
401 | تعذّرت المطالبة بالموضوع عند إثبات ملكية الرمز المميّز. |
steps.jwt.KeyIdMissing |
401 | تستخدم سياسة "التحقّق" رمز JWKS كمصدر للمفاتيح العامة، ولكنّ سياسة JWT الموقَّعة لا
تتضمّن السمة kid في العنوان. |
steps.jwt.KeyParsingFailed |
401 | تعذّر تحليل المفتاح العام من المعلومات الأساسية المحددة. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | يحدث عندما لا يحتوي JWT على عنوان خوارزمية. |
steps.jwt.NoMatchingPublicKey |
401 | تستخدم سياسة "التحقّق" مفتاح JWKS كمصدر للمفاتيح العامة، ولكن لا يتم إدراج kid
في JWT الموقَّع في JWKS. |
steps.jwt.SigningFailed |
401 | في CREATEJWT لمفتاح أقل من الحد الأدنى للحجم لخوارزميات HS384 أو HS512 |
steps.jwt.TokenExpired |
401 | تحاول السياسة التحقّق من رمز مميّز منتهي الصلاحية. |
steps.jwt.TokenNotYetValid |
401 | الرمز المميز غير صالح بعد. |
steps.jwt.UnhandledCriticalHeader |
401 | إنّ العنوان الذي عثرت عليه سياسة "التحقق من JWT" ضمن عنوان crit غير
مدرَج في KnownHeaders. |
steps.jwt.UnknownException |
401 | حدث استثناء غير معروف. |
steps.jwt.WrongKeyType |
401 | تم تحديد نوع خاطئ للمفتاح. على سبيل المثال، إذا حدّدت مفتاح RSA لخوارزمية "منحنى بيضاوي" أو مفتاح منحنى لخوارزمية RSA. |
أخطاء النشر
يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.
| اسم الخطأ | السبب | إصلاح |
|---|---|---|
InvalidNameForAdditionalClaim |
ستتعذّر عملية النشر إذا كانت المطالبة المستخدَمة في العنصر الفرعي <Claim>
في العنصر <AdditionalClaims> هي أحد الأسماء المسجّلة التالية:
kid أو iss أو sub أو aud أو iat
أو exp أو nbf أو jti.
|
build |
InvalidTypeForAdditionalClaim |
إذا كانت المطالبة المستخدَمة في العنصر الفرعي <Claim> في العنصر <AdditionalClaims> ليست من النوع string أو number أو boolean أو map، سيتعذّر النشر.
|
build |
MissingNameForAdditionalClaim |
إذا لم يتم تحديد اسم المطالبة في العنصر الفرعي <Claim> في العنصر <AdditionalClaims>، سيتعذّر النشر.
|
build |
InvalidNameForAdditionalHeader |
يحدث هذا الخطأ إذا كان اسم المطالبة المستخدَم في العنصر الفرعي <Claim> في العنصر <AdditionalClaims> هو alg أو typ.
|
build |
InvalidTypeForAdditionalHeader |
إذا كان نوع المطالبة المستخدَم في العنصر الفرعي <Claim> في العنصر <AdditionalClaims> ليس من النوع string أو number أو boolean أو map، سيتعذّر النشر.
|
build |
InvalidValueOfArrayAttribute |
يحدث هذا الخطأ عندما لا يتم ضبط قيمة سمة الصفيف في العنصر الفرعي <Claim> للعنصر <AdditionalClaims> على true أو false.
|
build |
InvalidConfigurationForActionAndAlgorithm |
إذا تم استخدام العنصر <PrivateKey> مع خوارزميات HS Family أو
العنصر <SecretKey> مع خوارزميات RSA Family،
سيتعذّر إجراء عملية النشر.
|
build |
InvalidValueForElement |
وإذا لم تكن القيمة المحدّدة في العنصر <Algorithm> قيمة مسموح بها،
سيتعذّر إتمام عملية النشر.
|
build |
MissingConfigurationElement |
سيحدث هذا الخطأ إذا لم يتم استخدام العنصر <PrivateKey> مع خوارزميات مجموعة RSA أو إذا لم يتم استخدام العنصر <SecretKey> مع خوارزميات HS Family.
|
build |
InvalidKeyConfiguration |
إذا لم يتم تحديد العنصر الفرعي <Value> في العنصرَين <PrivateKey>
أو <SecretKey>، سيتعذّر النشر.
|
build |
EmptyElementForKeyConfiguration |
إذا كانت سمة المرجع للعنصر الفرعي <Value> للعناصر <PrivateKey>
أو <SecretKey> فارغة أو غير محدّدة، سيتعذّر إتمام عملية النشر.
|
build |
InvalidVariableNameForSecret |
يحدث هذا الخطأ إذا كان اسم متغيّر التدفق المحدّد في السمة ref للعنصر الفرعي <Value> للعنصر <PrivateKey> أو العنصر <SecretKey> لا يحتوي على البادئة الخاصة (private.).
|
build |
InvalidSecretInConfig |
يحدث هذا الخطأ إذا كان العنصر الفرعي <Value> للعنصر <PrivateKey> أو <SecretKey> لا يحتوي على البادئة الخاصة (private.).
|
build |
InvalidTimeFormat |
وإذا كانت القيمة المحدّدة في العنصر <NotBefore> لا تستخدم
تنسيقًا متوافقًا، لن تنجح عملية النشر.
|
build |
متغيّرات الأخطاء
يتم ضبط هذه المتغيّرات عند حدوث خطأ في بيئة التشغيل. يمكنك الاطّلاع على مقالة ما تحتاج إلى معرفته للحصول على مزيد من المعلومات. حول أخطاء السياسة.
| المتغيرات | المكان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name Matches "TokenExpired" |
JWT.failed |
تضبط جميع سياسات JWT المتغيّر نفسه في حال حدوث عطل. | JWT.failed = true |
مثال على استجابة الخطأ
لمعالجة الخطأ، أفضل ممارسة هي رصد الجزء errorcode من الخطأ
الاستجابة. لا تعتمد على النص في faultstring، لأنه قد يتغير.
مثال على قاعدة الخطأ
<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
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.javacallout.ExecutionError |
500 | Occurs when Java code throws an exception or returns null during the execution of a JavaCallout policy. | build |
Deployment errors
These errors can occur when the proxy containing the policy is deployed.
| Error name | Fault string | HTTP status | Occurs when |
|---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
N/A | The file specified in the <ResourceURL> element does not exist. |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
N/A | The class file specified in the <ClassName> element is not in the
jar. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
N/A | See fault string. See also Supported software and supported versions. |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
N/A | See fault string. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
N/A | See fault string. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
N/A | See fault string. |
NoResourceForURL |
Could not locate a resource with URL [string] |
N/A | See fault string. |
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 "ExecutionError" |
javacallout.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | javacallout.JC-GetUserData.failed = true |
Example error response
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
Example fault rule
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
سياسة JavaScript
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
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>
تحدّد أنواع سياسات JSONThreatProtection رموز الخطأ التالية:
سياسة JSONtoXML
يصف هذا القسم رموز الخطأ ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تم ضبطها من خلال Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. من المهم معرفة هذه المعلومات إذا كنت تضع قواعد خطأ التعامل مع الأخطاء. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على ما تحتاج إلى معرفته حول أخطاء السياسة والتعامل مع المعالجة والأخطاء.
أخطاء بيئة التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
| رمز الخطأ | رموز حالة HTTP | السبب | إصلاح |
|---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 | حمولة البيانات المُدخلة (JSON) فارغة أو الإدخال (JSON) الذي تم تمريره إلى سياسة JSON إلى XML غير صالح أو مكتوب بشكل غير صحيح. | build |
steps.jsontoxml.InCompatibleTypes |
500 | يحدث هذا الخطأ إذا كان نوع المتغيّر المحدَّد في العنصر <Source>
فإن العنصر <OutputVariable> ليس متماثلاً. يلزم أن يكون نوع
المتغيرات المضمَّنة في العنصر <Source> والعنصر <OutputVariable>
تطابق. النوعان الصالحان هما message وstring. |
build |
steps.jsontoxml.InvalidSourceType |
500 | يحدث هذا الخطأ إذا كان نوع المتغيّر المستخدَم لتعريف العنصر <Source>
غير صالح. النوعان الصالحان للمتغيّر هما message وstring. |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 | يحدث هذا الخطأ إذا كان المتغيّر المحدَّد في العنصر <Source> في JSON إلى
سياسة XML من النوع سلسلة ولم يتم تحديد العنصر <OutputVariable>.
يكون العنصر <OutputVariable> إلزاميًا إذا تم تحديد المتغيّر في <Source>.
العنصر من نوع السلسلة. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
يحدث هذا الخطأ إذا كانت الرسالة
يكون المتغيّر المحدَّد في العنصر <Source> ضمن سياسة JSON إلى XML إما:
|
build |
أخطاء النشر
بلا عُري
متغيّرات الأخطاء
يتم ضبط هذه المتغيّرات عند حدوث خطأ في بيئة التشغيل. يمكنك الاطّلاع على مقالة ما تحتاج إلى معرفته للحصول على مزيد من المعلومات. حول أخطاء السياسة.
| المتغيرات | المكان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. | jsontoxml.JSON-to-XML-1.failed = true |
مثال على استجابة الخطأ
{
"fault": {
"faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available",
"detail": {
"errorcode": "steps.json2xml.SourceUnavailable"
}
}
}مثال على قاعدة الخطأ
<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
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
This policy uses the following error codes:
| Error Code | Message |
|---|---|
InvalidAttributeName |
Invalid attribute name {0}. |
InvalidSearchBase |
Search base can not be empty. |
InvalidValueForPassword |
Invalid value for password field. It can not be empty. |
InvalidSearchScope |
Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials |
Invalid user credentials. |
InvalidExternalLdapReference |
Invalid external ldap reference {0}. |
LdapResourceNotFound |
Ldap resource {0} not found. |
BaseDNRequired |
Base DN required. |
OnlyReferenceOrValueIsAllowed |
Only value or reference is allowed for {0}. |
AttributesRequired |
At least one attribute required for search action. |
UserNameIsNull |
User name is null. |
SearchQueryAndUserNameCannotBePresent |
Both search query and username can not be present in the authentication action.
Please specify either one of them. |
MessageLogging policy
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.messagelogging.StepDefinitionExecutionFailed |
500 | See fault string. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidProtocol |
The deployment of the MessageLogging policy can fail with this error if the protocol
specified within the <Protocol> element is not valid. The valid protocols are TCP and UDP.
For sending syslog messages over TLS/SSL, only TCP is supported. |
build |
InvalidPort |
The deployment of the MessageLogging policy can fail with this error if the port number
is not specified within the <Port> element or if it is not valid. The port number must be
an integer greater than zero. |
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 Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | messagelogging.ML-LogMessages.failed = true |
Example error response
{
"fault":{
"detail":{
"errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
},
"faultstring":"Execution failed"
}
}Example fault rule
<FaultRule name="MessageLogging">
<Step>
<Name>ML-LogMessages</Name>
<Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
</Step>
<Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>سياسة OASValidation
يصف هذا القسم رموز الأخطاء ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تضبطها Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. هذه المعلومات مهمة لمعرفة ما إذا كنت تعمل على تطوير قواعد للأخطاء للتعامل معها. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات وأخطاء المعالجة.
أخطاء في وقت التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
| رمز الخطأ | رموز حالة HTTP | السبب | |
|---|---|---|---|
steps.oasvalidation.Failed |
500 | لا يمكن التحقّق من صحة نص رسالة الطلب بالاستناد إلى مواصفات OpenAPI التي تم توفيرها. | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
المتغيّر المحدَّد في العنصر |
|
steps.oasvalidation.NotMessageVariable |
500 |
تم ضبط العنصر |
build |
أخطاء النشر
يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.
| اسم الخطأ | السبب | |
|---|---|---|
ResourceDoesNotExist |
مواصفات OpenAPI المُشار إليها في العنصر <OASResource> غير موجودة.
|
|
ResourceCompileFailed |
تحتوي مواصفات OpenAPI المضمّنة في عملية النشر على أخطاء تحول دون تجميعها. ويشير ذلك بشكل عام إلى أنّ المواصفات لم تتوافق مع الإصدار 3.0 من مواصفات OpenAPI. | |
BadResourceURL |
لا يمكن معالجة مواصفات OpenAPI المُشار إليها في العنصر <OASResource>. يمكن أن يحدث ذلك إذا لم يكن الملف بتنسيق JSON أو YAML أو
لم يتم تحديد عنوان URL للملف بشكل صحيح.
|
متغيرات الخطأ
ويتم ضبط هذه المتغيّرات عندما تؤدي هذه السياسة إلى ظهور خطأ في وقت التشغيل. لمزيد من المعلومات، اطّلِع على المعلومات التي تحتاج إلى معرفتها عن الأخطاء المتعلقة بالسياسات.
| المتغيرات | المكان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name هو اسم السياسة التي حدّدها المستخدم التي أدت إلى حدوث الخطأ. | oasvalidation.myoaspolicy.failed = true |
سياسة PopulateCache
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 |
|---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | An entry cannot be cached. The message object being cached is not an instance of a class that is Serializable. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidCacheResourceReference |
This error occurs if the <CacheResource> element in the PopulateCache policy is set to
a name that does not exist in the environment where the API proxy is being deployed. |
build |
CacheNotFound |
The cache specified in the <CacheResource> element does not
exist. |
build |
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 = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | populatecache.POP-CACHE-1.failed = true |
Example error response
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Example fault rule
<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
يوضِّح هذا القسم رسائل الخطأ ومتغيّرات التدفق التي يتم تحديدها عندما تؤدي هذه السياسة إلى ظهور خطأ. هذه المعلومات مهمة لمعرفة ما إذا كنت تعمل على تطوير قواعد خطأ لخادم وكيل. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات وأخطاء المعالجة.
بادئة رمز الخطأ
لا ينطبق
أخطاء في وقت التشغيل
لا تؤدي هذه السياسة إلى حدوث أي أخطاء في وقت التشغيل.
أخطاء النشر
يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.
| اسم الخطأ | السبب | إصلاح |
|---|---|---|
InvalidCacheResourceReference |
يحدث هذا الخطأ عند ضبط العنصر <CacheResource> على اسم غير متوفّر في البيئة التي يتم فيها نشر الخادم الوكيل لواجهة برمجة التطبيقات. |
build |
InvalidTimeout |
وفي حال ضبط العنصر <CacheLookupTimeoutInSeconds> على رقم سالب، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات. |
build |
CacheNotFound |
يحدث هذا الخطأ إذا لم يتم إنشاء ذاكرة التخزين المؤقت المحددة المذكورة في رسالة الخطأ على مكون محدد لمعالجة الرسائل. | build |
متغيرات الخطأ
لا ينطبق
مثال على الردّ على الخطأ
لا ينطبق
سياسة InvalidateCache
This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.
Error code prefix
N/A
Runtime errors
This policy does not throw any runtime errors.
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidCacheResourceReference |
This error occurs if the <CacheResource> element in the InvalidateCache policy is set
to a name that does not exist in the environment where the API proxy is being deployed. |
build |
CacheNotFound |
This error occurs if the specific cache mentioned in the error message has not been created on a specific Message Processor component. | build |
Fault variables
N/A
Example error response
N/A
سياسة ResponseCache
This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.
Error code prefix
N/A
Runtime errors
This policy does not throw any runtime errors.
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidTimeout |
If the
<CacheLookupTimeoutInSeconds> element of the ResponseCache policy is set to a negative number,
then the deployment of the API proxy fails. |
build |
InvalidCacheResourceReference |
This error occurs if the <CacheResource> element in a ResponseCache policy is set to a
name that does not exist in the environment where the API proxy is being deployed. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
This error occurs if the same ResponseCache policy is attached to multiple request paths within any flows of an API proxy. | build |
ResponseCacheStepAttachmentNotAllowedResp |
This error occurs if the same ResponseCache policy is attached to multiple response paths within any flows of an API proxy. | build |
InvalidMessagePatternForErrorCode |
This error occurs if either the <SkipCacheLookup> or the <SkipCachePopulation>
element in a ResponseCache policy contains an invalid condition. |
build |
CacheNotFound |
This error occurs if the specific cache mentioned in the error message has not been created on a specific Message Processor component. | build |
Fault variables
N/A
Example error response
N/A
سياسة OAuthV2
يصف هذا القسم رموز الأعطال ورسائل الخطأ التي يتم عرضها ومتغيّرات الأعطال التي يضبطها Edge عندما تؤدي هذه السياسة إلى حدوث خطأ. من المهم معرفة هذه المعلومات إذا كنت بصدد تطوير قواعد الأخطاء بهدف التعامل مع الأخطاء. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن أخطاء السياسات والتعامل مع الأخطاء.
أخطاء وقت التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
| رمز الخطأ | رموز حالة HTTP | السبب | تم طرحها من خلال العمليات |
|---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | انتهت صلاحية الرمز المميّز للوصول. |
VerifyAccessToken |
steps.oauth.v2.access_token_not_approved |
401 | تم إبطال رمز الوصول. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 | لا يتوفّر المورد المطلوب في أيّ من منتجات واجهة برمجة التطبيقات المرتبطة برمز الدخول. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 | توقّعت السياسة العثور على رمز وصول في متغيّر محدّد في عنصر
<AccessToken>، ولكن تعذّر حلّ المتغيّر. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 | توقّعت السياسة العثور على رمز تفويض في متغيّر محدّد في عنصر
<Code>، ولكن تعذّر حلّ المتغيّر. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 | توقّعت السياسة العثور على رقم تعريف العميل في متغيّر محدّد في عنصر
<ClientId>، ولكن تعذّر حلّ المتغيّر. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 | كانت السياسة تتوقّع العثور على رمز تنشيط مفتاح المرور في متغيّر محدّد في العنصر
<RefreshToken>، ولكن تعذّر حلّ المتغيّر. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 | توقّعت السياسة العثور على رمز مميّز في متغيّر محدّد في عنصر
<Tokens>، ولكن تعذّر حلّ المتغيّر. |
ValidateToken |
steps.oauth.v2.InsufficientScope |
403 | يحتوي رمز الوصول الذي تم تقديمه في الطلب على نطاق لا يتطابق مع النطاق المحدّد في سياسة التحقّق من رمز الوصول. للتعرّف على النطاق، يُرجى الاطّلاع على العمل مع نطاقات OAuth2. | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 | الرمز المميّز للوصول الذي تم إرساله من العميل غير صالح. | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
يتم عرض اسم الخطأ هذا عندما يتم ضبط سمة ملاحظة: ننصحك بتغيير شروط قاعدة الأعطال
الحالية لرصد اسمَي |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.InvalidRequest |
400 | يُستخدَم اسم الخطأ هذا لأنواع مختلفة من الأخطاء، عادةً بسبب عدم توفّر
أو إرسال مَعلمات غير صحيحة في الطلب. إذا تم ضبط <GenerateResponse>
على false، استخدِم متغيّرات الأعطال (الموضّحة أدناه) لاسترداد تفاصيل عن
الخطأ، مثل اسم العُطل وسببه. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 | لا يتضمّن عنوان التفويض كلمة "Bearer"، وهي مطلوبة. على سبيل المثال: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
لا يتوفّر خادم وكيل لواجهة برمجة التطبيقات في المنتج المرتبط برمز الوصول. ملاحظات: تأكَّد من ضبط المنتج المرتبط برمز المرور للوصول بشكل صحيح. على سبيل المثال، إذا كنت تستخدم أحرف البدل في مسارات الموارد، تأكَّد من استخدام أحرف البدل بشكل صحيح. اطّلِع على إنشاء منتجات واجهة برمجة التطبيقات للاطّلاع على التفاصيل. يمكنك أيضًا الاطّلاع على هذه مشاركة في منتدى Apigee للحصول على مزيد من الإرشادات حول أسباب حدوث هذا الخطأ. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
يتم عرض اسم الخطأ هذا عند ضبط سمة |
GenerateAccessToken |
steps.oauth.v2.InvalidParameter |
500 | يجب أن تحدّد السياسة إما رمز دخول أو رمز تفويض، ولكن ليس كليهما. | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 | يتطلّب عنصر <Tokens>/<Token> منك تحديد نوع الرمز المميّز
. (على سبيل المثال، refreshtoken). إذا أرسل العميل نوعًا غير صحيح، يتم طرح
هذا الخطأ. |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 | نوع الاستجابة هو token، ولكن لم يتم تحديد أي أنواع منح. |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
حدّد العميل نوع إذن غير متوافق مع السياسة (غير مُدرَج في العنصر <SupportedGrantTypes>). ملاحظة: هناك خطأ حاليًا يؤدي إلى عدم عرض أخطاء نوع الإذن غير المتوافقة بشكل صحيح. في حال حدوث خطأ في نوع الإذن غير المتوافق، لا يدخل الوكيل في مسار الخطأ على النحو المتوقّع. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
أخطاء النشر
يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يتضمّن هذه السياسة.
| اسم الخطأ | السبب |
|---|---|
InvalidValueForExpiresIn |
بالنسبة إلى العنصر |
InvalidValueForRefreshTokenExpiresIn |
بالنسبة إلى العنصر <RefreshTokenExpiresIn>، تكون القيم الصالحة هي الأعداد الكلية
الموجبة و-1. |
InvalidGrantType |
تم تحديد نوع منحة غير صالح في عنصر <SupportedGrantTypes>. اطّلِع على مرجع السياسة للحصول على قائمة بالأنواع الصالحة. |
ExpiresInNotApplicableForOperation |
تأكَّد من أنّ العمليات المحدّدة في عنصر <Operations> تتيح انتهاء الصلاحية. على سبيل المثال، لا تفعل ذلك عملية VerifyToken. |
RefreshTokenExpiresInNotApplicableForOperation |
تأكَّد من أنّ العمليات المحدّدة في عنصر <Operations> تتيح انتهاء صلاحية رمز إعادة التحميل المميّز. على سبيل المثال، لا تفعل ذلك عملية VerifyToken. |
GrantTypesNotApplicableForOperation |
تأكَّد من أنّ أنواع الأذونات المحدّدة في <SupportedGrantTypes> متوافقة مع العملية المحدّدة. |
OperationRequired |
يجب تحديد عملية في هذه السياسة باستخدام العنصر ملاحظة: إذا لم يكن عنصر |
InvalidOperation |
يجب تحديد عملية صالحة في هذه السياسة باستخدام العنصر
ملاحظة: إذا كان عنصر |
TokenValueRequired |
يجب تحديد قيمة الرمز المميّز <Token> في العنصر
<Tokens>. |
متغيّرات الأعطال
يتم ضبط هذه المتغيّرات عندما تؤدي هذه السياسة إلى حدوث خطأ أثناء التشغيل.
| المتغيّرات | المكان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو موضّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name = "InvalidRequest" |
oauthV2.policy_name.failed |
policy_name هو اسم السياسة التي تسبّبت في الخطأ والذي حدّده المستخدم. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name هو اسم السياسة التي تسبّبت في الخطأ، والذي حدّده المستخدم. | oauthV2.GenerateAccesstoken.fault.name = InvalidRequest
ملاحظة: بالنسبة إلى عملية VerifyAccessToken، يتضمّن اسم الخطأ اللاحقة التالية: |
oauthV2.policy_name.fault.cause |
policy_name هو اسم السياسة التي تسبّبت في الخطأ والذي حدّده المستخدم. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
مثال على استجابة الخطأ
يتم إرسال هذه الردود مرة أخرى إلى العميل إذا كان عنصر <GenerateResponse>
صحيحًا.
إذا كانت قيمة <GenerateResponse> هي صحيح، تعرض السياسة أخطاء
بهذا التنسيق للعمليات التي تُنشئ الرموز المميّزة والرموز. للحصول على قائمة كاملة، يُرجى الاطّلاع على
مرجع استجابة خطأ بروتوكول HTTP في OAuth.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}إذا كانت قيمة <GenerateResponse> هي true، تعرض السياسة أخطاء
بهذا التنسيق لعمليات التحقّق والتحقق من الصحة. للحصول على قائمة كاملة، يُرجى الاطّلاع على مرجع استجابة خطأ بروتوكول HTTP في OAuth.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
مثال على قاعدة الخطأ
<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
يصف هذا القسم رموز الخطأ ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تم ضبطها من خلال Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. من المهم معرفة هذه المعلومات إذا كنت تضع قواعد خطأ التعامل مع الأخطاء. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على ما تحتاج إلى معرفته حول أخطاء السياسة والتعامل مع المعالجة والأخطاء.
أخطاء بيئة التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة. أسماء الخطأ الموضحة أدناه هي السلاسل
التي يتم تخصيصها للمتغيّر fault.name عند حدوث خطأ. مشاهدة الخطأ
قسم "المتغيرات" أدناه لمزيد من التفاصيل.
| رمز الخطأ | رموز حالة HTTP | السبب |
|---|---|---|
steps.oauth.v2.access_token_expired |
500 | انتهت صلاحية رمز الدخول الذي تم إرساله إلى السياسة. |
steps.oauth.v2.authorization_code_expired |
500 | انتهت صلاحية رمز التفويض الذي تم إرساله إلى السياسة. |
steps.oauth.v2.invalid_access_token |
500 | رمز الدخول الذي تم إرساله إلى السياسة غير صالح. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 | معرّف العميل الذي تم إرساله إلى السياسة غير صالح. |
steps.oauth.v2.invalid_refresh_token |
500 | الرمز المميّز لإعادة التحميل الذي تم إرساله إلى السياسة غير صالح. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 | رمز التفويض الذي تم إرساله إلى السياسة غير صالح. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | يُرجى مراجعة هذه المشاركة في منتدى Apigee للحصول على معلومات حول تحديد هذا الخطأ وحلّها. |
steps.oauth.v2.refresh_token_expired |
500 | انتهت صلاحية الرمز المميّز لإعادة التحميل الذي تم إرساله إلى السياسة. |
أخطاء النشر
يمكنك الرجوع إلى الرسالة التي تم الإبلاغ عنها في واجهة المستخدم للحصول على معلومات عن أخطاء النشر.
متغيّرات الأخطاء
يتم ضبط هذه المتغيّرات عندما تؤدي هذه السياسة إلى ظهور خطأ في وقت التشغيل.
| المتغيرات | المكان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
مثال على استجابة الخطأ
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
مثال على قاعدة الخطأ
<FaultRule name="OAuthV2 Faults">
<Step>
<Name>AM-InvalidClientIdResponse</Name>
</Step>
<Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>سياسة SetOAuthV2Info
يصف هذا القسم رموز الأعطال ورسائل الخطأ التي يتم عرضها ومتغيرات الأعطال التي يتم ضبطها بواسطة Edge عند تفعيل هذه السياسة لحدوث خطأ. من المهم معرفة هذه المعلومات إذا كنت بصدد تطوير قواعد أخطاء للتعامل مع الأخطاء. لمزيد من المعلومات، اطّلِع على ما يجب معرفته عن أخطاء السياسات والتعامل مع الأخطاء.
أخطاء وقت التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
| رمز الخطأ | رموز حالة HTTP | السبب |
|---|---|---|
steps.oauth.v2.access_token_expired |
500 | انتهت صلاحية رمز الدخول الذي تم إرساله إلى السياسة. |
steps.oauth.v2.invalid_access_token |
500 | الرمز المميز للوصول الذي تم إرساله إلى السياسة غير صالح. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | يُرجى الاطّلاع على منشور "منتدى Apigee" هذا للحصول على معلومات حول تحديد المشاكل وحلّها. |
أخطاء النشر
راجِع الرسالة التي تم الإبلاغ عنها في واجهة المستخدم للحصول على معلومات حول أخطاء النشر.
متغيّرات الأعطال
يتم ضبط هذه المتغيرات عندما تؤدي هذه السياسة إلى حدوث خطأ أثناء التشغيل.
| المتغيّرات | المكان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو مدرَج في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
مثال على استجابة الخطأ
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}مثال على قاعدة الخطأ
<FaultRule name=SetOAuthV2Info Faults">
<Step>
<Name>AM-InvalidTokenResponse</Name>
<Condition>(fault.name = "invalid_access_token")</Condition>
</Step>
<Condition>(oauthV2.failed = true) </Condition>
</FaultRule>DeleteOAuthV2Info policy
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.invalid_access_token |
401 | The access token sent to the policy is invalid. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 | The authorization code 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.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.DeleteTokenInfo.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.DeleteTokenInfo.cause = Invalid Access Token |
Example error response
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}Example fault rule
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
<Step>
<Name>AM-InvalidTokenResponse</Name>
</Step>
<Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>سياسة OAuthv1.0a
The OAuthV1 Policy type defines the following error codes.
For OAuth-related HTTP error codes, see OAuth HTTP error response reference.
| Error Code | Message |
|---|---|
AppKeyNotResolved |
Could not resolve the app key with variable {0} |
ConsumerKeyNotResolved |
Could not resolve the consumer key with variable {0} |
RequestTokenNotResolved |
Could not resolve the request token with the variable {0} |
AccessTokenNotResolved |
Could not resolve the access token with the variable {0} |
ResponseGenerationError |
Error while generating response : {0} |
UnableToDetermineOperation |
Unable to determine an operation for stepDefinition {0} |
UnableToResolveOAuthConfig |
Unable to resolve the OAuth configuration for {0} |
AtLeastOneParamRequired |
At least one of AccessToken, RequestToken or ConsumerKey must be specified in
stepDefinition {0} |
SpecifyValueOrRefReqToken |
Specify Request Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefAccToken |
Specify Access Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefConKey |
Specify Consumer Key as value or ref in stepDefinition {0} |
SpecifyValueOrRefAppKey |
Specify App Key as value or ref in stepDefinition {0} |
ExpiresInNotApplicableForOperation |
ExpiresIn element is not valid for operation {0} |
InvalidValueForExpiresIn |
Invalid value for ExpiresIn element for operation {0} |
FailedToFetchApiProduct |
Failed to fetch api product for key {0} |
InvalidTokenType |
Valid token types : {0}, Invalid toke type {1} in stepDefinition {2} |
TokenValueRequired |
Token value is required in stepDefinition {0} |
FailedToResolveRealm |
Failed to resolve realm {0} |
سياسة GetOAuthV1Info
No error codes are specified for the Get OAuth v1.0a Info policy.
DeleteOAuthV1Info policy
On success, the policy returns a 200 status.
On failure, the policy returns 404 and output similar to the following (depending on whether you are deleting an access token, request token, or verifier.):
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
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>
سياسة الحصص
يصف هذا القسم رموز الخطأ ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تم ضبطها من خلال Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. من المهم معرفة هذه المعلومات إذا كنت تضع قواعد خطأ التعامل مع الأخطاء. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على ما تحتاج إلى معرفته حول أخطاء السياسة والتعامل مع المعالجة والأخطاء.
أخطاء بيئة التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
| رمز الخطأ | رموز حالة HTTP | السبب | إصلاح |
|---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 | يحدث إذا لم يتم تحديد العنصر <Interval> ضمن سياسة الحصة. هذا العنصر
إلزاميًا ويتم استخدامه لتحديد الفاصل الزمني الساري على الحصة. الفاصل الزمني
يمكن أن تكون دقائق أو ساعات أو أيام أو أسابيع أو أشهر كما هو محدّد في العنصر <TimeUnit>. |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | يحدث إذا لم يتم تحديد العنصر <TimeUnit> ضمن سياسة الحصة. هذا العنصر
إلزاميًا ويتم استخدامه لتحديد الوحدة الزمنية السارية على الحصة. الفاصل الزمني
يمكن أن تكون بالدقائق أو الساعات أو الأيام أو الأسابيع أو الأشهر. |
build |
policies.ratelimit.InvalidMessageWeight |
500 | يحدث إذا تم تحديد قيمة العنصر <MessageWeight> من خلال متغير التدفق
غير صالح (قيمة لا تمثل عددًا صحيحًا). |
build |
policies.ratelimit.QuotaViolation |
500 | تم تجاوز الحدّ الأقصى للحصة المخصّصة لك. | لا ينطبق |
أخطاء النشر
| اسم الخطأ | السبب | إصلاح |
|---|---|---|
InvalidQuotaInterval |
إذا كان الفاصل الزمني للحصة المحددة في العنصر <Interval> غير صحيح
عدد صحيح، فسيفشل نشر الخادم الوكيل لواجهة برمجة التطبيقات. على سبيل المثال، إذا كان فاصل الحصة
المحددة هي 0.1 في العنصر <Interval>، فإن نشر
تعذّر الخادم الوكيل لواجهة برمجة التطبيقات.
|
build |
InvalidQuotaTimeUnit |
إذا كانت الوحدة الزمنية المحدّدة في العنصر <TimeUnit> غير متوافقة،
فسيفشل نشر الخادم الوكيل لواجهة برمجة التطبيقات. الوحدات الزمنية المتوافقة هي minute،
hour وday وweek وmonth
|
build |
InvalidQuotaType |
إذا كان نوع الحصة المحدّدة من خلال السمة type في <Quota>
غير صالح، فسيفشل نشر الخادم الوكيل لواجهة برمجة التطبيقات. تشير رسالة الأشكال البيانية
إنّ أنواع الحصص المسموح بها هي default وcalendar وflexi وrollingwindow.
|
build |
InvalidStartTime |
إذا كان تنسيق الوقت المحدّد في العنصر <StartTime> هو
غير صالح، فسيفشل نشر الخادم الوكيل لواجهة برمجة التطبيقات. التنسيق الصالح هو yyyy-MM-dd HH:mm:ss.
وهو تنسيق التاريخ والوقت وفقًا لمعيار ISO 8601. بالنسبة
على سبيل المثال، إذا كان الوقت المحدّد في العنصر <StartTime> هو
7-16-2017 12:00:00 ثم تعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.
|
build |
StartTimeNotSupported |
إذا تم تحديد العنصر <StartTime> وكان نوع حصته غير محدد
calendar، ثم تعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات. العنصر <StartTime> هو
متوافقة فقط مع نوع الحصة calendar. على سبيل المثال، إذا تم ضبط السمة type
إلى flexi أو rolling window في العنصر <Quota>، ثم
فشل نشر الخادم الوكيل لواجهة برمجة التطبيقات.
|
build |
InvalidTimeUnitForDistributedQuota |
إذا تم ضبط العنصر <Distributed> على true وضبط العنصر <TimeUnit> على
second، ثم تعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات. الوحدة الزمنية second غير صالحة لـ
حصة موزعة. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
إذا كانت القيمة المحدّدة للعنصر <SyncIntervalInSeconds> داخل السمة
العنصر <AsynchronousConfiguration> في سياسة الحصة أقل من صفر،
فشل نشر الخادم الوكيل لواجهة برمجة التطبيقات. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
في حال ضبط قيمة العنصر <AsynchronousConfiguration> على true في سياسة الحصة، والتي
يحتوي على تهيئة غير متزامنة محددة باستخدام العنصر <AsynchronousConfiguration>، ثم
فشل نشر الخادم الوكيل لواجهة برمجة التطبيقات. |
build |
متغيّرات الأخطاء
يتم ضبط هذه المتغيّرات عندما تؤدي هذه السياسة إلى ظهور خطأ. يمكنك الاطّلاع على مقالة ما تحتاج إلى معرفته للحصول على مزيد من المعلومات. حول أخطاء السياسة.
| المتغيرات | المكان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. | ratelimit.QT-QuotaPolicy.failed = true |
مثال على استجابة الخطأ
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
مثال على قاعدة الخطأ
<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
يصف هذا القسم رموز الأخطاء ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تضبطها Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. هذه المعلومات مهمة لمعرفة ما إذا كنت تعمل على تطوير قواعد للأخطاء للتعامل معها. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات وأخطاء المعالجة.
أخطاء في وقت التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
| رمز الخطأ | رموز حالة HTTP | السبب | إصلاح |
|---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | لم يتم تحديد سياسة الحصة المحدّدة في العنصر <Quota> ضمن سياسة إعادة ضبط الحصة في الخادم الوكيل لواجهة برمجة التطبيقات، وبالتالي لا تتوفّر أثناء العملية. العنصر <Quota> إلزامي ويحدّد سياسة الحصة المستهدفة التي يجب تعديل عدّادها من خلال سياسة إعادة ضبط الحصة. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
لا ينطبق | لا يمكن تحويل المرجع إلى المتغيّر الذي يتضمّن عدد المسموح به في العنصر <Allow> في السياسة إلى قيمة. هذا العنصر إلزامي ويحدد المبلغ
المطلوب لخفض عدّاد الحصة. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | لا يمكن حلّ المتغيّر الذي تشير إليه السمة ref في العنصر <Quota>. |
build |
أخطاء النشر
يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.
| اسم الخطأ | السبب | إصلاح |
|---|---|---|
InvalidCount |
إذا لم تكن قيمة العدد المحدّدة في العنصر <Allow> في "سياسة إعادة ضبط الحصص" عددًا صحيحًا،
سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.
|
build |
سياسة RaiseFault
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
This section describes the error codes and messages returned and fault variables
set by Edge when this policy triggers an error. This information is important to know if
you are developing fault rules to handle faults. If you want to capture an error and raise your own
custom error, set the continueOnError="true" attribute on the policy root element.
To learn more, see
What you need to know about policy errors and Handling
faults.
Errors returned from Edge policies follow a consistent format as described in the Error code reference.
Runtime errors
These errors can occur when the policy executes.
| Error Code | Message |
|---|---|
| ExecutionFailed | Failed to execute the RegularExpressionProtection StepDefinition {0}. Reason: {1} |
| InstantiationFailed | Failed to instantiate the RegularExpressionProtection StepDefinition {0} |
| NonMessageVariable | Variable {0} does not resolve to a Message |
| SourceMessageNotAvailable | {0} message is not available for RegularExpressionProtection StepDefinition {1} |
| ThreatDetected | Regular Expression Threat Detected in {0}: regex: {1} input: {2} |
| VariableResolutionFailed | Failed to resolve variable {0} |
Deployment errors
| Error Code | Message | Fix |
|---|---|---|
| CannotBeConvertedToNodeset | RegularExpressionProtection {0}: Result of xpath {1} cannot be converted to nodeset. Context {2} | build |
| DuplicatePrefix | RegularExpressionProtection {0}: Duplicate prefix {1} | build |
| EmptyJSONPathExpression | RegularExpressionProtection {0}: Empty JSONPath expression | build |
| EmptyXPathExpression | RegularExpressionProtection {0}: Empty XPath expression | build |
| InvalidRegularExpression | RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2} | build |
| JSONPathCompilationFailed | RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2} | build |
| NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty uri | build |
| NoPatternsToEnforce | RegularExpressionProtection {0}: No patterns to enforce in {1} | build |
| NothingToEnforce | RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory | build |
| XPathCompilationFailed | RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {2} | build |
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 table above. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
سياسة SOAPMessageValidation
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
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.
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
SourceNotConfigured |
One or more of the following elements of the Validate SAML Assertion
policy is not defined or empty: <Source>, <XPath>,
<Namespaces>, <Namespace>.
|
build |
TrustStoreNotConfigured |
If the <TrustStore> element is empty or not specified in the
ValidateSAMLAssertion policy, then the deployment of the API proxy fails.
A valid Trust Store is required.
|
build |
NullKeyStoreAlias |
If the child element <Alias> is empty or not specified in the <Keystore>
element of Generate SAML Assertion policy, then the deployment of the API
proxy fails. A valid Keystore alias is required.
|
build |
NullKeyStore |
If the child element <Name> is empty or not specified in the <Keystore>
element of GenerateSAMLAssertion policy, then the deployment of the API
proxy fails. A valid Keystore name is required.
|
build |
NullIssuer |
If the <Issuer> element is empty or not specified in the Generate SAML
Assertion policy, then the deployment of the API proxy fails. A
valid <Issuer> value is required.
|
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. The fault name is the last part of the fault code. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
For a validate SAML assertion policy configuration, the error prefix is
ValidateSAMLAssertion. |
GenerateSAMLAssertion.failed = true |
Example error response
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Example fault rule
<FaultRules>
<FaultRule name="invalid_saml_rule">
<Step>
<Name>invalid-saml</Name>
</Step>
<Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
</FaultRule>
</FaultRules>سياسة ServiceCallout
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.servicecallout.ExecutionFailed |
500 |
This error can occur when:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | The Request variable specified in the policy is not of type Message. For example, if it's a string or other non-message type, you'll see this error. | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | The Request variable specified in the policy is not of type Request Message. For example, if it's a Response type, you'll see this error. | build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
URLMissing |
The <URL> element inside <HTTPTargetConnection>
is missing or empty. |
build |
ConnectionInfoMissing |
This error happens if the policy does not have an
<HTTPTargetConnection> or <LocalTargetConnection>
element. |
build |
InvalidTimeoutValue |
This error happens if the <Timeout> value is negative or zero. |
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 = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | servicecallout.SC-GetUserData.failed = true |
Example error response
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Example fault rule
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType">
<Step>
<Name>AM-RequestVariableNotMessageType</Name>
</Step>
<Condition>(fault.name = "RequestVariableNotMessageType")</Condition>
</FaultRule>سياسة SpikeArrest
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 |
|---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
This error occurs if the reference to the variable containing the rate setting
within the <Rate> element cannot be resolved to a value within the Spike Arrest
policy. This element is mandatory and used to specify the spike arrest rate in
the form of intpm or intps. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
This error occurs if the value specified for the <MessageWeight> element through
a flow variable is invalid (a non-integer value). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
The rate limit was exceeded. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidAllowedRate |
If the spike arrest rate specified in the <Rate> element of the Spike Arrest
Policy is not an integer or if the rate does not have ps or pm as a suffix,
then the deployment of the API proxy fails. |
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 Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | ratelimit.SA-SpikeArrestPolicy.failed = true |
Example error response
Shown below is an example error response:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
Example fault rule
Shown below is an example fault rule to handle a SpikeArrestViolation fault:
<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
This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
None.
Deployment errors
| Error name | Cause | Fix |
|---|---|---|
UnsupportedDatatype |
If the type of the variable specified by the ref attribute in the <Statistic> element
of the Statistics Collector policy is unsupported, then the deployment of the API proxy
fails. The supported data types are string, integer,
float, long, double, and boolean. |
build |
InvalidName |
If the name used to reference the data collected for the specified variable defined
within the <Statistic> element of the Statistics Collector policy conflicts with a
system-defined variable, then the deployment of the API proxy fails. Some of the known
system-defined variables are organization and environment. |
build |
DatatypeMissing |
If the type of the variable specified by the ref attribute in the <Statistic> element
of the Statistics Collector policy is missing, then the deployment of the API proxy fails. |
build |
Fault variables
None.
سياسة VerifyAPIKey
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 |
|---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | The Company associated with the Developer App that has the API key you are using has an inactive status. When a Company's status is set to inactive, you cannot access the developers or apps associated with that Company. An org admin can change a Company's status using the management API. See Set the Status of a Company. |
keymanagement.service.DeveloperStatusNotActive |
401 |
The developer who created the Developer App that has the API key you are using has an inactive status. When an App Developer's status is set to inactive, any Developer Apps created by that developer are deactivated. An admin user with appropriate permissions (such as Organization Administrator) can change a developer's status in the following ways:
|
keymanagement.service.invalid_client-app_not_approved |
401 | The Developer App associated with the API key is revoked. A revoked app cannot access any API products and cannot invoke any API managed by Apigee Edge. An org admin can change the status of a Developer App using the management API. See Approve or Revoke Developer App. |
oauth.v2.FailedToResolveAPIKey |
401 | The policy expects to find the API key in a variable that is specified in the policy's <APIKey> element. This error arises when the expected variable does not exist (it cannot be resolved). |
oauth.v2.InvalidApiKey |
401 | An API key was received by Edge, but it is invalid. When Edge looks up the key in its database, it must exactly match the on that was sent in the request. If the API worked previously, make sure the key was not regenerated. If the key was regenerated, you will see this error if you try to use the old key. For details, see Register apps and manage API keys. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | An API key was received by Edge, and it is valid; however, it does not match an approved key in the Developer App associated with your API proxy through a Product. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause |
|---|---|
SpecifyValueOrRefApiKey |
The <APIKey> element does not have a value or key specified. |
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 "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.VK-VerifyAPIKey.failed = true |
Example error responses
{
"fault":{
"faultstring":"Invalid ApiKey",
"detail":{
"errorcode":"oauth.v2.InvalidApiKey"
}
}
}{
"fault":{
"detail":{
"errorcode":"keymanagement.service.DeveloperStatusNotActive"
},
"faultstring":"Developer Status is not Active"
}
}Example fault rule
<FaultRule name="FailedToResolveAPIKey">
<Step>
<Name>AM-FailedToResolveAPIKey</Name>
</Step>
<Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition>
</FaultRule>VerifyJWS policy
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.AlgorithmInTokenNotPresentInConfiguration |
401 | Occurs when the verification policy has multiple algorithms |
steps.jws.AlgorithmMismatch |
401 | The algorithm specified in the header by the Generate policy did not match the one expected in the Verify policy. The algorithms specified must match. |
steps.jws.ContentIsNotDetached |
401 | <DetachedContent> is specified when the JWS does not contain a
detached content payload. |
steps.jws.FailedToDecode |
401 | The policy was unable to decode the JWS. The JWS is possibly corrupted. |
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.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.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.NoMatchingPublicKey |
401 | The Verify policy uses a JWKS as a source for public keys, but the kid
in the signed JWS is not listed in the JWKS. |
steps.jws.UnhandledCriticalHeader |
401 | A header found by the Verify JWS policy in the crit header is not
listed in KnownHeaders. |
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. |
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 "TokenExpired" |
JWS.failed |
All JWS policies set the same variable in the case of a failure. | jws.JWS-Policy.failed = true |
Example error response
For error handling, the best practice is to trap the errorcode part of the error
response. Do not rely on the text in the faultstring, because it could change.
Example fault rule
<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
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.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | Occurs when the verification policy has multiple algorithms. |
steps.jwt.AlgorithmMismatch |
401 | The algorithm specified in the Generate policy did not match the one expected in the Verify policy. The algorithms specified must match. |
steps.jwt.FailedToDecode |
401 | The policy was unable to decode the JWT. The JWT is possibly corrupted. |
steps.jwt.GenerationFailed |
401 | The policy was unable to generate the JWT. |
steps.jwt.InsufficientKeyLength |
401 | For a key less than 32 bytes for the HS256 algorithm, less than 48 bytes for the HS386 algortithm, and less than 64 bytes for the HS512 algorithm. |
steps.jwt.InvalidClaim |
401 | For a missing claim or claim mismatch, or a missing header or header mismatch. |
steps.jwt.InvalidCurve |
401 | The curve specified by the key is not valid for the Elliptic Curve algorithm. |
steps.jwt.InvalidJsonFormat |
401 | Invalid JSON found in the header or payload. |
steps.jwt.InvalidToken |
401 | This error occurs when the JWT signature verification fails. |
steps.jwt.JwtAudienceMismatch |
401 | The audience claim failed on token verification. |
steps.jwt.JwtIssuerMismatch |
401 | The issuer claim failed on token verification. |
steps.jwt.JwtSubjectMismatch |
401 | The subject claim failed on token verification. |
steps.jwt.KeyIdMissing |
401 | The Verify policy uses a JWKS as a source for public keys, but the signed JWT does not
include a kid property in the header. |
steps.jwt.KeyParsingFailed |
401 | The public key could not be parsed from the given key information. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Occurs when the JWT contains no algorithm header. |
steps.jwt.NoMatchingPublicKey |
401 | The Verify policy uses a JWKS as a source for public keys, but the kid
in the signed JWT is not listed in the JWKS. |
steps.jwt.SigningFailed |
401 | In GenerateJWT, for a key less than the minimum size for the HS384 or HS512 algorithms |
steps.jwt.TokenExpired |
401 | The policy attempts to verify an expired token. |
steps.jwt.TokenNotYetValid |
401 | The token is not yet valid. |
steps.jwt.UnhandledCriticalHeader |
401 | A header found by the Verify JWT policy in the crit header is not
listed in KnownHeaders. |
steps.jwt.UnknownException |
401 | An unknown exception occurred. |
steps.jwt.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 | Cause | Fix |
|---|---|---|
InvalidNameForAdditionalClaim |
The deployment will fail if the claim used in the child element <Claim>
of the <AdditionalClaims> element is one of the following registered names:
kid, iss, sub, aud, iat,
exp, nbf, or jti.
|
build |
InvalidTypeForAdditionalClaim |
If the claim used in the child element <Claim>
of the <AdditionalClaims> element is not of type string, number,
boolean, or map, the deployment will fail.
|
build |
MissingNameForAdditionalClaim |
If the name of the claim is not specified in the child element <Claim>
of the <AdditionalClaims> element, the deployment will fail.
|
build |
InvalidNameForAdditionalHeader |
This error ccurs when the name of the claim used in the child element <Claim>
of the <AdditionalClaims> element is either alg or typ.
|
build |
InvalidTypeForAdditionalHeader |
If the type of claim used in the child element <Claim>
of the <AdditionalClaims> element is not of type string, number,
boolean, or map, the deployment will fail.
|
build |
InvalidValueOfArrayAttribute |
This error occurs when the value of the array attribute in the child element <Claim>
of the <AdditionalClaims> element is not set to true or false.
|
build |
InvalidValueForElement |
If the value specified in the <Algorithm> element is not a supported value,
the deployment will fail.
|
build |
MissingConfigurationElement |
This error will occur if the <PrivateKey> element is not used with
RSA family algorithms or the <SecretKey> element is not used with HS Family
algorithms.
|
build |
InvalidKeyConfiguration |
If the child element <Value> is not defined in the <PrivateKey>
or <SecretKey> elements, the deployment will fail.
|
build |
EmptyElementForKeyConfiguration |
If the ref attribute of the child element <Value> of the <PrivateKey>
or <SecretKey> elements is empty or unspecified, the deployment will fail.
|
build |
InvalidConfigurationForVerify |
This error occurs if the <Id> element is defined within the
<SecretKey> element.
|
build |
InvalidEmptyElement |
This error occurs if the <Source> element of the Verify JWT policy
is empty. If present, it must be defined with an Edge flow variable name.
|
build |
InvalidPublicKeyValue |
If the value used in the child element <JWKS> of the <PublicKey> element
does not use a valid format as specified in RFC 7517,
the deployment will fail.
|
build |
InvalidConfigurationForActionAndAlgorithm |
If the <PrivateKey> element is used with HS Family algorithms or
the <SecretKey> element is used with RSA Family algorithms, the
deployment will fail.
|
build |
متغيّرات الأخطاء
يتم ضبط هذه المتغيّرات عند حدوث خطأ في بيئة التشغيل. يمكنك الاطّلاع على مقالة ما تحتاج إلى معرفته للحصول على مزيد من المعلومات. حول أخطاء السياسة.
| المتغيرات | المكان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name Matches "TokenExpired" |
JWT.failed |
تضبط جميع سياسات JWT المتغيّر نفسه في حال حدوث عطل. | JWT.failed = true |
مثال على استجابة الخطأ
لمعالجة الخطأ، أفضل ممارسة هي رصد الجزء errorcode من الخطأ
الاستجابة. لا تعتمد على النص في faultstring، لأنه قد يتغير.
مثال على قاعدة الخطأ
<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
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.xmlthreatprotection.ExecutionFailed |
500 | The XMLThreatProtection 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: element name length, child count, node depth, attribute count, attribute name length, and many others. You can see the complete list in the XMLThreatProtection policy runtime error troubleshooting topic. | build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
This error occurs if the input message payload specified by the XMLThreatProtection policy's <Source> element is not a valid XML Document.
|
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
This error occurs if the message
variable specified in the <Source> element is either:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
This error occurs if the <Source> element is set to a variable which
is not of type
message.
|
build |
Notes:
- The error name ExecutionFailed is the default error name and will be returned regardless of the type of error detected; however, this default can be changed by setting an organization-level property. When this property is set, the error name will reflect the actual error. For example, "TextExceeded" or "AttrValueExceeded". See Usage Notes for details.
- The 500 HTTP status is the default; however, the HTTP Status can be changed to 400 for request flow faults by setting an organization-level property. See Usage Notes for details.
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" |
xmlattack.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | xmlattack.XPT-SecureRequest.failed = true |
Example error response
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Example fault rule
<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
يصف هذا القسم رموز الخطأ ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تم ضبطها من خلال Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. من المهم معرفة هذه المعلومات إذا كنت تضع قواعد خطأ التعامل مع الأخطاء. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على ما تحتاج إلى معرفته حول أخطاء السياسة والتعامل مع المعالجة والأخطاء.
أخطاء بيئة التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
| رمز الخطأ | رموز حالة HTTP | السبب | إصلاح |
|---|---|---|---|
steps.xmltojson.ExecutionFailed |
500 | يحدث هذا الخطأ عندما تكون حمولة البيانات المُدخلة (XML) فارغة أو عندما يكون تنسيق XML الذي تم إدخاله غير صالح أو مكتوبًا بشكلٍ غير صحيح. | build |
steps.xmltojson.InCompatibleType |
500 | يحدث هذا الخطأ إذا كان نوع المتغيّر المحدَّد في العنصر <Source>
العنصر <OutputVariable> ليس هو نفسه. يجب أن يكون نوع المتغيرات
التي يتم تضمينها في العنصر <Source> وتتطابق العنصر <OutputVariable>.
|
build |
steps.xmltojson.InvalidSourceType |
500 | يحدث هذا الخطأ إذا كان نوع المتغيّر المستخدَم لتعريف عنصر <Source> هو
غير صالح.أنواع المتغير الصالحة هي الرسالة والسلسلة. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
500 | يحدث هذا الخطأ إذا كان المتغير المحدّد في العنصر <Source> في ملف XML
إنّ سياسة JSON من النوع سلسلة ولم يتم تحديد العنصر <OutputVariable>.
يكون العنصر <OutputVariable> إلزاميًا إذا تم تحديد المتغيّر في <Source>.
العنصر من نوع السلسلة. |
build |
steps.xmltojson.SourceUnavailable |
500 |
يحدث هذا الخطأ إذا كانت الرسالة
يكون المتغيّر المحدَّد في العنصر <Source> ضمن سياسة XML إلى JSON إما:
|
build |
أخطاء النشر
يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.
| اسم الخطأ | السبب | إصلاح |
|---|---|---|
EitherOptionOrFormat |
إذا لم يكن أحد العنصرين <Options> أو <Format>
المحددة في XML إلى سياسة JSON، فسيفشل نشر الخادم الوكيل لواجهة برمجة التطبيقات.
|
build |
UnknownFormat |
إذا كان العنصر <Format> في سياسة XML إلى JSON يتضمّن قيمة غير معروفة
المحدد، فسيفشل نشر الخادم الوكيل لواجهة برمجة التطبيقات. تتضمن التنسيقات المحددة مسبقًا ما يلي:
"xml.com" وyahoo" و"google" و"badgerFish"
|
build |
متغيّرات الأخطاء
يتم ضبط هذه المتغيّرات عند حدوث خطأ في بيئة التشغيل. يمكنك الاطّلاع على مقالة ما تحتاج إلى معرفته للحصول على مزيد من المعلومات. حول أخطاء السياسة.
| المتغيرات | المكان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. | xmltojson.XMLtoJSON-1.failed = true |
مثال على استجابة الخطأ
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
مثال على قاعدة الخطأ
<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
أخطاء في وقت التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
| رمز الخطأ | رموز حالة HTTP | السبب | إصلاح |
|---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
يحدث هذا الخطأ إذا كان متغيّر الرسالة أو السلسلة المحدَّد في العنصر <Source> في سياسة
XSL Transform خارج النطاق (أي أنّه غير متوفّر في المسار المحدّد الذي
يتم فيه تنفيذ السياسة) أو لا يمكن حلّه (لم يتم تحديده).
|
build |
steps.xsl.XSLEvaluationFailed |
500 | يحدث هذا الخطأ إذا كانت حمولة بيانات XML المدخلة غير متوفرة/غير صحيحة أو إذا تعذَّر أو يتعذّر على سياسة BigQueryransform تحويل ملف XML المدخل استنادًا إلى قواعد التحويل المتوفرة في ملف XSL. قد يكون هناك العديد من الأسباب المختلفة لتعذُّر تنفيذ سياسة WebRTC. سيوفر سبب عدم ظهور رسالة الخطأ مزيدًا من المعلومات حول السبب. | build |
أخطاء النشر
يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.
| اسم الخطأ | السبب | إصلاح |
|---|---|---|
XSLEmptyResourceUrl |
إذا كان العنصر <ResourceURL> في سياسة تحويل XSL فارغًا، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات. |
build |
XSLInvalidResourceType |
إذا لم يكن نوع المورد المحدّد في العنصر <ResourceURL> ضمن سياسة XSL Transform
من النوع xsl، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات. |
build |