Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Zasada AccessControl
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wyzwala błąd. Warto o tym wiedzieć, jeśli rozwijasz reguły błędów, aby obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna | Napraw |
|---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | Adres IP klienta lub adres IP przekazany
w żądaniu do interfejsu API odpowiada adresowi IP określonemu w elemencie <SourceAddress> w obrębie
element <MatchRule> zasad kontroli dostępu oraz atrybut action klasy
Element <MatchRule> jest ustawiony na DENY. |
build |
Zmienne błędów
Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Zmienne związane z błędami związanymi z zasadami.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | acl.AC-AllowAccess.failed = true |
Przykładowa odpowiedź na błąd
{
"fault":{
"faultstring":"Access Denied for client ip : 52.211.243.3"
"detail":{
"errorcode":"accesscontrol.IPDeniedAccess"
}
}
}Przykładowa reguła błędu
<FaultRule name="IPDeniedAccess">
<Step>
<Name>AM-IPDeniedAccess</Name>
<Condition>(fault.name Matches "IPDeniedAccess") </Condition>
</Step>
<Condition>(acl.failed = true) </Condition>
</FaultRule>Zasada AccessEntity
Powiązane informacje znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.
Błędy w czasie wykonywania
Brak.
Błędy wdrażania
| Nazwa błędu | Ciąg błędu | Stan HTTP | Występuje, gdy |
|---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
Nie dotyczy | Użyty typ encji musi być jednym z obsługiwanych typów. |
Zasada AssignMessage
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wyzwala błąd. Warto o tym wiedzieć, jeśli rozwijasz reguły błędów, aby obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna | Napraw |
|---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 | Zasada nie mogła ustawić zmiennej. Zobacz ciąg błędu dla nazwy nierozwiązane. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Ten błąd występuje, jeśli atrybut Zmienne typu wiadomości reprezentują całe żądania i odpowiedzi HTTP. Wbudowana aplikacja Edge
Zmienne przepływu |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Ten błąd występuje, jeśli zmienna określona w zasadzie przypisywania wiadomości to:
|
build |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego tę zasadę.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
InvalidIndex |
Jeśli indeks określony w elementach <Copy> i/lub <Remove> pliku Assign Message (Przypisywanie wiadomości)
ma wartość 0 lub jest liczbą ujemną, wdrożenie serwera proxy interfejsu API się nie uda.
|
build |
InvalidVariableName |
Jeśli element podrzędny <Name> jest pusty lub nie został określony w elemencie <AssignVariable>,
wdrożenie serwera proxy interfejsu API nie powiedzie się, ponieważ brakuje prawidłowej nazwy zmiennej,
aby przypisać wartość. Wymagana jest prawidłowa nazwa zmiennej.
|
build |
InvalidPayload |
Ładunek określony w zasadzie jest nieprawidłowy. |
Zmienne błędów
Te zmienne są ustawiane, gdy ta zasada wywołuje błąd w czasie działania. Aby dowiedzieć się więcej, zapoznaj się z artykułem Co musisz wiedzieć o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "UnresolvedVariable" |
assignmessage.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | assignmessage.AM-SetResponse.failed = true |
Przykładowa odpowiedź na błąd
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
Przykładowa reguła błędu
<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>
Zasada 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>Zasada 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>Zasada DecodeJWS
W tej sekcji opisujemy kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wywołuje błąd. Te informacje są ważne, jeśli opracowujesz reguły dotyczące błędów do obsługi takich błędów. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Występuje, gdy |
|---|---|---|
steps.jws.FailedToDecode |
401 | Nie udało się zdekodować JWS za pomocą zasady. Być może JWS jest uszkodzony. |
steps.jws.FailedToResolveVariable |
401 | Występuje, gdy zmienna przepływu określona w elemencie <Source> zasady nie istnieje. |
steps.jws.InvalidClaim |
401 | Brak zgodności z deklaracją lub zgłoszeniem albo brak zgodności nagłówka lub nagłówka. |
steps.jws.InvalidJsonFormat |
401 | W nagłówku JWS znaleziono nieprawidłowy kod JSON. |
steps.jws.InvalidJws |
401 | Ten błąd występuje, gdy weryfikacja podpisu JWS nie powiedzie się. |
steps.jws.InvalidPayload |
401 | Ładunek JWS jest nieprawidłowy. |
steps.jws.InvalidSignature |
401 | Element <DetachedContent> jest pominięty, a JWS ma odłączony ładunek treści. |
steps.jws.MissingPayload |
401 | Brak ładunku JWS. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Występuje, gdy JWS pomija nagłówek algorytmu. |
steps.jws.UnknownException |
401 | Wystąpił nieznany wyjątek. |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
| Nazwa błędu | Występuje, gdy |
|---|---|
InvalidAlgorithm |
Jedyne prawidłowe wartości to: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
|
Inne możliwe błędy wdrażania. |
Zmienne błędów
Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "TokenExpired" |
JWS.failed |
Wszystkie zasady JWS ustawiają tę samą zmienną w przypadku awarii. | jws.JWS-Policy.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów sprawdzoną metodą jest przechwycenie części błędu errorcode.
. Nie polegaj na tekście zawartym w pliku faultstring, ponieważ może się on zmienić.
Przykładowa reguła błędu
<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>Zasada 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 |
Zmienne błędów
Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "TokenExpired" |
JWT.failed |
Wszystkie zasady JWT ustawiają tę samą zmienną w przypadku niepowodzenia. | JWT.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów sprawdzoną metodą jest przechwycenie części błędu errorcode.
. Nie polegaj na tekście zawartym w pliku faultstring, ponieważ może się on zmienić.
Przykładowa reguła błędu
<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>
Zasada 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>
Zasada GenerateJWS
W tej sekcji opisujemy kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wywołuje błąd. Te informacje są ważne, jeśli opracowujesz reguły dotyczące błędów w przypadku tych błędów. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Występuje, gdy |
|---|---|---|
steps.jws.GenerationFailed |
401 | Za pomocą zasady nie udało się wygenerować pakietu JWS. |
steps.jws.InsufficientKeyLength |
401 | Dla klucza krótszego niż 32 bajty dla algorytmu HS256 |
steps.jws.InvalidClaim |
401 | Brak zgodności z deklaracją lub zgłoszeniem albo brak zgodności nagłówka lub nagłówka. |
steps.jws.InvalidCurve |
401 | Krzywa określona przez klucz jest nieprawidłowa dla algorytmu krzywych eliptycznych. |
steps.jws.InvalidJsonFormat |
401 | W nagłówku JWS znaleziono nieprawidłowy kod JSON. |
steps.jws.InvalidPayload |
401 | Ładunek JWS jest nieprawidłowy. |
steps.jws.InvalidSignature |
401 | Element <DetachedContent> jest pominięty, a JWS ma odłączony ładunek treści. |
steps.jws.KeyIdMissing |
401 | Zasada weryfikacji używa JWKS jako źródła kluczy publicznych, ale podpisany JWS nie zawiera w nagłówku właściwości kid. |
steps.jws.KeyParsingFailed |
401 | Nie udało się przeanalizować klucza publicznego na podstawie podanych informacji o kluczu. |
steps.jws.MissingPayload |
401 | Brak ładunku JWS. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Występuje, gdy JWS pomija nagłówek algorytmu. |
steps.jws.SigningFailed |
401 | W WygenerujJWS klucz mniejszy niż minimalny rozmiar algorytmów HS384 lub HS512 |
steps.jws.UnknownException |
401 | Wystąpił nieznany wyjątek. |
steps.jws.WrongKeyType |
401 | Podano nieprawidłowy typ klucza. Możesz na przykład podać klucz RSA dla algorytmu krzywych eliptycznych lub klucz krzywej dla algorytmu RSA. |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
| Nazwa błędu | Występuje, gdy |
|---|---|
InvalidAlgorithm |
Jedyne prawidłowe wartości to: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
|
Inne możliwe błędy wdrażania. |
Zmienne błędów
Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "TokenExpired" |
JWS.failed |
Wszystkie zasady JWS ustawiają tę samą zmienną w przypadku awarii. | jws.JWS-Policy.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów sprawdzoną metodą jest przechwycenie części błędu errorcode.
. Nie polegaj na tekście zawartym w pliku faultstring, ponieważ może się on zmienić.
Przykładowa reguła błędu
<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>Zasada GenerateJWT
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 |
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 |
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 |
InvalidVariableNameForSecret |
This error occurs if the flow variable name specified in the ref attribute of the child
element <Value> of the <PrivateKey>
or <SecretKey> elements does not contain the private prefix (private.).
|
build |
InvalidSecretInConfig |
This error occurs if the child element <Value> of the <PrivateKey>
or <SecretKey> elements does not contain the private prefix (private.).
|
build |
InvalidTimeFormat |
If the value specified in the<NotBefore> element does not use a
supported format, the deployment will fail.
|
build |
Zmienne błędów
Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "TokenExpired" |
JWT.failed |
Wszystkie zasady JWT ustawiają tę samą zmienną w przypadku niepowodzenia. | JWT.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów sprawdzoną metodą jest przechwycenie części błędu errorcode.
. Nie polegaj na tekście zawartym w pliku faultstring, ponieważ może się on zmienić.
Przykładowa reguła błędu
<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>
Zasada 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>
Zasada JavaScript
W tej sekcji opisano zwracane kody błędów i komunikaty o błędach oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wywołuje błąd. To ważna informacja jeśli tworzysz reguły błędów obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna | Napraw |
|---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 | Zasada JavaScript może generować wiele różnych typów błędów ScriptExecutionFailed. Powszechnie widoczne typy błędów to RangeError, ReferenceError, SyntaxError, TypeError oraz URIError. | build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 | Wystąpił błąd w kodzie JavaScript. Szczegóły znajdziesz w ciągu znaków z błędem. | Nie dotyczy |
steps.javascript.ScriptSecurityError |
500 | Podczas wykonywania skryptu JavaScript wystąpił błąd zabezpieczeń. Zobacz ciąg błędu dla . | Nie dotyczy |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego tę zasadę.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
InvalidResourceUrlFormat |
Jeśli format adresu URL zasobu określony w elemencie <ResourceURL> lub <IncludeURL> zasady JavaScript jest nieprawidłowy, wdrożenie serwera proxy interfejsu API się nie uda. |
build |
InvalidResourceUrlReference |
Jeśli elementy <ResourceURL> lub <IncludeURL>
do pliku JavaScript, który nie istnieje, wdrożenie serwera proxy interfejsu API się nie uda.
Wskazany plik źródłowy musi istnieć na poziomie serwera proxy interfejsu API, środowiska lub organizacji. |
build |
WrongResourceType |
Ten błąd występuje podczas wdrażania, jeśli <ResourceURL> lub <IncludeURL>
elementy zasady JavaScript odwołują się do dowolnego typu zasobu innego niż jsc (plik JavaScript). |
build |
NoResourceURLOrSource |
Wdrożenie zasady JavaScript może się nie udać z tym błędem, jeśli <ResourceURL>
element nie jest zadeklarowany lub adres URL zasobu nie jest zdefiniowany w tym elemencie.
Element <ResourceURL> jest wymaganym elementem. lub element <IncludeURL> jest zadeklarowany.
ale URL zasobu nie jest zdefiniowany w tym elemencie. Element <IncludeURL> jest opcjonalny.
ale jeśli zadeklarowano, URL zasobu musi być określony w elemencie <IncludeURL>. |
build |
Zmienne błędów
Te zmienne są ustawiane, gdy ta zasada wywołuje błąd w czasie działania. Aby dowiedzieć się więcej, zapoznaj się z artykułem Co musisz wiedzieć o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | javascript.JavaScript-1.failed = true |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Przykładowa reguła błędu
<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>
Zasada 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>
Typy zasad JSONThreatProtection definiują te kody błędów:
Zasada JSONtoXML
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 | The input payload (JSON) is empty or the input (JSON) passed to JSON to XML policy is invalid or malformed. | build |
steps.jsontoxml.InCompatibleTypes |
500 | This error occurs if the type of the variable defined in the <Source> element and
the <OutputVariable> element are not the same. It is mandatory that the type of the
variables contained within the <Source> element and the <OutputVariable> element
matches. The valid types are message and string. |
build |
steps.jsontoxml.InvalidSourceType |
500 | This error occurs if the type of the variable used to define the <Source> element
is invalid. The valid types of variable are message and string. |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 | This error occurs if the variable specified in the <Source> element of the JSON to
XML Policy is of type string and the <OutputVariable> element is not defined.
The <OutputVariable> element is mandatory when the variable defined in the <Source>
element is of type string. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
This error occurs if the message
variable specified in the <Source> element of the JSON to XML policy is either:
|
build |
Deployment errors
None.
Fault variables
These variables are set when a runtime error occurs. For more information, see What you need to know about policy errors.
| Variables | Where | Example |
|---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | jsontoxml.JSON-to-XML-1.failed = true |
Example error response
{
"fault": {
"faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available",
"detail": {
"errorcode": "steps.json2xml.SourceUnavailable"
}
}
}Example fault rule
<FaultRule name="JSON To XML Faults">
<Step>
<Name>AM-SourceUnavailableMessage</Name>
<Condition>(fault.name Matches "SourceUnavailable") </Condition>
</Step>
<Step>
<Name>AM-BadJSON</Name>
<Condition>(fault.name = "ExecutionFailed")</Condition>
</Step>
<Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition>
</FaultRule>Zasada KeyValueMapOperations
W tej sekcji opisujemy kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wywołuje błąd. Te informacje są ważne, jeśli opracowujesz reguły dotyczące błędów do obsługi takich błędów. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna | Napraw |
|---|---|---|---|
steps.keyvaluemapoperations.SetVariableFailed |
500 |
Ten błąd występuje, gdy próbujesz pobrać wartość z zaszyfrowanej mapy par kluczy i ustawić wartość na zmienną, której nazwa nie ma prefiksu |
build |
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
Ten błąd występuje, jeśli atrybut |
build |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
InvalidIndex |
Jeśli atrybut index określony w elemencie <Get> w zasadzie operacji mapowania par klucz-wartość ma wartość zero lub jest liczbą ujemną, wdrożenie serwera proxy interfejsu API się nie uda. Indeks zaczyna się od 1, więc indeks o wartości 0 lub ujemna liczba całkowita jest uznawany za nieprawidłowy.
|
build |
KeyIsMissing |
Ten błąd występuje, jeśli całkowicie brakuje elementu <Key> lub brakuje elementu <Parameter> w elemencie <Key> poniżej <Entry> elementu <InitialEntries> zasad operacji mapy klucz-wartość.
|
build |
ValueIsMissing |
Ten błąd występuje, jeśli brakuje elementu <Value> pod elementem <Entry> elementu <InitialEntries> zasady operacji na mapie par klucz-wartość. |
build |
Zasada LDAP
Ta zasada używa tych kodów błędów:
| Kod błędu | przekaz, |
|---|---|
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. |
Zasada MessageLogging
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wyzwala błąd. Warto o tym wiedzieć, jeśli rozwijasz reguły błędów, aby obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna |
|---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | Zobacz ciąg błędu. |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego tę zasadę.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
InvalidProtocol |
Wdrożenie zasady MessageLogging może się nie udać z tym błędem, jeśli protokół
określona w elemencie <Protocol> jest nieprawidłowa. Prawidłowe protokoły to TCP i UDP.
W przypadku wysyłania komunikatów syslog przez TLS/SSL obsługiwany jest tylko protokół TCP. |
build |
InvalidPort |
Wdrożenie zasady MessageLogging może się nie udać z tym błędem, jeśli numer portu
nie jest określony w elemencie <Port> lub jest nieprawidłowy. Numer portu musi być
liczbą całkowitą większą od zera. |
build |
Zmienne błędów
Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | messagelogging.ML-LogMessages.failed = true |
Przykładowa odpowiedź na błąd
{
"fault":{
"detail":{
"errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
},
"faultstring":"Execution failed"
}
}Przykładowa reguła błędu
<FaultRule name="MessageLogging">
<Step>
<Name>ML-LogMessages</Name>
<Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
</Step>
<Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>Zasada OASValidation
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.oasvalidation.Failed |
500 | Request message body cannot be validated against the provided OpenAPI Specification. | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
Variable specified in the |
|
steps.oasvalidation.NotMessageVariable |
500 |
|
build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | |
|---|---|---|
ResourceDoesNotExist |
OpenAPI Specification referenced in the <OASResource> element does not exist.
|
|
ResourceCompileFailed |
OpenAPI Specification that is included in the deployment contains errors that prevent it from being compiled. This generally indicates that the specification is not a well-formed OpenAPI Specification 3.0. | |
BadResourceURL |
OpenAPI Specification referenced in the <OASResource> element cannot be processed. This can occur if the file is not a JSON or YAML file or the
file URL is not specified correctly.
|
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 "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oasvalidation.myoaspolicy.failed = true |
Zasada 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>Zasada LookupCache
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 is set to a
name which does not exist in the environment where the API proxy is being deployed. |
build |
InvalidTimeout |
If the <CacheLookupTimeoutInSeconds> element is set to
a negative number, then the deployment of the API proxy fails. |
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
Zasada InvalidateCache
W tej sekcji opisujemy komunikaty o błędach i zmienne przepływu ustawiane, gdy ta zasada wywołuje błąd. Te informacje są ważne, jeśli opracowujesz reguły błędów dla serwera proxy. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.
Prefiks kodu błędu
Nie dotyczy
Błędy w czasie wykonywania
Ta zasada nie powoduje błędów podczas działania.
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
InvalidCacheResourceReference |
Ten błąd występuje, jeśli element <CacheResource> w zasadzie InvalidateCache jest ustawiony na nazwę, która nie istnieje w środowisku, w którym wdrażany jest serwer proxy interfejsu API. |
build |
CacheNotFound |
Ten błąd występuje, jeśli pamięć podręczna wymieniona w komunikacie o błędzie nie została utworzona w konkretnym komponencie procesora wiadomości. | build |
Zmienne błędów
Nie dotyczy
Przykładowa odpowiedź na błąd
Nie dotyczy
Zasada 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
Zasada OAuthV2
W tej sekcji opisaliśmy kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów, które są ustawiane przez Edge, gdy ta zasada powoduje błąd. Te informacje są ważne, jeśli opracowujesz reguły dotyczące błędów, aby radzić sobie z błędami. Więcej informacji znajdziesz w artykułach Więcej informacji o błędach związanych z naruszeniem zasad i Rozwiązywanie problemów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna | Wyjątki zgłaszane przez operacje |
|---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | Token dostępu wygasł. |
VerifyAccessToken |
steps.oauth.v2.access_token_not_approved |
401 | Token dostępu został unieważniony. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 | Żądany zasób nie istnieje w żadnym z produktów interfejsu API powiązanych z tokenem dostępu. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 | Zasady oczekują znalezienia tokena dostępu w zmiennej określonej w elemencie <AccessToken>, ale nie udało się rozwiązać zmiennej. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 | Polityka oczekiwała znalezienia kodu autoryzacji w zmiennej określonej w elemencie <Code>, ale nie udało się rozwiązać zmiennej. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 | Zasady oczekują znalezienia identyfikatora klienta w zmiennej określonej w elemencie <ClientId>, ale nie udało się rozwiązać zmiennej. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 | Reguła oczekiwała znalezienia tokena odświeżania w zmiennej określonej w elemencie <RefreshToken>, ale nie udało się odnaleźć tej zmiennej. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 | Zasady miały znaleźć token w zmiennej określonej w elemencie <Tokens>, ale nie udało się zinterpretować zmiennej. |
ValidateToken |
steps.oauth.v2.InsufficientScope |
403 | Token dostępu przedstawiony w żądaniu ma zakres, który nie jest zgodny z zakresem określonym w zasadach weryfikacji tokena dostępu. Więcej informacji o zakresie znajdziesz w artykule Praca z zakresami OAuth2. | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 | Token dostępu wysłany z klienta jest nieprawidłowy. | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
Ta nazwa błędu jest zwracana, gdy właściwość Uwaga: zalecamy zmianę warunków istniejących reguł błędów, aby uwzględnić nazwy |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.InvalidRequest |
400 | Ta nazwa błędu jest używana w przypadku wielu różnych rodzajów błędów, zwykle w przypadku braku lub nieprawidłowego wysłania parametrów w żądaniu. Jeśli <GenerateResponse> jest ustawiony na false, użyj zmiennych dotyczących błędów (opisanych poniżej), aby pobrać szczegóły dotyczące błędu, takie jak nazwa i przyczyna błędu. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 | W nagłówku autoryzacji brakuje słowa „Bearer”, które jest wymagane. Na przykład: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
Serwer proxy interfejsu API nie znajduje się w usłudze powiązanej z tokiem dostępu. Wskazówki: sprawdź, czy produkt powiązany z tokenem dostępu jest prawidłowo skonfigurowany. Jeśli na przykład używasz symboli wieloznacznych w ścieżkach zasobów, sprawdź, czy są one używane prawidłowo. Więcej informacji znajdziesz w artykule Tworzenie usług API. Więcej informacji o przyczynach tego błędu znajdziesz też w tym poście na forum społeczności Apigee. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
Ta nazwa błędu jest zwracana, gdy parametr |
GenerateAccessToken |
steps.oauth.v2.InvalidParameter |
500 | Zasady muszą określać albo token dostępu, albo kod autoryzacji, ale nie oba. | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 | Element <Tokens>/<Token> wymaga podania typu tokena (na przykład refreshtoken). Jeśli klient przekaże nieprawidłowy typ, zostanie zgłoszony ten błąd. |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 | Typ odpowiedzi to token, ale nie określono typów dotacji. |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
Klient określił typ grantu, który nie jest obsługiwany przez zasady (nie jest wymieniony w elemencie <SupportedGrantTypes>). Uwaga: występuje obecnie błąd, który powoduje, że błędy dotyczące nieobsługiwanych typów grantów nie są prawidłowo zgłaszane. Jeśli wystąpi błąd nieobsługiwanego typu grantu, serwer proxy nie przechodzi do oczekiwanego przepływu danych w przypadku błędu. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego tę zasadę.
| Nazwa błędu | Przyczyna |
|---|---|
InvalidValueForExpiresIn |
W przypadku elementu |
InvalidValueForRefreshTokenExpiresIn |
W przypadku elementu <RefreshTokenExpiresIn> prawidłowe wartości to dodatnie liczby całkowite i -1. |
InvalidGrantType |
W elemencie <SupportedGrantTypes> podano nieprawidłowy typ uprawnień. Listę prawidłowych typów znajdziesz w dokumentacji zasad. |
ExpiresInNotApplicableForOperation |
Upewnij się, że operacje określone w elemencie <Operations> obsługują wygaśnięcie. Na przykład operacja VerifyToken nie jest wywoływana. |
RefreshTokenExpiresInNotApplicableForOperation |
Upewnij się, że operacje określone w elemencie <Operations> obsługują wygaśnięcie tokena odświeżania. Na przykład operacja VerifyToken nie jest wywoływana. |
GrantTypesNotApplicableForOperation |
Upewnij się, że typy uprawnień określone w <SupportedGrantTypes> są obsługiwane w przypadku określonej operacji. |
OperationRequired |
W tej regule musisz określić operację za pomocą elementu Uwaga: jeśli element |
InvalidOperation |
W tych zasadach musisz określić prawidłową operację za pomocą elementu Uwaga: jeśli element |
TokenValueRequired |
W elemencie <Tokens> musisz podać wartość tokena <Token>. |
Zmienne błędów
Te zmienne są ustawiane, gdy zasada powoduje błąd w czasie wykonywania.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, jak podano w tabeli Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatni element kodu błędu. | fault.name = "InvalidRequest" |
oauthV2.policy_name.failed |
policy_name to nazwa zasady określona przez użytkownika, która spowodowała błąd. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name to nazwa zasady określona przez użytkownika, która spowodowała błąd. | oauthV2.GenerateAccesstoken.fault.name = InvalidRequest
Uwaga: w przypadku operacji VerifyAccessToken nazwa błędu zawiera ten przyrostek: |
oauthV2.policy_name.fault.cause |
policy_name to nazwa zasady określona przez użytkownika, która spowodowała błąd. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
Przykładowa odpowiedź na błąd
Te odpowiedzi są wysyłane z powrotem do klienta, jeśli element <GenerateResponse> ma wartość true.
Jeśli <GenerateResponse> ma wartość prawda, zasady zwracają błędy w tym formacie w przypadku operacji generujących tokeny i kody. Pełną listę znajdziesz w artykule Przewodnik po odpowiedziach HTTP błędów OAuth.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}Jeśli <GenerateResponse> ma wartość prawda, zasady zwracają błędy w tym formacie w przypadku operacji weryfikacji i potwierdzania. Pełną listę znajdziesz w artykule Przewodnik po odpowiedziach HTTP błędów OAuth.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
Przykładowa reguła błędu
<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>Zasada GetOAuthV2Info
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. The error names shown below are the strings
that are assigned to the fault.name variable when an error occurs. See the Fault
variables section below for more details.
| Fault code | HTTP status | Cause |
|---|---|---|
steps.oauth.v2.access_token_expired |
500 | The access token sent to the policy is expired. |
steps.oauth.v2.authorization_code_expired |
500 | The authorization code sent to the policy is expired. |
steps.oauth.v2.invalid_access_token |
500 | The access token sent to the policy is invalid. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 | The client ID sent to the policy is invalid. |
steps.oauth.v2.invalid_refresh_token |
500 | The refresh token sent to the policy is invalid. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 | 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. |
steps.oauth.v2.refresh_token_expired |
500 | The refresh token sent to the policy is expired. |
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 Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
Example error response
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
Example fault rule
<FaultRule name="OAuthV2 Faults">
<Step>
<Name>AM-InvalidClientIdResponse</Name>
</Step>
<Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>Zasada SetOAuthV2Info
W tej sekcji opisujemy kody błędów i komunikaty o błędach zwracane przez Edge oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wywołuje błąd. Te informacje są ważne, jeśli tworzysz reguły błędów do obsługi błędów. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach związanych z zasadami i Postępowanie w przypadku błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna |
|---|---|---|
steps.oauth.v2.access_token_expired |
500 | Token dostępu wysłany do zasady wygasł. |
steps.oauth.v2.invalid_access_token |
500 | Token dostępu wysłany do zasad jest nieprawidłowy. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Informacje o rozwiązywaniu tego problemu znajdziesz w tym poście na forum społeczności Apigee. |
Błędy wdrażania
Informacje o błędach wdrażania znajdziesz w komunikacie wyświetlanym w interfejsie.
Zmienne błędów
Te zmienne są ustawiane, gdy ta zasada spowoduje błąd w czasie działania.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu wymienionego w tabeli Błędy środowiska wykonawczego powyżej. Nazwa usterki to ostatnia część kodu usterki. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name to nazwa zasady, która spowodowała błąd, określona przez użytkownika. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name to nazwa zasady, która spowodowała błąd, określona przez użytkownika. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name to nazwa zasady, która spowodowała błąd, określona przez użytkownika. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
Przykładowa odpowiedź na błąd
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}Przykładowa reguła błędu
<FaultRule name=SetOAuthV2Info Faults">
<Step>
<Name>AM-InvalidTokenResponse</Name>
<Condition>(fault.name = "invalid_access_token")</Condition>
</Step>
<Condition>(oauthV2.failed = true) </Condition>
</FaultRule>Zasada DeleteOAuthV2Info
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wyzwala błąd. Warto o tym wiedzieć, jeśli rozwijasz reguły błędów, aby obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna |
|---|---|---|
steps.oauth.v2.invalid_access_token |
401 | Token dostępu wysłany do zasady jest nieprawidłowy. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 | Kod autoryzacji wysłany do zasady jest nieprawidłowy. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Więcej informacji: ten post na karcie Społeczność Apigee z informacjami o rozwiązywaniu tego problemu. |
Błędy wdrażania
Więcej informacji o błędach wdrażania znajdziesz w komunikacie zgłoszonym w interfejsie.
Zmienne błędów
Te zmienne są ustawiane, gdy ta zasada wywołuje błąd w czasie działania.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
Przykładowa odpowiedź na błąd
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}Przykładowa reguła błędu
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
<Step>
<Name>AM-InvalidTokenResponse</Name>
</Step>
<Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>Zasada OAuthv1.0a
Typ zasady OAuthV1 definiuje podane niżej kody błędów.
Informacje o kodach błędów HTTP związanych z OAuth znajdziesz w dokumentacji odpowiedzi na temat błędów HTTP HTTP.
| Kod błędu | przekaz, |
|---|---|
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} |
Zasada GetOAuthV1Info
No error codes are specified for the Get OAuth v1.0a Info policy.
Zasada DeleteOAuthV1Info
Jeśli operacja się uda, zasada zwraca stan 200.
W przypadku niepowodzenia zasada zwraca kod 404 i wyświetla wyniki podobne do tych (w zależności od tego, czy usuwasz token dostępu, token żądania lub weryfikator).
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"}}}
Zasada PythonScript
W tej sekcji opisano zwracane kody błędów i komunikaty o błędach oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wywołuje błąd. To ważna informacja jeśli tworzysz reguły błędów obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna | Napraw |
|---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 | Zasada PythonScript może zgłaszać różne typy błędów ScriptExecutionFailed. Powszechnie które obejmują błędy NameError i ZeroDivisionError. | build |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego tę zasadę.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
InvalidResourceUrlFormat |
Jeśli format adresu URL zasobu podany w tagu <ResourceURL> lub
element <IncludeURL> zasady PythonScript jest nieprawidłowy, nie uda się wdrożyć serwera proxy interfejsu API. |
build |
InvalidResourceUrlReference |
Jeśli elementy <ResourceURL> lub <IncludeURL>
odwołują się do pliku PythonScript, który nie istnieje, wdrożenie serwera proxy interfejsu API się nie uda.
Wskazany plik źródłowy musi istnieć na poziomie serwera proxy interfejsu API, środowiska lub organizacji. |
build |
Zmienne błędów
Te zmienne są ustawiane, gdy ta zasada wywołuje błąd w czasie działania. Aby dowiedzieć się więcej, zapoznaj się z artykułem Co musisz wiedzieć o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | pythonscript.PythonScript-1.failed = true |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
Przykładowa reguła błędu
<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>
Zasada Quota
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wyzwala błąd. Warto o tym wiedzieć, jeśli rozwijasz reguły błędów, aby obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna | Napraw |
|---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 | Występuje, jeśli element <Interval> nie jest zdefiniowany w zasadzie dotyczącej limitów. Ten element
jest wymagany i służy do określania przedziału czasu obowiązującego w odniesieniu do limitu. Przedział czasu
mogą być minutami, godzinami, dniami, tygodniami lub miesiącami, zgodnie z definicją za pomocą elementu <TimeUnit>. |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | Występuje, jeśli element <TimeUnit> nie jest zdefiniowany w zasadzie dotyczącej limitów. Ten element
jest obowiązkowy i służy do określania jednostki czasu mającej zastosowanie do limitu. Przedział czasu
mogą być wyrażone w minutach, godzinach, dniach, tygodniach lub miesiącach. |
build |
policies.ratelimit.InvalidMessageWeight |
500 | Występuje, jeśli wartość elementu <MessageWeight> określona za pomocą zmiennej przepływu
jest nieprawidłowa (nie jest liczbą całkowitą). |
build |
policies.ratelimit.QuotaViolation |
500 | Przekroczono limit. | Nie dotyczy |
Błędy wdrażania
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
InvalidQuotaInterval |
Jeśli interwał limitu określony w elemencie <Interval> nie jest
liczba całkowita, wdrożenie serwera proxy interfejsu API się nie uda. Jeśli na przykład interwał limitu
określony to 0.1 w elemencie <Interval>, wdrożenie
Błąd serwera proxy interfejsu API.
|
build |
InvalidQuotaTimeUnit |
Jeśli jednostka czasu określona w elemencie <TimeUnit> nie jest obsługiwana,
wdrożenie serwera proxy interfejsu API się nie uda. Obsługiwane jednostki czasu to minute,
hour, day, week i month.
|
build |
InvalidQuotaType |
Jeśli typ limitu określony przez atrybut type w <Quota>
element jest nieprawidłowy, wdrożenie serwera proxy interfejsu API się nie uda.
obsługiwane typy limitów to default, calendar, flexi i rollingwindow.
|
build |
InvalidStartTime |
Jeśli format godziny określony w elemencie <StartTime> to
jest nieprawidłowy, wdrożenie serwera proxy interfejsu API się nie uda. Prawidłowy format to yyyy-MM-dd HH:mm:ss,
w formacie ISO 8601. Dla:
Jeśli na przykład czas określony w elemencie <StartTime> to
7-16-2017 12:00:00, wdrożenie serwera proxy interfejsu API się nie uda.
|
build |
StartTimeNotSupported |
Jeśli określono element <StartTime>, którego typ limitu jest inny niż
calendar, wdrożenie serwera proxy interfejsu API się nie uda. Element <StartTime> to
obsługiwane tylko w przypadku typu limitu calendar. Jeśli na przykład ustawiony jest atrybut type
do flexi lub rolling window w elemencie <Quota>, a następnie
nie uda się wdrożyć serwera proxy interfejsu API.
|
build |
InvalidTimeUnitForDistributedQuota |
Jeśli element <Distributed> ma wartość true, a element <TimeUnit> ma wartość
second, wdrożenie serwera proxy interfejsu API się nie uda. Jednostka czasu second jest nieprawidłowa dla pola
w przypadku rozproszonego limitu. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Jeśli wartość określona dla elementu <SyncIntervalInSeconds> w parametrze
<AsynchronousConfiguration> w zasadzie dotyczącej limitów ma wartość mniejszą niż 0, wartość
nie uda się wdrożyć serwera proxy interfejsu API. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Jeśli wartość elementu <AsynchronousConfiguration> w zasadzie limitów jest ustawiona na true, która również
ma konfigurację asynchroniczną zdefiniowaną za pomocą elementu <AsynchronousConfiguration>, a następnie
nie uda się wdrożyć serwera proxy interfejsu API. |
build |
Zmienne błędów
Te zmienne są ustawiane, gdy ta zasada wywołuje błąd. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | ratelimit.QT-QuotaPolicy.failed = true |
Przykładowa odpowiedź na błąd
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
Przykładowa reguła błędu
<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>Zasada ResetQuota
W tej sekcji opisujemy kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wywołuje błąd. Te informacje są ważne, jeśli opracowujesz reguły dotyczące błędów do obsługi takich błędów. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna | Napraw |
|---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | Zasada dotycząca limitu określona w elemencie <Quota> zasady resetowania limitu nie jest zdefiniowana w serwerze proxy interfejsu API, dlatego jest niedostępna podczas tego procesu. Element <Quota> jest obowiązkowy i wskazuje zasadę dotyczącą docelowego limitu, której licznik należy zaktualizować za pomocą zasady resetowania limitu. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
Nie dotyczy | Odniesienia do zmiennej zawierającej liczbę dozwolonych w elemencie <Allow> zasady nie można przypisać do wartości. Ten element jest wymagany i określa kwotę, o którą ma zostać zmniejszony licznik limitu. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | Nie można znaleźć zmiennej, do której odwołuje się atrybut ref w elemencie <Quota>. |
build |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
InvalidCount |
Jeśli liczba określona w elemencie <Allow> zasady resetowania limitów nie jest liczbą całkowitą, wdrożenie serwera proxy interfejsu API nie powiedzie się.
|
build |
Zasada RaiseFault
W tej sekcji opisano zwracane kody błędów i komunikaty o błędach oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wywołuje błąd. Warto o tym wiedzieć, jeśli rozwijasz reguły błędów, aby obsługi błędów. Więcej informacji: Co musisz wiedzieć o błędach związanych z naruszeniem zasad Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna |
|---|---|---|
steps.raisefault.RaiseFault |
500 | Zobacz ciąg błędu. |
Błędy wdrażania
Brak.
Zmienne błędów
Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli tabeli Błędy czasu działania powyżej. Nazwa błędu jest ostatnia który jest częścią kodu błędu. | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która wyrzucił błąd. | raisefault.RF-ThrowError.failed = true |
Przykładowa odpowiedź na błąd
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
Zasada RegularExpressionProtection
W tej sekcji opisujemy kody błędów, zwracane komunikaty i zmienne błędów ustawione przez Edge, gdy ta zasada wywołuje błąd. Te informacje są ważne, aby wiedzieć, czy opracowujesz reguły dotyczące błędów w przypadku błędów. Jeśli chcesz przechwycić błąd i zgłosić własny błąd niestandardowy, ustaw atrybut continueOnError="true" w głównym elemencie zasad.
Więcej informacji znajdziesz w sekcjach
Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.
Błędy zwracane z zasad Edge mają spójny format opisany w Informacjach na temat kodów błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | przekaz, |
|---|---|
| ExecutionFailed | Nie udało się wykonać definicji kroku RegularExpressionProtection {0}. Przyczyna: {1} |
| InstantiationFailed | Nie udało się utworzyć instancji kroku definicji kroku RegularExpressionProtection {0} |
| NonMessageVariable | Zmienna {0} nie przyjmuje wartości do komunikatu |
| SourceMessageNotAvailable | Komunikat {0} nie jest dostępny dla określenia kroków definicji kroków RegularExpressionProtection {1} |
| ThreatDetected | Wykryto zagrożenie związane z wyrażeniem regularnym w {0}: wyrażenie regularne: {1} wejściowe: {2} |
| VariableResolutionFailed | Nie udało się znaleźć zmiennej {0} |
Błędy wdrażania
| Kod błędu | przekaz, | Napraw |
|---|---|---|
| CannotBeConvertedToNodeset | RegularExpressionProtection {0}: wynik funkcji xpath {1} nie może zostać przekonwertowany na zbiór węzłów. Kontekst {2} | build |
| DuplicatePrefix | RegularExpressionProtection {0}: zduplikowany prefiks {1} | build |
| EmptyJSONPathExpression | RegularExpressionProtection{0}: puste wyrażenie JSONPath | build |
| EmptyXPathExpression | RegularExpressionProtection{0}: puste wyrażenie XPath | build |
| InvalidRegularExpression | RegularExpressionProtection {0}: nieprawidłowe wyrażenie regularne {1}, kontekst {2} | build |
| JSONPathCompilationFailed | RegularExpressionProtection {0}: nie udało się skompilować obiektu jsonpath {1}. Kontekst {2} | build |
| NONPusty przedrostek mapowany do pustego identyfikatora URI | RegularExpressionProtection {0}: niepustego prefiksu {1} nie można zmapować na pusty identyfikator URI | build |
| NoPatternsToEnforce | RegularExpressionProtection {0}: brak wzorców do wyegzekwowania w {1} | build |
| NothingToEnforce | RegularExpressionProtection{0}: co najmniej jedna z tych wartości: URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload | build |
| XPathCompilationFailed | RegularExpressionProtection {0}: nie udało się skompilować pliku xpath {1}. Kontekst {2} | build |
Zmienne błędów
Te zmienne są ustawiane, gdy zasada wywołuje błąd. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli powyżej. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
Zasada SOAPMessageValidation
W tej sekcji opisujemy kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wywołuje błąd. Te informacje są ważne, jeśli opracowujesz reguły dotyczące błędów do obsługi takich błędów. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna | Napraw |
|---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
Ten błąd występuje, jeśli zmienna określona w elemencie
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
Ten błąd występuje, jeśli element Zmienne typu wiadomości reprezentują całe żądania i odpowiedzi HTTP. Wbudowane zmienne przepływu Edge |
build |
steps.messagevalidation.Failed |
500 | Ten błąd występuje, jeśli zasada SOAPMessageValidation nie sprawdza poprawności ładunku wejściowego wiadomości w odniesieniu do schematu XSD lub definicji WSDL. Ten błąd może wystąpić również wtedy, gdy w wiadomości z ładunkiem występuje nieprawidłowy format JSON lub XML. | build |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
InvalidResourceType |
Element <ResourceURL> w zasadzie SOAPMessageValidation jest ustawiony na typ zasobu, który nie jest obsługiwany przez tę zasadę.
|
build |
ResourceCompileFailed |
Skrypt zasobów, do którego odwołuje się element <ResourceURL> zasady SOAPMessageValidation, zawiera błąd uniemożliwiający mu kompilowanie.
|
build |
RootElementNameUnspecified |
Element <Element> w zasadzie SOAPMessageValidation nie zawiera nazwy elementu głównego. |
build |
InvalidRootElementName |
Element <Element> w zasadzie SOAPMessageValidation zawiera nazwę elementu głównego, która jest niezgodna z regułami XML dotyczącymi prawidłowych nazw elementów. |
build |
Zasada SAMLAssertion
W tej sekcji opisano zwracane kody błędów i komunikaty o błędach i zmiennych błędów, które są ustawiane przez Edge, gdy ta zasada wywołuje błąd. Warto o tym wiedzieć, jeśli rozwijasz reguły błędów, aby obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego tę zasadę.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
SourceNotConfigured |
Co najmniej jeden z następujących elementów metody Validate SAML Assertion
zasada nie jest zdefiniowana lub pusta: <Source>, <XPath>,
<Namespaces>, <Namespace>.
|
build |
TrustStoreNotConfigured |
Jeśli element <TrustStore> jest pusty lub nie został określony w polu
Po sprawdzeniu zasady SAMLAssertion nie uda się wdrożyć serwera proxy interfejsu API.
Wymagany jest prawidłowy magazyn zaufania.
|
build |
NullKeyStoreAlias |
Jeśli element podrzędny <Alias> jest pusty lub nie został określony w elemencie <Keystore>
elementu zasad Generate SAML Assertion policy, a następnie wdrożenia interfejsu API.
serwer proxy nie działa. Wymagany jest prawidłowy alias magazynu kluczy.
|
build |
NullKeyStore |
Jeśli element podrzędny <Name> jest pusty lub nie został określony w elemencie <Keystore>
elementu zasady GenerateSAMLAssertion, a następnie wdrożenie interfejsu API
serwer proxy nie działa. Wymagana jest prawidłowa nazwa magazynu kluczy.
|
build |
NullIssuer |
Jeśli element <Issuer> jest pusty lub nie został określony w zasadzie Generate SAML (Wygeneruj SAML)
Zasada asercji, wtedy wdrożenie serwera proxy interfejsu API się nie uda. O
wymagana jest prawidłowa wartość <Issuer>.
|
build |
Zmienne błędów
Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu . Nazwa błędu to ostatnia część kodu błędu. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
W przypadku walidacji konfiguracji zasady asercji SAML prefiks błędu to
ValidateSAMLAssertion |
GenerateSAMLAssertion.failed = true |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Przykładowa reguła błędu
<FaultRules>
<FaultRule name="invalid_saml_rule">
<Step>
<Name>invalid-saml</Name>
</Step>
<Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
</FaultRule>
</FaultRules>Zasada 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>Zasada 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>Zasada StatisticsCollector
W tej sekcji opisaliśmy komunikaty o błędach i zmienne przepływu, które są ustawiane, gdy ta zasada powoduje błąd. Te informacje są ważne, jeśli tworzysz reguły błędów dla serwera proxy. Więcej informacji znajdziesz w artykułach Więcej informacji o błędach związanych z naruszeniem zasad i Rozwiązywanie problemów.
Błędy w czasie wykonywania
Brak.
Błędy wdrażania
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
UnsupportedDatatype |
Jeśli typ zmiennej określony przez atrybut ref w elemencie <Statistic> zasad Zbierania statystyk nie jest obsługiwany, wdrożenie serwera proxy interfejsu API zakończy się niepowodzeniem. Obsługiwane typy danych: string, integer, float, long, double i boolean. |
build |
InvalidName |
Jeśli nazwa używana do odwoływania się do danych zebranych dla określonej zmiennej zdefiniowanej w elemencie <Statistic> w zasadach Zbierania statystyk jest niezgodna ze zmienną zdefiniowaną przez system, wdrożenie serwera proxy interfejsu API się nie powiedzie. Niektóre znane zmienne zdefiniowane w systemie to organization i environment. |
build |
DatatypeMissing |
Jeśli brakuje typu zmiennej określonego przez atrybut ref w elemencie <Statistic> zasady Zbierania statystyk, wdrożenie serwera proxy interfejsu API się nie powiedzie. |
build |
Zmienne błędów
Brak.
Zasada 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>Zasada VerifyJWS
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. |
Zmienne błędów
Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "TokenExpired" |
JWS.failed |
Wszystkie zasady JWS ustawiają tę samą zmienną w przypadku awarii. | jws.JWS-Policy.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów sprawdzoną metodą jest przechwycenie części błędu errorcode.
. Nie polegaj na tekście zawartym w pliku faultstring, ponieważ może się on zmienić.
Przykładowa reguła błędu
<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>Zasada 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 |
Zmienne błędów
Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name Matches "TokenExpired" |
JWT.failed |
Wszystkie zasady JWT ustawiają tę samą zmienną w przypadku niepowodzenia. | JWT.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów sprawdzoną metodą jest przechwycenie części błędu errorcode.
. Nie polegaj na tekście zawartym w pliku faultstring, ponieważ może się on zmienić.
Przykładowa reguła błędu
<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>
Zasada 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>Zasada XMLtoJSON
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wyzwala błąd. Warto o tym wiedzieć, jeśli rozwijasz reguły błędów, aby obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna | Napraw |
|---|---|---|---|
steps.xmltojson.ExecutionFailed |
500 | Ten błąd występuje, gdy ładunek wejściowy (XML) jest pusty, wejściowy plik XML jest nieprawidłowy lub błędnie sformatowany. | build |
steps.xmltojson.InCompatibleType |
500 | Ten błąd występuje, jeśli typ zmiennej zdefiniowanej w elemencie <Source> i parametrze
Elementy <OutputVariable> nie są takie same. Musisz koniecznie dodać typ zmiennych
zawartego w elemencie <Source> i elementu <OutputVariable>.
|
build |
steps.xmltojson.InvalidSourceType |
500 | Ten błąd występuje, jeśli typ zmiennej używanej do zdefiniowania elementu <Source> to
nieprawidłowa.Prawidłowe typy zmiennych to komunikat i ciąg znaków. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
500 | Ten błąd występuje, jeśli zmienna określona w elemencie <Source> kodu XML
Zasada JSON jest typu „ciąg znaków”, a element <OutputVariable> nie został zdefiniowany.
Element <OutputVariable> jest wymagany, gdy zmienna zdefiniowana w parametrze <Source>
element jest typu „ciąg znaków”. |
build |
steps.xmltojson.SourceUnavailable |
500 |
Ten błąd występuje, jeśli komunikat
określona w elemencie <Source> zasady XML na JSON to:
|
build |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego tę zasadę.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
EitherOptionOrFormat |
Jeśli jeden z elementów <Options> lub <Format> nie jest wartością
zadeklarowane w zasadzie XML na JSON, nie uda się wdrożyć serwera proxy interfejsu API.
|
build |
UnknownFormat |
Jeśli element <Format> w zasadzie XML na JSON zawiera nieznaną wartość
formatu, wdrożenie serwera proxy interfejsu API się nie uda. Wstępnie zdefiniowane formaty obejmują:
xml.com, yahoo, google i badgerFish.
|
build |
Zmienne błędów
Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład |
|---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | xmltojson.XMLtoJSON-1.failed = true |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
Przykładowa reguła błędu
<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>
Zasada XSLTransform
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
This error occurs if the message or string variable specified in the <Source> element of the
XSL Transform policy is either out of scope (not available in the specific flow where the
policy is being executed) or can't be resolved (is not defined).
|
build |
steps.xsl.XSLEvaluationFailed |
500 | This error occurs if the input XML payload is unavailable/malformed or the XSLTransform policy fails/is unable to transform the input XML file based on the transformation rules provided in the XSL file. There could be many different causes for the XSLTransform policy to fail. The reason for failure in the error message will provide more information on the cause. | build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
XSLEmptyResourceUrl |
If the <ResourceURL> element in the XSL Transform policy is empty, then the
deployment of the API proxy fails. |
build |
XSLInvalidResourceType |
If the resource type specified in the <ResourceURL> element of the XSL Transform
policy is not of type xsl, then the deployment of the API proxy fails. |
build |