Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Zasada AccessControl
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 |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | Adres IP klienta lub adres IP przekazany w żądaniu do interfejsu API pasuje do adresu IP określonego w elemencie <SourceAddress> w elemencie <MatchRule> zasady kontroli dostępu, a atrybut action elementu <MatchRule> jest ustawiony na DENY . |
build |
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. Więcej informacji znajdziesz w artykule Zmienne związane z błędami dotyczącymi zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | 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ź o błędzie
{ "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 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.assignmessage.SetVariableFailed |
500 | Zasadom nie udało się ustawić zmiennej. W ciągu znaków błędu znajdziesz nazwę nierozstrzygniętej zmiennej. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Ten błąd występuje, jeśli atrybut Zmienne typu wiadomości reprezentują całe żądania i odpowiedzi HTTP. Wbudowane zmienne przepływu Edge |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Ten błąd występuje, jeśli zmienna określona w zasadzie przypisywania wiadomości ma postać:
|
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 indeks określony w elementach <Copy> lub <Remove> w zasadzie przypisywania wiadomości wynosi 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ż nie ma prawidłowej nazwy zmiennej, do której można 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 zasada wywołuje błąd w czasie działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | 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="VariableOfNonMsgType"></faultrule><FaultRule name="Assign Message Faults"> <Step> <Name>AM-CustomNonMessageTypeErrorResponse</Name> <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition> </Step> <Step> <Name>AM-CustomSetVariableErrorResponse</Name> <Condition>(fault.name = "SetVariableFailed")</Condition> </Step> <Condition>(assignmessage.failed = true) </Condition> </FaultRule>
Zasada uwierzytelniania podstawowego
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 błędów do obsługi 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.basicauthentication.InvalidBasicAuthenticationSource |
500 | Podczas dekodowania, gdy przychodzący ciąg zakodowany w standardzie Base64 nie zawiera prawidłowej wartości lub nagłówek ma nieprawidłowy format (np. nie zaczyna się od „Podstawowe”). | build |
steps.basicauthentication.UnresolvedVariable |
500 | Brak zmiennych źródłowych wymaganych do dekodowania lub kodowania. Ten błąd może wystąpić tylko wtedy, gdy IgnoreUnresolvedVariables ma wartość false (fałsz). |
build |
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 | Napraw |
---|---|---|
UserNameRequired |
W nazwanej operacji musi być obecny element <User> . |
build |
PasswordRequired |
W nazwanej operacji musi być obecny element <Password> . |
build |
AssignToRequired |
W nazwanej operacji musi być obecny element <AssignTo> . |
build |
SourceRequired |
W nazwanej operacji musi być obecny element <Source> . |
build |
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | BasicAuthentication.BA-Authenticate.failed = true |
Przykładowa odpowiedź na błąd
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
Przykładowa reguła błędu
<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
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 błędów do obsługi 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 |
---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation |
503 |
Przekroczono limit równoczesności. Limit połączeń : {0} Uwaga: kod błędu widoczny po lewej stronie jest prawidłowy, ale zawiera literówkę („limt”). Podczas tworzenia reguł błędów do blokowania tego błędu użyj dokładnie tego kodu. |
Błędy wdrażania
Nazwa błędu | Występuje, gdy |
---|---|
InvalidCountValue |
Podano nieprawidłową wartość parametru ConcurrentRatelimit. |
ConcurrentRatelimitStepAttachment\ |
Przyłącze zasady ograniczenia równoczesności {0} nie jest dozwolone na ścieżkach żądań, odpowiedzi lub błędów serwera proxy. Ta zasada musi być umieszczona w docelowym punkcie końcowym. |
ConcurrentRatelimitStepAttachment\ |
Na ścieżkach docelowych żądań, odpowiedzi lub błędów brakuje przyłącza zasady ograniczenia równoczesności {0}. Ta zasada musi być umieszczona we wstępnym przepływie żądania docelowego, w strukturze docelowej odpowiedzi docelowej i w regule domyślnej FaultRule. |
InvalidTTLForMessageTimeOut |
Określono nieprawidłową wartość parametru ConcurrentRatelimit dla czasu oczekiwania na wiadomość. Musi być dodatnią liczbą całkowitą. |
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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "ConcurrentRatelimtViolation"
Uwaga: kod błędu widoczny w tym przykładzie jest prawidłowy, ale zawiera literówkę („limt”). Podczas tworzenia reguł błędów blokujących ten błąd użyj dokładnie tego kodu. |
concurrentratelimit.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | concurrentratelimit.CRL-RateLimitPolicy.failed = true |
Przykładowa odpowiedź na błąd
Jeśli limit liczby żądań zostanie przekroczony, zasada zwraca klientowi tylko stan HTTP 503.
Przykładowa reguła błędu
<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, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "TokenExpired" |
JWS.failed |
Wszystkie zasady JWS ustawiają tę samą zmienną w przypadku niepowodzenia. | jws.JWS-Policy.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest zablokować część errorcode
odpowiedzi błędu. Nie polegaj na tekście w polu 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>
Dekodowanie zasady JWT
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.jwt.FailedToDecode |
401 | Występuje, gdy zasada nie może zdekodować tokena JWT. Token JWT może być zniekształcony, nieprawidłowy lub z innego powodu nie można go usunąć. | build |
steps.jwt.FailedToResolveVariable |
401 | Występuje, gdy zmienna przepływu określona w elemencie <Source> zasady nie istnieje. |
|
steps.jwt.InvalidToken |
401 | Występuje, gdy zmienna przepływu określona w elemencie <Source> zasady jest poza zakresem lub nie można jej rozwiązać. |
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 |
---|---|---|
InvalidEmptyElement |
Dzieje się tak, gdy zmienna przepływu zawierająca token JWT do zdekodowania nie jest określona w elemencie <Source> zasady.
|
build |
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "TokenExpired" |
JWT.failed |
Wszystkie zasady JWT ustawiają tę samą zmienną na wypadek niepowodzenia. | JWT.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest zablokować część errorcode
odpowiedzi błędu. Nie polegaj na tekście w polu 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>
Zasady dotyczące ExtractVariables
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.extractvariables.ExecutionFailed |
500 |
Ten błąd występuje, gdy:
|
build |
steps.extractvariables.ImmutableVariable |
500 | Zmienna używana w zasadzie jest stała. Zasadom nie udało się ustawić tej zmiennej. | |
steps.extractvariables.InvalidJSONPath |
500 | Ten błąd występuje, jeśli w elemencie JSONPath zasady użyto nieprawidłowej ścieżki JSON. Ten błąd wystąpi na przykład, jeśli ładunek JSON nie zawiera obiektu Name , ale podasz Name jako ścieżkę w zasadzie. |
build |
steps.extractvariables.JsonPathParsingFailure |
500 | Ten błąd występuje, gdy zasada nie może przeanalizować ścieżki JSON i wyodrębnić danych ze zmiennej przepływu określonej w elemencie Source . Zwykle dzieje się tak, jeśli zmiennej przepływu określonej w elemencie Source nie ma w bieżącym przepływie. |
build |
steps.extractvariables.SetVariableFailed |
500 | Ten błąd występuje, jeśli zasada nie może ustawić wartości zmiennej. Ten błąd zwykle występuje wtedy, gdy próbujesz przypisać wartości do wielu zmiennych, których nazwy zaczynają się takimi samymi słowami w zagnieżdżonym formacie z wartościami rozdzielanymi kropkami. | build |
steps.extractvariables.SourceMessageNotAvailable |
500 | Ten błąd występuje, jeśli zmienna message podana w elemencie Source zasady ma wartość:
|
build |
steps.extractvariables.UnableToCast |
500 | Ten błąd występuje, jeśli zasadzie nie udało się rzutować wyodrębnionej wartości na zmienną. Zwykle dzieje się tak, gdy próbujesz ustawić wartość jednego typu danych na zmienną innego typu. | 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 |
---|---|---|
NothingToExtract |
Jeśli zasada nie zawiera żadnych elementów URIPath , QueryParam , Header , FormParam , XMLPayload ani JSONPayload , wdrożenie serwera proxy interfejsu API nie powiedzie się, ponieważ nie ma czego wyodrębnić. |
build |
NONEmptyPrefixMappedToEmptyURI |
Ten błąd występuje, jeśli zasada ma zdefiniowany prefiks w elemencie Namespace w elemencie XMLPayload , ale nie zdefiniowano identyfikatora URI. |
build |
DuplicatePrefix |
Ten błąd występuje, jeśli zasada ma ten sam prefiks zdefiniowany więcej niż raz w elemencie Namespace w elemencie XMLPayload . |
build |
NoXPathsToEvaluate |
Jeśli zasada nie zawiera elementu XPath w elemencie XMLPayload , wdrożenie serwera proxy interfejsu API nie powiedzie się z tym błędem.
|
build |
EmptyXPathExpression |
Jeśli zasada ma puste wyrażenie XPath w elemencie XMLPayload , wdrożenie serwera proxy interfejsu API się nie uda. |
build |
NoJSONPathsToEvaluate |
Jeśli zasada nie zawiera elementu JSONPath w elemencie JSONPayload , wdrożenie serwera proxy interfejsu API nie powiedzie się z tym błędem. |
build |
EmptyJSONPathExpression |
Jeśli zasada ma puste wyrażenie XPath w elemencie XMLPayload , wdrożenie serwera proxy interfejsu API się nie uda. |
build |
MissingName |
Jeśli zasada nie ma atrybutu name w żadnym z jej elementów, takich jak QueryParam , Header , FormParam czy Variable , gdy jest on wymagany, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
PatternWithoutVariable |
Jeśli zasada nie ma zmiennej określonej w elemencie Pattern , wdrożenie serwera proxy interfejsu API się nie uda. Element Pattern wymaga nazwy zmiennej, w której będą przechowywane wyodrębnione dane. |
build |
CannotBeConvertedToNodeset |
Jeśli zasada zawiera wyrażenie XPath , w którym typ Variable jest zdefiniowany jako węzeł, ale tego wyrażenia nie można przekonwertować na zbiór węzłów, wdrożenie serwera proxy interfejsu API się nie uda. |
build |
JSONPathCompilationFailed |
Zasada nie może skompilować podanej ścieżki JSON. | |
InstantiationFailed |
Nie udało się utworzyć instancji zasady. | |
XPathCompilationFailed |
Jeśli prefiks lub wartość używana w elemencie XPath nie należy do żadnej z zadeklarowanych przestrzeni nazw w zasadzie, wdrożenie serwera proxy interfejsu API się nie uda. |
build |
InvalidPattern |
Jeśli definicja elementu Pattern jest nieprawidłowa w którymkolwiek z elementów, takich jak URIPath , QueryParam , Header , FormParam , XMLPayload lub JSONPayload , nie uda się wdrożyć serwera proxy interfejsu API.
|
build |
Zmienne błędów
Te zmienne są ustawiane, gdy zasada wywołuje błąd w czasie działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | extractvariables.EV-ParseJsonResponse.failed = true |
Przykładowa odpowiedź na błąd
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
Przykładowa reguła błędu
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
Wygeneruj zasadę JWS
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, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "TokenExpired" |
JWS.failed |
Wszystkie zasady JWS ustawiają tę samą zmienną w przypadku niepowodzenia. | jws.JWS-Policy.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest zablokować część errorcode
odpowiedzi błędu. Nie polegaj na tekście w polu 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>
Wygeneruj zasadę JWT
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.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | Dzieje się tak, gdy zasada weryfikacji ma wiele algorytmów. |
steps.jwt.AlgorithmMismatch |
401 | Algorytm określony w zasadzie generowania nie był zgodny z algorytmem określonym w zasadzie weryfikacji. Podane algorytmy muszą się zgadzać. |
steps.jwt.FailedToDecode |
401 | Zasadom nie udało się zdekodować tokena JWT. Token JWT jest prawdopodobnie uszkodzony. |
steps.jwt.GenerationFailed |
401 | Nie udało się wygenerować tokena JWT za pomocą zasady. |
steps.jwt.InsufficientKeyLength |
401 | W przypadku klucza krótszego niż 32 bajty dla algorytmu HS256, mniej niż 48 bajtów w przypadku algorytmu HS386 i mniej niż 64 bajty w przypadku algorytmu HS512. |
steps.jwt.InvalidClaim |
401 | Brak zgodności z deklaracją lub zgłoszeniem albo brak zgodności nagłówka lub nagłówka. |
steps.jwt.InvalidCurve |
401 | Krzywa określona przez klucz jest nieprawidłowa dla algorytmu krzywych eliptycznych. |
steps.jwt.InvalidJsonFormat |
401 | W nagłówku lub ładunku znaleziono nieprawidłowy kod JSON. |
steps.jwt.InvalidToken |
401 | Ten błąd występuje, gdy weryfikacja podpisu JWT nie powiedzie się. |
steps.jwt.JwtAudienceMismatch |
401 | Podczas weryfikacji tokena nie udało się potwierdzić odbiorców. |
steps.jwt.JwtIssuerMismatch |
401 | Podczas weryfikacji tokena nie udało się zgłosić deklaracji wydawcy. |
steps.jwt.JwtSubjectMismatch |
401 | Żądanie tematu nie powiodło się podczas weryfikacji tokena. |
steps.jwt.KeyIdMissing |
401 | Zasada weryfikacji używa JWKS jako źródła kluczy publicznych, ale podpisany token JWT nie zawiera w nagłówku właściwości kid . |
steps.jwt.KeyParsingFailed |
401 | Nie udało się przeanalizować klucza publicznego na podstawie podanych informacji o kluczu. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Występuje, gdy token JWT nie zawiera nagłówka algorytmu. |
steps.jwt.NoMatchingPublicKey |
401 | Zasada weryfikacji używa JWKS jako źródła kluczy publicznych, ale kid w podpisanym tokenie JWT nie jest wymieniony w JWKS. |
steps.jwt.SigningFailed |
401 | W narzędziu Wygeneruj JWT dla klucza mniejszego niż minimalny rozmiar algorytmów HS384 lub HS512 |
steps.jwt.TokenExpired |
401 | Zasada próbuje zweryfikować wygasły token. |
steps.jwt.TokenNotYetValid |
401 | Token nie jest jeszcze prawidłowy. |
steps.jwt.UnhandledCriticalHeader |
401 | Nagłówek, który znajduje się w zasadzie weryfikacji JWT w nagłówku crit , nie jest wymieniony w KnownHeaders . |
steps.jwt.UnknownException |
401 | Wystąpił nieznany wyjątek. |
steps.jwt.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 | Przyczyna | Napraw |
---|---|---|
InvalidNameForAdditionalClaim |
Wdrożenie nie uda się, jeśli żądanie użyte w elemencie podrzędnym <Claim> elementu <AdditionalClaims> jest jedną z tych zarejestrowanych nazw: kid , iss , sub , aud , iat , exp , nbf lub jti .
|
build |
InvalidTypeForAdditionalClaim |
Jeśli żądanie użyte w elemencie podrzędnym <Claim> elementu <AdditionalClaims> nie jest typu string , number , boolean ani map , wdrożenie się nie uda.
|
build |
MissingNameForAdditionalClaim |
Jeśli nazwy deklaracji nie podasz w elemencie podrzędnym <Claim> elementu <AdditionalClaims> , wdrożenie się nie uda.
|
build |
InvalidNameForAdditionalHeader |
Ten błąd występuje, gdy nazwa roszczenia użytego w elemencie podrzędnym <Claim> elementu <AdditionalClaims> to alg lub typ .
|
build |
InvalidTypeForAdditionalHeader |
Jeśli typ deklaracji użyty w elemencie podrzędnym <Claim> elementu <AdditionalClaims> nie jest typu string , number , boolean ani map , wdrożenie się nie uda.
|
build |
InvalidValueOfArrayAttribute |
Ten błąd występuje, gdy wartość atrybutu tablicy w elemencie podrzędnym <Claim> elementu <AdditionalClaims> nie jest ustawiona na true lub false .
|
build |
InvalidConfigurationForActionAndAlgorithm |
Jeśli element <PrivateKey> jest używany w algorytmach rodziny HS lub element <SecretKey> jest używany w algorytmach rodziny RSA, wdrożenie się nie uda.
|
build |
InvalidValueForElement |
Jeśli wartość podana w elemencie <Algorithm> nie jest obsługiwaną wartością, wdrożenie się nie uda.
|
build |
MissingConfigurationElement |
Ten błąd występuje, jeśli element <PrivateKey> nie jest używany w algorytmach rodziny RSA lub jeśli element <SecretKey> nie jest używany w algorytmach rodziny HS.
|
build |
InvalidKeyConfiguration |
Jeśli element podrzędny <Value> nie jest zdefiniowany w elementach <PrivateKey> lub <SecretKey> , wdrożenie się nie uda.
|
build |
EmptyElementForKeyConfiguration |
Jeśli atrybut ref elementu podrzędnego <Value> elementów <PrivateKey> lub <SecretKey> jest pusty lub nieokreślony, wdrożenie się nie uda.
|
build |
InvalidVariableNameForSecret |
Ten błąd występuje, jeśli nazwa zmiennej przepływu podana w atrybucie ref elementu podrzędnego <Value> elementów <PrivateKey> lub <SecretKey> nie zawiera prywatnego prefiksu (private.) .
|
build |
InvalidSecretInConfig |
Ten błąd występuje, jeśli element podrzędny <Value> elementów <PrivateKey> lub <SecretKey> nie zawiera prywatnego prefiksu (private.) .
|
build |
InvalidTimeFormat |
Jeśli wartość podana w elemencie <NotBefore> nie ma obsługiwanego formatu, wdrożenie się nie uda.
|
build |
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "TokenExpired" |
JWT.failed |
Wszystkie zasady JWT ustawiają tę samą zmienną na wypadek niepowodzenia. | JWT.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest zablokować część errorcode
odpowiedzi błędu. Nie polegaj na tekście w polu 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>
Zasady dotyczące JavaScriptu
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.javacallout.ExecutionError |
500 | Występuje, gdy kod Java zgłasza wyjątek lub zwraca wartość null podczas wykonywania zasady JavaCallout. | build |
Błędy wdrażania
Te błędy mogą wystąpić po wdrożeniu serwera proxy zawierającego zasadę.
Nazwa błędu | Ciąg błędu | Stan HTTP | Występuje, gdy |
---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
Nie dotyczy | Plik określony w elemencie <ResourceURL> nie istnieje. |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
Nie dotyczy | Pliku klasy określonego w elemencie <ClassName> nie ma w pliku jar. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
Nie dotyczy | Zobacz ciąg błędu. Zobacz też obsługiwane i obsługiwane wersje oprogramowania. |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
Nie dotyczy | Zobacz ciąg błędu. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
Nie dotyczy | Zobacz ciąg błędu. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
Nie dotyczy | Zobacz ciąg błędu. |
NoResourceForURL |
Could not locate a resource with URL [string] |
Nie dotyczy | Zobacz ciąg błędu. |
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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | javacallout.JC-GetUserData.failed = true |
Przykładowa odpowiedź na błąd
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
Przykładowa reguła błędu
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
Zasada dotycząca JavaScriptu
W tej sekcji opisujemy kody błędów i komunikaty o błędach, które są zwracane, a także zmienne błędów ustawiane przez Edge, gdy ta zasada aktywuje błąd. Te informacje są ważne, jeśli opracowujesz reguły dotyczące błędów do obsługi 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.javascript.ScriptExecutionFailed |
500 | Zasada JavaScript może generować wiele różnych typów błędów ScriptExecutionFailed. Typowe typy błędów to RangeError, ReferenceError, SyntaxError, TypeError i URIError. | build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 | W kodzie JavaScript wystąpił błąd. Szczegółowe informacje znajdziesz w ciągu błędu. | Nie dotyczy |
steps.javascript.ScriptSecurityError |
500 | Podczas wykonywania JavaScriptu wystąpił błąd zabezpieczeń. Szczegółowe informacje znajdziesz w ciągu znaków błędu. | Nie dotyczy |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidResourceUrlFormat |
Jeśli format adresu URL zasobu określony w elemencie <ResourceURL> lub w elemencie <IncludeURL> zasady JavaScript jest nieprawidłowy, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
InvalidResourceUrlReference |
Jeśli elementy <ResourceURL> lub <IncludeURL> odwołują się do nieistniejącego pliku JavaScript, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Przywoływany 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 elementy <ResourceURL> lub <IncludeURL> zasady JavaScript odnoszą się do dowolnego typu zasobu innego niż jsc (plik JavaScript). |
build |
NoResourceURLOrSource |
Wdrożenie zasady JavaScript może się nie powieść, jeśli element <ResourceURL> nie został zadeklarowany lub w przypadku tego elementu nie został zdefiniowany adres URL zasobu.
<ResourceURL> to element obowiązkowy. Inną możliwością jest zadeklarowanie elementu <IncludeURL> , ale adres URL zasobu nie jest w nim zdefiniowany. Element <IncludeURL> jest opcjonalny, ale jeśli został zadeklarowany, adres URL zasobu musisz określić w elemencie <IncludeURL> . |
build |
Zmienne błędów
Te zmienne są ustawiane, gdy zasada wywołuje błąd w czasie działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | 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
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.jsonthreatprotection.ExecutionFailed |
500 | Zasada JSONThreatProtection może zgłaszać wiele różnych typów błędów ExecutionFailed. Większość z tych błędów występuje po przekroczeniu określonego w zasadzie progu. Te typy błędów to m.in.: długość nazwy wpisu obiektu, liczba wpisów obiektu, liczba elementów tablicy, głębokość kontenera, długość wartości ciągu znaków. Ten błąd występuje też wtedy, gdy ładunek zawiera nieprawidłowy obiekt JSON. | build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
Ten błąd występuje, jeśli zmienna message określona w elemencie <Source> ma jedną z tych wartości:
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
Ten błąd występuje, jeśli element <Source> jest ustawiony na zmienną, która nie jest typu message.
|
build |
Błędy wdrażania
Brak.
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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | jsonattack.JTP-SecureRequest.failed = true |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.jsonthreatprotection.ExecutionFailed" } } }
Przykładowa reguła błędu
<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
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.jsontoxml.ExecutionFailed |
500 | Ładunek wejściowy (JSON) jest pusty lub dane wejściowe (JSON) przekazane do zasady JSON do XML są nieprawidłowe lub uszkodzone. | build |
steps.jsontoxml.InCompatibleTypes |
500 | Ten błąd występuje, jeśli typ zmiennej zdefiniowanej w elemencie <Source> i elemencie <OutputVariable> są różne. Typ zmiennych w elemencie <Source> i elemencie <OutputVariable> musi być taki sam. Prawidłowe typy to message i string . |
build |
steps.jsontoxml.InvalidSourceType |
500 | Ten błąd występuje, jeśli typ zmiennej użytej do zdefiniowania elementu <Source> jest nieprawidłowy. Prawidłowe typy zmiennych to message i string . |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 | Ten błąd występuje, jeśli zmienna określona w elemencie <Source> zasady JSON to XML jest ciągiem znaków, a element <OutputVariable> nie jest zdefiniowany.
Element <OutputVariable> jest wymagany, gdy zmienna zdefiniowana w elemencie <Source> jest ciągiem znaków. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
Ten błąd występuje, jeśli zmienna message określona w elemencie <Source> zasady JSON to XML ma jedną z tych wartości:
|
build |
Błędy wdrażania
Brak.
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | jsontoxml.JSON-to-XML-1.failed = true |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
Przykładowa reguła błędu
<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 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 |
---|---|---|
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 te zasady.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidProtocol |
Wdrożenie zasady MessageLogging może się nie udać z powodu tego błędu, jeśli protokół określony w elemencie <Protocol> jest nieprawidłowy. 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 powieść 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 0. |
build |
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | 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
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 | |
---|---|---|---|
steps.oasvalidation.Failed |
500 | Nie można zweryfikować treści wiadomości żądania pod kątem podanej specyfikacji OpenAPI. | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
Zmienna określona w elemencie |
|
steps.oasvalidation.NotMessageVariable |
500 |
Element |
build |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
Nazwa błędu | Przyczyna | |
---|---|---|
ResourceDoesNotExist |
Specyfikacja OpenAPI, do której odwołuje się element <OASResource> , nie istnieje.
|
|
ResourceCompileFailed |
Specyfikacja OpenAPI dołączonej do wdrożenia zawiera błędy, które uniemożliwiają jej skompilowanie. Ogólnie oznacza to, że specyfikacja nie jest poprawnie sformułowaną specyfikacją OpenAPI 3.0. | |
BadResourceURL |
Nie można przetworzyć specyfikacji OpenAPI, do której odwołuje się element <OASResource> . Ten błąd może wystąpić, jeśli plik nie jest plikiem JSON lub YAML albo adres URL pliku nie jest poprawnie określony.
|
Zmienne błędów
Te zmienne są ustawiane, gdy zasada wywołuje błąd w czasie działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oasvalidation.myoaspolicy.failed = true |
Wypełnij zasadę pamięci podręcznej
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 |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | Wpisu nie można zapisać w pamięci podręcznej. Obiekt wiadomości zapisywany w pamięci podręcznej nie jest instancją klasy, którą można serializować. |
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 PopulateCache jest ustawiony na nazwę, która nie istnieje w środowisku, w którym wdrażany jest serwer proxy interfejsu API. |
build |
CacheNotFound |
Pamięć podręczna określona w elemencie <CacheResource> nie istnieje. |
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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | populatecache.POP-CACHE-1.failed = true |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Przykładowa reguła błędu
<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
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> jest ustawiony na nazwę, która nie istnieje w środowisku, w którym wdrażany jest serwer proxy interfejsu API. |
build |
InvalidTimeout |
Jeśli element <CacheLookupTimeoutInSeconds> jest ustawiony na liczbę ujemną, wdrożenie serwera proxy interfejsu API się nie uda. |
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
Unieważnij zasadę pamięci podręcznej
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
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 |
---|---|---|
InvalidTimeout |
Jeśli element <CacheLookupTimeoutInSeconds> zasady ResponseCache jest ustawiony na liczbę ujemną, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
InvalidCacheResourceReference |
Ten błąd występuje, jeśli element <CacheResource> w zasadzie ResponseCache jest ustawiony na nazwę, która nie istnieje w środowisku, w którym wdrażany jest serwer proxy interfejsu API. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Ten błąd występuje, jeśli ta sama zasada ResponseCache jest powiązana z wieloma ścieżkami żądań w dowolnym przepływie serwera proxy interfejsu API. | build |
ResponseCacheStepAttachmentNotAllowedResp |
Ten błąd występuje, jeśli ta sama zasada ResponseCache jest powiązana z wieloma ścieżkami odpowiedzi w dowolnym przepływie serwera proxy interfejsu API. | build |
InvalidMessagePatternForErrorCode |
Ten błąd występuje, jeśli element <SkipCacheLookup> lub <SkipCachePopulation> w zasadzie ResponseCache zawiera nieprawidłowy warunek. |
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 OAuthV2
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 | Odrzucono według operacji |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | Token dostępu wygasł. |
VerAccessToken |
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 żadnej usłudze API powiązanej z tokenem dostępu. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 | Zasada powinna znaleźć token dostępu w zmiennej określonej w elemencie <AccessToken> , ale nie udało się znaleźć tej zmiennej. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 | Zasada powinna znaleźć kod autoryzacji w zmiennej określonej w elemencie <Code> , ale nie udało się znaleźć tej zmiennej. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 | Zasada powinna znaleźć identyfikator klienta w zmiennej określonej w elemencie <ClientId> , ale nie udało się znaleźć tej zmiennej. |
GenerateAccessToken WygenerujAuthorizationCode GenerateAccessTokenImplicitGrant refreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 | Zasada powinna znaleźć token odświeżania w zmiennej określonej w elemencie <RefreshToken> , ale nie udało się znaleźć tej zmiennej. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 | Zasada powinna znaleźć token w zmiennej określonej w elemencie <Tokens> , ale nie udało się znaleźć zmiennej. |
ValidateToken |
steps.oauth.v2.InsufficientScope |
403 | Token dostępu przedstawiony w żądaniu ma zakres niepasujący do zakresu określonego w zasadach dotyczących tokena dostępu do weryfikacji. Więcej informacji o zakresie znajdziesz w artykule na temat korzystania z zakresów 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ę istniejących warunków reguły błędów tak, aby przechwytywały zarówno nazwy |
generateAccessToken refreshAccessToken |
steps.oauth.v2.invalid_request |
400 | Ta nazwa błędu jest używana w przypadku wielu różnych rodzajów błędów, zwykle z powodu brakujących lub nieprawidłowych parametrów wysyłanych w żądaniu. Jeśli <GenerateResponse> ma wartość false , użyj zmiennych błędu (opisanych poniżej), aby pobrać szczegółowe informacje o błędzie, takie jak nazwa i przyczyna błędu. |
GenerateAccessToken WygenerujAuthorizationCode GenerateAccessTokenImplicitGrant refreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 | Nagłówek autoryzacji nie zawiera wymaganego słowa „Bearer”, które jest wymagane. Na przykład: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNo\ |
401 |
Serwera proxy interfejsu API nie ma w usłudze powiązanej z tokenem dostępu. Wskazówki: sprawdź, czy usługa powiązana z tokenem dostępu jest prawidłowo skonfigurowana. Jeśli na przykład w ścieżkach do zasobów używasz symboli wieloznacznych, upewnij się, że zostały one użyte prawidłowo. Więcej informacji znajdziesz w artykule Tworzenie usług API. Zapoznaj się też z tym postem w społeczności Apigee, aby dowiedzieć się więcej o przyczynach tego błędu. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
Ta nazwa błędu jest zwracana, gdy właściwość |
generateAccessToken |
steps.oauth.v2.InvalidParameter |
500 | Zasada musi określać token dostępu lub kod autoryzacji, ale nie oba te elementy jednocześnie. | GenerateAuthorizationCode Wygeneruj tokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 | Element <Tokens>/<Token> wymaga określenia typu tokena (na przykład refreshtoken ). Jeśli klient poda 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 uwierzytelnienia. |
GenerateAuthorizationCode Wygeneruj tokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
Klient określił typ uwierzytelnienia, który nie jest obsługiwany przez zasadę (nie jest wymieniony w elemencie <SupportedGrantTypes>). Uwaga: obecnie występuje błąd, który powoduje, że błędy typu uwierzytelnienia nie są prawidłowo zgłaszane. Jeśli wystąpi błąd nieobsługiwanego typu uwierzytelnienia, serwer proxy nie przechodzi do procesu błędów zgodnie z oczekiwaniami. |
GenerateAccessToken WygenerujAuthorizationCode GenerateAccessTokenImplicitGrant refreshAccessToken |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
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 przyznania. Listę prawidłowych typów znajdziesz w informacjach o zasadach. |
ExpiresInNotApplicableForOperation |
Pamiętaj, że operacje określone w elemencie <Operations> obsługują wygasanie ważności. Na przykład operacjaVerifyToken tego nie robi. |
RefreshTokenExpiresInNotApplicableForOperation |
Pamiętaj, że operacje określone w elemencie <Operations> obsługują wygasanie tokena odświeżania. Na przykład operacjaVerifyToken tego nie robi. |
GrantTypesNotApplicableForOperation |
Sprawdź, czy typy uwierzytelnienia określone w <SupportedGrantTypes> są obsługiwane w przypadku określonej operacji. |
OperationRequired |
W tej zasadzie musisz określić operację za pomocą elementu Uwaga: jeśli brakuje elementu |
InvalidOperation |
Musisz określić w tej zasadzie prawidłową operację za pomocą elementu Uwaga: jeśli element |
TokenValueRequired |
Musisz podać wartość <Token> tokena w elemencie <Tokens> . |
Zmienne błędów
Te zmienne są ustawiane, gdy 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 środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name = "invalid_request" |
oauthV2.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.GenerateAccesstoken.fault.name = invalid_request
Uwaga: w przypadku operacji VerificationAccessToken nazwa błędu zawiera ten sufiks: |
oauthV2.policy_name.fault.cause |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
Przykładowa odpowiedź na błąd
Te odpowiedzi są odsyłane z powrotem do klienta, jeśli element <GenerateResponse>
ma wartość true.
Jeśli <GenerateResponse>
ma wartość true, zasada zwraca błędy w tym formacie w przypadku operacji generujących tokeny i kody. Pełną listę znajdziesz w artykule Informacje o odpowiedziach na błędy HTTP OAuth.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
Jeśli <GenerateResponse>
ma wartość true, zasada zwraca błędy w tym formacie na potrzeby operacji weryfikacji. Pełną listę znajdziesz w artykule Informacje o odpowiedziach na błędy HTTP 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>
Zasady GetOAuthV2Info
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. Nazwy błędów widoczne poniżej to ciągi tekstowe przypisane do zmiennej fault.name
, gdy wystąpi błąd. Więcej informacji znajdziesz w sekcji Zmienne błędów poniżej.
Kod błędu | Stan HTTP | Przyczyna |
---|---|---|
steps.oauth.v2.access_token_expired |
500 | Token dostępu wysłany do zasady stracił ważność. |
steps.oauth.v2.authorization_code_expired |
500 | Kod autoryzacji wysłany do zasady stracił ważność. |
steps.oauth.v2.invalid_access_token |
500 | Token dostępu wysłany do zasady jest nieprawidłowy. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 | Identyfikator klienta wysłany do zasady jest nieprawidłowy. |
steps.oauth.v2.invalid_refresh_token |
500 | Token odświeżania wysłany do zasady jest nieprawidłowy. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 | Kod autoryzacji wysłany do zasady jest nieprawidłowy. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Informacje o tym, jak rozwiązać ten problem, znajdziesz w tym poście w społeczności Apigee. |
steps.oauth.v2.refresh_token_expired |
500 | Token odświeżania wysłany do zasady wygasł. |
Błędy wdrażania
Informacje o błędach wdrażania znajdziesz w komunikacie zgłoszonym w interfejsie.
Zmienne błędów
Te zmienne są ustawiane, gdy 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 środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
Przykładowa odpowiedź na błąd
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
Przykładowa reguła błędu
<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, 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 |
---|---|---|
steps.oauth.v2.access_token_expired |
500 | Token dostępu wysłany do zasady stracił ważność. |
steps.oauth.v2.invalid_access_token |
500 | Token dostępu wysłany do zasady jest nieprawidłowy. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Informacje o tym, jak rozwiązać ten problem, znajdziesz w tym poście w społeczności Apigee. |
Błędy wdrażania
Informacje o błędach wdrażania znajdziesz w komunikacie zgłoszonym w interfejsie.
Zmienne błędów
Te zmienne są ustawiane, gdy 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 środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | 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.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.SetTokenInfo.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.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 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 |
---|---|---|
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 | Informacje o tym, jak rozwiązać ten problem, znajdziesz w tym poście w społeczności Apigee. |
Błędy wdrażania
Informacje o błędach wdrażania znajdziesz w komunikacie zgłoszonym w interfejsie.
Zmienne błędów
Te zmienne są ustawiane, gdy 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 środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | 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} |
Zasady GetOAuthV1Info
W zasadach Get OAuth 1.0a Information nie podano kodów błędów.
Zasada DeleteOAuthV1Info
W przypadku powodzenia zasada zwraca stan 200.
W przypadku niepowodzenia zasada zwraca błąd 404 i zwraca dane podobne do tych (w zależności od tego, czy usuwasz token dostępu, token żądania czy weryfikatora).
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 opisujemy kody błędów i komunikaty o błędach, które są zwracane, a także zmienne błędów ustawiane przez Edge, gdy ta zasada aktywuje błąd. Te informacje są ważne, jeśli opracowujesz reguły dotyczące błędów do obsługi 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.script.ScriptEvaluationFailed |
500 | Zasada PythonScript może generować kilka różnych typów błędów ScriptExecutionFailed. Typowe rodzaje błędów to NameError i ZeroDivisionError. | 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 |
---|---|---|
InvalidResourceUrlFormat |
Jeśli format adresu URL zasobu określony w elemencie <ResourceURL> lub w elemencie <IncludeURL> zasady PythonScript jest nieprawidłowy, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
InvalidResourceUrlReference |
Jeśli elementy <ResourceURL> lub <IncludeURL> odwołują się do nieistniejącego pliku PythonScript, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Przywoływany 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 zasada wywołuje błąd w czasie działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu podana w tabeli Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | 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>
Zasady dotyczące limitów
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.ratelimit.FailedToResolveQuotaIntervalReference |
500 | Występuje, jeśli element <Interval> nie jest zdefiniowany w zasadach dotyczących limitów. Ten element jest wymagany i służy do określania przedziału czasu obowiązującego w ramach limitu. Przedział czasu może mieć długość minut, godzin, dni, tygodni lub miesięcy, zgodnie z definicją za pomocą elementu <TimeUnit> . |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | Występuje, jeśli element <TimeUnit> nie jest zdefiniowany w zasadach dotyczących limitów. Ten element jest wymagany i służy do określania jednostki czasu obowiązującej w przypadku limitu. Przedział czasu może być wyrażony 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 (wartość 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 odstęp limitu podany w elemencie <Interval> nie jest liczbą całkowitą, nie uda się wdrożyć serwera proxy interfejsu API. Jeśli na przykład interwał limitu określony w elemencie <Interval> wynosi 0, 1, wdrożenie serwera proxy interfejsu API się nie uda.
|
build |
InvalidQuotaTimeUnit |
Jeśli jednostka czasu określona w elemencie <TimeUnit> nie jest obsługiwana, wdrożenie serwera proxy interfejsu API nie powiedzie się. Obsługiwane jednostki czasu to minute , hour , day , week i month .
|
build |
InvalidQuotaType |
Jeśli typ limitu określony przez atrybut type w elemencie <Quota> jest nieprawidłowy, wdrożenie serwera proxy interfejsu API nie powiedzie się. Obsługiwane typy limitów to default , calendar , flexi i rollingwindow .
|
build |
InvalidStartTime |
Jeśli format godziny określony w elemencie <StartTime> jest nieprawidłowy, wdrożenie serwera proxy interfejsu API nie powiedzie się. Prawidłowy format to yyyy-MM-dd HH:mm:ss , czyli format daty i godziny zgodny z ISO 8601. Jeśli na przykład czas określony w elemencie <StartTime> to 7-16-2017 12:00:00 , nie uda się wdrożyć serwera proxy interfejsu API.
|
build |
StartTimeNotSupported |
Jeśli jest określony element <StartTime> , którego typ limitu nie jest typu calendar , wdrożenie serwera proxy interfejsu API nie powiedzie się. Element <StartTime> jest obsługiwany tylko w przypadku limitu typu calendar . Jeśli na przykład atrybut type jest ustawiony na flexi lub rolling window w elemencie <Quota> , wdrożenie serwera proxy interfejsu API nie powiedzie się.
|
build |
InvalidTimeUnitForDistributedQuota |
Jeśli element <Distributed> jest ustawiony na true , a element <TimeUnit> ma wartość second , wdrożenie serwera proxy interfejsu API nie powiedzie się. Jednostka czasu second jest nieprawidłowa dla limitu rozproszonego. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Jeśli wartość elementu <SyncIntervalInSeconds> w elemencie <AsynchronousConfiguration> w zasadzie limitu jest mniejsza niż 0, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Jeśli wartość elementu <AsynchronousConfiguration> jest ustawiona na true w zasadzie limitu, która ma również konfigurację asynchroniczną zdefiniowaną za pomocą elementu <AsynchronousConfiguration> , wdrożenie serwera proxy interfejsu API się nie uda. |
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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | 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 resetowania limitu
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 |
Zasady dotyczące GrowFault
W tej sekcji opisujemy kody błędów i komunikaty o błędach, które są zwracane, a także zmienne błędów ustawiane przez Edge, gdy ta zasada aktywuje 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 |
---|---|---|
steps.raisefault.RaiseFault |
500 | Zobacz ciąg błędu. |
Błędy wdrażania
Brak.
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała 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 opisujemy kody błędów i komunikaty o błędach, które są zwracane, a także zmienne błędów ustawiane przez Edge, gdy ta zasada aktywuje 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 wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
SourceNotConfigured |
Co najmniej jeden z tych elementów zasady sprawdzania poprawności SAML nie jest zdefiniowany lub jest pusty: <Source> , <XPath> , <Namespaces> , <Namespace> .
|
build |
TrustStoreNotConfigured |
Jeśli element <TrustStore> jest pusty lub nie został określony w zasadzie Validate SAMLAssertion, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Wymagany jest prawidłowy magazyn zaufania.
|
build |
NullKeyStoreAlias |
Jeśli element podrzędny <Alias> jest pusty lub nie został określony w elemencie <Keystore> zasady Wygeneruj potwierdzenie SAML, wdrożenie serwera proxy interfejsu API nie powiedzie się. 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> w zasadzie Wygeneruj SAMLAssertion, wdrożenie serwera proxy interfejsu API się nie uda. Wymagana jest prawidłowa nazwa magazynu kluczy.
|
build |
NullIssuer |
Jeśli element <Issuer> jest pusty lub nie został określony w zasadzie generowania potwierdzenia SAML, wdrożenie serwera proxy interfejsu API nie powiedzie się. Wymagana jest prawidłowa wartość atrybutu <Issuer> .
|
build |
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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. Nazwa błędu to ostatnia część kodu. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
W przypadku weryfikacji konfiguracji zasady potwierdzenia 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>
Zasady dotyczące objaśnień dotyczących usług
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.servicecallout.ExecutionFailed |
500 |
Ten błąd może wystąpić, gdy:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | Zmienna żądania określona w zasadzie nie jest typu Message. Ten błąd wystąpi na przykład, jeśli jest to ciąg znaków lub inny typ, który nie jest wiadomości. | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | Zmienna żądania określona w zasadzie nie jest typu „Request Message” (Wiadomość żądania). Jeśli jest to na przykład Typ odpowiedzi, wystąpi ten błąd. | 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 |
---|---|---|
URLMissing |
Brak elementu <URL> w elemencie <HTTPTargetConnection> lub jest on pusty. |
build |
ConnectionInfoMissing |
Ten błąd występuje, jeśli zasada nie ma elementu <HTTPTargetConnection> ani <LocalTargetConnection> . |
build |
InvalidTimeoutValue |
Ten błąd występuje, jeśli wartość <Timeout> jest ujemna lub zero. |
build |
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | servicecallout.SC-GetUserData.failed = true |
Przykładowa odpowiedź na błąd
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Przykładowa reguła błędu
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
Zasady dotyczące SpikeArrest
W tej sekcji opisujemy kody błędów i komunikaty o błędach, które są zwracane, a także zmienne błędów ustawiane przez Edge, gdy ta zasada aktywuje 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.ratelimit.FailedToResolveSpikeArrestRate |
500 |
Ten błąd występuje, jeśli odwołanie do zmiennej zawierającej ustawienie stawki w elemencie <Rate> nie może zostać dopasowane do wartości w zasadzie Spike Arrest. Ten element jest wymagany i służy do określania częstotliwości aresztowań w przypadku nagłej liczby aresztowań w postaci intpm lub intps . |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Ten błąd występuje, jeśli wartość elementu <MessageWeight> w zmiennej przepływu jest nieprawidłowa (wartość nie jest liczbą całkowitą). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
Przekroczono limit częstotliwości żądań. |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidAllowedRate |
Jeśli nagły wzrost liczby aresztowań określony w elemencie <Rate> zasady aresztowania Spike nie jest liczbą całkowitą lub częstotliwość nie ma sufiksu ps ani pm , wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | ratelimit.SA-SpikeArrestPolicy.failed = true |
Przykładowa odpowiedź na błąd
Poniżej znajduje się przykładowa odpowiedź o błędzie:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
Przykładowa reguła błędu
Poniżej znajduje się przykładowa reguła dotycząca błędu w przypadku błędu SpikeArrestViolation
:
<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>
Zasady dotyczące obiektu StatisticsCollector
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.
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> zasady kolektora statystyk nie jest obsługiwany, wdrożenie serwera proxy interfejsu API nie powiedzie się. Obsługiwane typy danych to 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> zasady kolektora statystyk powoduje konflikt ze zmienną zdefiniowaną przez system, wdrożenie serwera proxy interfejsu API się nie uda. Niektóre ze znanych zmiennych zdefiniowanych w systemie to organization i environment . |
build |
DatatypeMissing |
Jeśli brakuje typu zmiennej określonego przez atrybut ref w elemencie <Statistic> zasady kolektora statystyk, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
Zmienne błędów
Brak.
ZasadaVerifyAPIKey
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 |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | Firma powiązana z aplikacją dewelopera, która ma klucz interfejsu API, którego używasz, jest nieaktywna. Jeśli stan firmy to nieaktywna, nie będziesz mieć dostępu do powiązanych z nią deweloperów ani aplikacji. Administrator organizacji może zmienić stan firmy za pomocą interfejsu API zarządzania. Zobacz Ustawianie stanu firmy. |
keymanagement.service.DeveloperStatusNotActive |
401 |
Deweloper, który utworzył aplikację dewelopera i ma klucz interfejsu API, którego używasz, ma stan nieaktywny. Gdy stan dewelopera aplikacji jest nieaktywny, wszystkie utworzone przez niego aplikacje są dezaktywowane. Administrator z odpowiednimi uprawnieniami (np. administrator organizacji) może zmienić stan dewelopera w ten sposób:
|
keymanagement.service.invalid_client-app_not_approved |
401 | Aplikacja dewelopera powiązana z kluczem interfejsu API została unieważniona. Unieważniona aplikacja nie ma dostępu do żadnych usług API ani nie może wywoływać żadnych interfejsów API zarządzanych przez Apigee Edge. Administrator organizacji może zmienić stan aplikacji programisty za pomocą interfejsu API zarządzania. Więcej informacji znajdziesz w sekcji Zatwierdzanie lub unieważnianie aplikacji dewelopera. |
oauth.v2.FailedToResolveAPIKey |
401 | Zasada oczekuje klucza interfejsu API w zmiennej określonej w elemencie <APIKey> zasady. Ten błąd występuje, gdy oczekiwana zmienna nie istnieje (nie można jej rozwiązać). |
oauth.v2.InvalidApiKey |
401 | Klucz interfejsu API został odebrany przez Edge, ale jest on nieprawidłowy. Podczas wyszukiwania klucza w bazie danych Edge musi być dokładnie zgodny z tym, który został wysłany w żądaniu. Jeśli interfejs API wcześniej działał, sprawdź, czy nie został on wygenerowany ponownie. Jeśli klucz został wygenerowany ponownie, przy próbie użycia starego klucza pojawi się ten błąd. Więcej informacji znajdziesz w artykule o rejestrowaniu aplikacji i zarządzaniu kluczami interfejsu API. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Edge otrzymał klucz interfejsu API i jest on prawidłowy. Nie pasuje jednak do zatwierdzonego klucza w aplikacji programisty powiązanego z serwerem proxy interfejsu API za pośrednictwem usługi. |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
Nazwa błędu | Przyczyna |
---|---|
SpecifyValueOrRefApiKey |
Element <APIKey> nie ma określonej wartości lub klucza. |
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.VK-VerifyAPIKey.failed = true |
Przykładowe odpowiedzi na błędy
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
Przykładowa reguła błędu
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
Zweryfikuj zasadę JWS
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.AlgorithmInTokenNotPresentInConfiguration |
401 | Występuje, gdy zasada weryfikacji ma wiele algorytmów |
steps.jws.AlgorithmMismatch |
401 | Algorytm określony w nagłówku przez zasadę generowania nie jest zgodny z algorytmem określonym w zasadzie weryfikacji. Podane algorytmy muszą się zgadzać. |
steps.jws.ContentIsNotDetached |
401 | Wartość <DetachedContent> jest określana, gdy JWS nie zawiera odłączonego ładunku treści. |
steps.jws.FailedToDecode |
401 | Nie udało się zdekodować JWS za pomocą zasady. Być może JWS jest uszkodzony. |
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.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.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.NoMatchingPublicKey |
401 | Zasada weryfikacji używa JWKS jako źródła kluczy publicznych, ale kid w podpisanym JWS nie jest wymieniony w JWKS. |
steps.jws.UnhandledCriticalHeader |
401 | Nagłówek znaleziony przez zasadę weryfikacji JWS w nagłówku crit nie jest wymieniony w zasadzie KnownHeaders . |
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, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "TokenExpired" |
JWS.failed |
Wszystkie zasady JWS ustawiają tę samą zmienną w przypadku niepowodzenia. | jws.JWS-Policy.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest zablokować część errorcode
odpowiedzi błędu. Nie polegaj na tekście w polu 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>
Zweryfikuj zasadę JWT
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.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | Dzieje się tak, gdy zasada weryfikacji ma wiele algorytmów. |
steps.jwt.AlgorithmMismatch |
401 | Algorytm określony w zasadzie generowania nie był zgodny z algorytmem określonym w zasadzie weryfikacji. Podane algorytmy muszą się zgadzać. |
steps.jwt.FailedToDecode |
401 | Zasadom nie udało się zdekodować tokena JWT. Token JWT jest prawdopodobnie uszkodzony. |
steps.jwt.GenerationFailed |
401 | Nie udało się wygenerować tokena JWT za pomocą zasady. |
steps.jwt.InsufficientKeyLength |
401 | W przypadku klucza krótszego niż 32 bajty dla algorytmu HS256, mniej niż 48 bajtów w przypadku algorytmu HS386 i mniej niż 64 bajty w przypadku algorytmu HS512. |
steps.jwt.InvalidClaim |
401 | Brak zgodności z deklaracją lub zgłoszeniem albo brak zgodności nagłówka lub nagłówka. |
steps.jwt.InvalidCurve |
401 | Krzywa określona przez klucz jest nieprawidłowa dla algorytmu krzywych eliptycznych. |
steps.jwt.InvalidJsonFormat |
401 | W nagłówku lub ładunku znaleziono nieprawidłowy kod JSON. |
steps.jwt.InvalidToken |
401 | Ten błąd występuje, gdy weryfikacja podpisu JWT nie powiedzie się. |
steps.jwt.JwtAudienceMismatch |
401 | Podczas weryfikacji tokena nie udało się potwierdzić odbiorców. |
steps.jwt.JwtIssuerMismatch |
401 | Podczas weryfikacji tokena nie udało się zgłosić deklaracji wydawcy. |
steps.jwt.JwtSubjectMismatch |
401 | Żądanie tematu nie powiodło się podczas weryfikacji tokena. |
steps.jwt.KeyIdMissing |
401 | Zasada weryfikacji używa JWKS jako źródła kluczy publicznych, ale podpisany token JWT nie zawiera w nagłówku właściwości kid . |
steps.jwt.KeyParsingFailed |
401 | Nie udało się przeanalizować klucza publicznego na podstawie podanych informacji o kluczu. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Występuje, gdy token JWT nie zawiera nagłówka algorytmu. |
steps.jwt.NoMatchingPublicKey |
401 | Zasada weryfikacji używa JWKS jako źródła kluczy publicznych, ale kid w podpisanym tokenie JWT nie jest wymieniony w JWKS. |
steps.jwt.SigningFailed |
401 | W narzędziu Wygeneruj JWT dla klucza mniejszego niż minimalny rozmiar algorytmów HS384 lub HS512 |
steps.jwt.TokenExpired |
401 | Zasada próbuje zweryfikować wygasły token. |
steps.jwt.TokenNotYetValid |
401 | Token nie jest jeszcze prawidłowy. |
steps.jwt.UnhandledCriticalHeader |
401 | Nagłówek, który znajduje się w zasadzie weryfikacji JWT w nagłówku crit , nie jest wymieniony w KnownHeaders . |
steps.jwt.UnknownException |
401 | Wystąpił nieznany wyjątek. |
steps.jwt.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 | Przyczyna | Napraw |
---|---|---|
InvalidNameForAdditionalClaim |
Wdrożenie nie uda się, jeśli żądanie użyte w elemencie podrzędnym <Claim> elementu <AdditionalClaims> jest jedną z tych zarejestrowanych nazw: kid , iss , sub , aud , iat , exp , nbf lub jti .
|
build |
InvalidTypeForAdditionalClaim |
Jeśli żądanie użyte w elemencie podrzędnym <Claim> elementu <AdditionalClaims> nie jest typu string , number , boolean ani map , wdrożenie się nie uda.
|
build |
MissingNameForAdditionalClaim |
Jeśli nazwy deklaracji nie podasz w elemencie podrzędnym <Claim> elementu <AdditionalClaims> , wdrożenie się nie uda.
|
build |
InvalidNameForAdditionalHeader |
Ten błąd występuje, gdy nazwa roszczenia użytego w elemencie podrzędnym <Claim> elementu <AdditionalClaims> to alg lub typ .
|
build |
InvalidTypeForAdditionalHeader |
Jeśli typ deklaracji użyty w elemencie podrzędnym <Claim> elementu <AdditionalClaims> nie jest typu string , number , boolean ani map , wdrożenie się nie uda.
|
build |
InvalidValueOfArrayAttribute |
Ten błąd występuje, gdy wartość atrybutu tablicy w elemencie podrzędnym <Claim> elementu <AdditionalClaims> nie jest ustawiona na true lub false .
|
build |
InvalidValueForElement |
Jeśli wartość podana w elemencie <Algorithm> nie jest obsługiwaną wartością, wdrożenie się nie uda.
|
build |
MissingConfigurationElement |
Ten błąd występuje, jeśli element <PrivateKey> nie jest używany w algorytmach rodziny RSA lub jeśli element <SecretKey> nie jest używany w algorytmach rodziny HS.
|
build |
InvalidKeyConfiguration |
Jeśli element podrzędny <Value> nie jest zdefiniowany w elementach <PrivateKey> lub <SecretKey> , wdrożenie się nie uda.
|
build |
EmptyElementForKeyConfiguration |
Jeśli atrybut ref elementu podrzędnego <Value> elementów <PrivateKey> lub <SecretKey> jest pusty lub nieokreślony, wdrożenie się nie uda.
|
build |
InvalidConfigurationForVerify |
Ten błąd występuje, jeśli element <Id> jest zdefiniowany w elemencie <SecretKey> .
|
build |
InvalidEmptyElement |
Ten błąd występuje, jeśli element <Source> zasady weryfikacji JWT jest pusty. Jeśli występuje, należy ją zdefiniować za pomocą nazwy zmiennej przepływu Edge.
|
build |
InvalidPublicKeyValue |
Jeśli wartość używana w elemencie podrzędnym <JWKS> elementu <PublicKey> nie używa prawidłowego formatu określonego w RFC 7517, wdrożenie się nie uda.
|
build |
InvalidConfigurationForActionAndAlgorithm |
Jeśli element <PrivateKey> jest używany w algorytmach rodziny HS lub element <SecretKey> jest używany w algorytmach rodziny RSA, wdrożenie się nie uda.
|
build |
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "TokenExpired" |
JWT.failed |
Wszystkie zasady JWT ustawiają tę samą zmienną na wypadek niepowodzenia. | JWT.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest zablokować część errorcode
odpowiedzi błędu. Nie polegaj na tekście w polu 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
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.xmlthreatprotection.ExecutionFailed |
500 | Zasada XMLThreatProtection może zgłaszać wiele różnych typów błędów ExecutionFailed. Większość z tych błędów występuje po przekroczeniu określonego w zasadzie progu. Do tych typów błędów należą: długość nazwy elementu, liczba elementów podrzędnych, głębokość węzła, liczba atrybutów, długość nazwy atrybutu i wiele innych. Pełną listę znajdziesz w temacie Rozwiązywanie problemów z błędami działania zasad XMLThreatProtection. | build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
Ten błąd występuje, jeśli ładunek wiadomości wejściowej określony przez element <Source> zasady XMLThreatProtection nie jest prawidłowym dokumentem XML.
|
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
Ten błąd występuje, jeśli zmienna message określona w elemencie <Source> ma jedną z tych wartości:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
Ten błąd występuje, jeśli element <Source> jest ustawiony na zmienną, która nie jest typu message.
|
build |
Uwagi:
- Nazwa błędu „ExecutionFailed” jest domyślną nazwą błędu, która jest zwracana niezależnie od typu wykrytego błędu. Wartość domyślną można jednak zmienić, ustawiając właściwość na poziomie organizacji. Po ustawieniu tej właściwości nazwa błędu będzie odzwierciedlać rzeczywisty błąd. Na przykład „TextExceeded” lub „AttrValueExceeded”. Szczegóły znajdziesz w uwagach dotyczących użytkowania.
- Domyślny stan HTTP 500. W przypadku błędów przepływu żądań można go jednak zmienić na 400, ustawiając właściwość na poziomie organizacji. Szczegóły znajdziesz w uwagach dotyczących użytkowania.
Błędy wdrażania
Brak.
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | xmlattack.XPT-SecureRequest.failed = true |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Przykładowa reguła błędu
<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 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.xmltojson.ExecutionFailed |
500 | Ten błąd występuje, gdy ładunek wejściowy (XML) jest pusty lub wejściowy kod 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 elemencie <OutputVariable> są różne. Typ zmiennych w elemencie <Source> i elemencie <OutputVariable> musi być taki sam.
|
build |
steps.xmltojson.InvalidSourceType |
500 | Ten błąd występuje, jeśli typ zmiennej użytej do zdefiniowania elementu <Source> jest nieprawidłowy.Prawidłowe typy zmiennej 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> zasady XML do JSON jest ciągiem znaków, a element <OutputVariable> nie jest zdefiniowany.
Element <OutputVariable> jest wymagany, gdy zmienna zdefiniowana w elemencie <Source> jest ciągiem znaków. |
build |
steps.xmltojson.SourceUnavailable |
500 |
Ten błąd występuje, jeśli zmienna message określona w elemencie <Source> zasady XML to JSON ma jedną z tych wartości:
|
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 |
---|---|---|
EitherOptionOrFormat |
Jeśli jeden z elementów <Options> lub <Format> nie jest zadeklarowany w zasadzie XML do formatu JSON, wdrożenie serwera proxy interfejsu API nie powiedzie się.
|
build |
UnknownFormat |
Jeśli element <Format> w zasadzie XML do JSON ma zdefiniowany nieznany format, wdrożenie serwera proxy interfejsu API nie powiedzie się. Wstępnie zdefiniowane formaty to: xml.com , yahoo , google i badgerFish .
|
build |
Zmienne błędów
Te zmienne są ustawiane, gdy wystąpi błąd środowiska wykonawczego. 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 Błędy środowiska wykonawczego powyżej. Nazwa błędu to ostatnia część kodu. | 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
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
Ten błąd występuje, jeśli zmienna komunikatu lub ciągu znaków określona w elemencie <Source> zasady przekształcania XSL jest poza zakresem (niedostępna w konkretnym procesie, w którym jest wykonywana) albo nie można jej rozwiązać (nie jest zdefiniowana).
|
build |
steps.xsl.XSLEvaluationFailed |
500 | Ten błąd występuje, jeśli wejściowe ładunki XML są niedostępne lub nieprawidłowo sformułowane albo zasada XSLTransform nie lub nie może przekształcić wejściowego pliku XML na podstawie reguł przekształcania podanych w pliku XSL. Przyczyn niepowodzenia zasady XSLTransform może być wiele. Więcej informacji na temat przyczyny niepowodzenia będzie można znaleźć w komunikacie o błędzie. | 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 |
---|---|---|
XSLEmptyResourceUrl |
Jeśli element <ResourceURL> w zasadzie przekształcania XSL jest pusty, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
XSLInvalidResourceType |
Jeśli typ zasobu określony w elemencie <ResourceURL> zasady przekształcania XSL nie jest typu xsl , wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |