Oglądasz dokumentację Apigee Edge.
Wyświetl dokumentację Apigee X.
Zasada kontroli dostępu
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | Adres IP klienta lub adres IP podany 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
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Zmienne specyficzne dla błędów zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | acl.AC-AllowAccess.failed = true |
Przykładowa odpowiedź na błąd
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"accesscontrol.IPDeniedAccess" } } }
Przykładowa reguła awarii
<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: Informacje o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Brak.
Błędy wdrażania
Nazwa błędu | Ciąg znaków 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 przypisywania wiadomości
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 | Zasada nie mogła ustawić zmiennej. Nazwa ciągu nierozwiązanej nazwy zawiera ciąg błędu. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Ten błąd występuje, jeśli atrybut Zmienne typów wiadomości reprezentują wszystkie żądania i odpowiedzi HTTP. Wbudowane zmienne przepływu brzegowe |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Ten błąd występuje, jeśli zmienna określona w zasadzie Przypisz wiadomość jest:
|
build |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidIndex |
Jeśli indeks określony w elementach <Copy> lub <Remove> zasady Przypisz wiadomość ma wartość 0 lub wartość ujemną, wdrożenie serwera proxy interfejsu API nie powiedzie się.
|
build |
InvalidVariableName |
Jeśli element podrzędny <Name> jest pusty lub nie określono go 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
Zmienne te są ustawiane, gdy ta zasada powoduje błąd w czasie działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "UnresolvedVariable" |
assignmessage.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | assignmessage.AM-SetResponse.failed = true |
Przykładowa odpowiedź na błąd
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
Przykładowa reguła awarii
<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>
Podstawowe zasady uwierzytelniania
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, jeśli opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 | W przypadku dekodowania, gdy przychodzący ciąg zakodowany w Base64 nie zawiera prawidłowej wartości lub nagłówek jest zniekształcony (np. nie rozpoczyna się od „Basic”). | build |
steps.basicauthentication.UnresolvedVariable |
500 | Wymagane zmienne źródłowe do dekodowania lub kodowania nie są dostępne. Ten błąd może wystąpić tylko wtedy, gdy IgnoreUnresolvedVariables ma wartość Fałsz. |
build |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Występuje, gdy | Napraw |
---|---|---|
UserNameRequired |
W przypadku operacji nazwanych musi występować element <User> . |
build |
PasswordRequired |
W przypadku operacji nazwanych musi występować element <Password> . |
build |
AssignToRequired |
W przypadku operacji nazwanych musi występować element <AssignTo> . |
build |
SourceRequired |
W przypadku operacji nazwanych musi występować element <Source> . |
build |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 awarii
<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 opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, jeśli opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa 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ównoczesnych połączeń. Limit połączeń : {0} Uwaga: kod błędu widoczny po lewej stronie jest poprawny, choć zawiera błąd pisowni („limt”). Pamiętaj, aby użyć kodu dokładnie w opisany tutaj sposób podczas tworzenia reguł wykrywania błędów w celu przechwycenia tego błędu. |
Błędy wdrażania
Nazwa błędu | Występuje, gdy |
---|---|
InvalidCountValue |
Podano nieprawidłową wartość licznika ConcurrentRatelimit. |
ConcurrentRatelimitStepAttachment\ |
Załącznik zasady Ograniczenie liczby żądań {0} jest niedozwolony na ścieżkach żądania, odpowiedzi i błędu serwera proxy. Tę zasadę należy umieścić w punkcie końcowym. |
ConcurrentRatelimitStepAttachment\ |
Brak załącznika do zasady Ograniczenie liczby żądań {0} na ścieżkach żądania/odpowiedzi/błędu. Tę zasadę należy umieścić w dokumencie Preflow, Przepływ docelowych odpowiedzi i DefaultFaultRule. |
InvalidTTLForMessageTimeOut |
Nieprawidłowa wartość ttl ConcurrentRatelimit dla czasu oczekiwania wiadomości. Musi być dodatnią liczbą całkowitą. |
Zmienne błędów
Zmienne te są ustawiane, gdy zasada powoduje błąd. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "ConcurrentRatelimtViolation"
Uwaga: kod błędu widoczny w przykładzie jest prawidłowy, choć zawiera literówki („limt”). Pamiętaj, aby użyć kodu dokładnie w opisany tutaj sposób podczas tworzenia reguł wykrywania błędów w celu przechwycenia tego błędu. |
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 szybkości zostanie przekroczony, zasada zwróci klientowi tylko stan HTTP 503.
Przykładowa reguła awarii
<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 dekodowania JWS
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa 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. Token JWS może być uszkodzony. |
steps.jws.FailedToResolveVariable |
401 | Ten błąd występuje, gdy zmienna przepływu określona w elemencie <Source> zasady nie istnieje. |
steps.jws.InvalidClaim |
401 | Brakujące lub niespójne zgłoszenie praw albo brakujący nagłówek lub niezgodność nagłówków. |
steps.jws.InvalidJsonFormat |
401 | W nagłówku JWS znaleziono nieprawidłowy plik 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 | Parametr <DetachedContent> jest pominięty, a token JWS zawiera wolny ładunek treści. |
steps.jws.MissingPayload |
401 | Brak ładunku JWS. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Występuje, gdy token JWS pominie nagłówek algorytmu. |
steps.jws.UnknownException |
401 | Wystąpił nieznany wyjątek. |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Występuje, gdy |
---|---|
InvalidAlgorithm |
Jedyne prawidłowe wartości to RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384 i HS512. |
|
Inne możliwe błędy wdrożenia. |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "TokenExpired" |
JWS.failed |
Wszystkie zasady JWS ustawiają tę samą zmienną na wypadek awarii. | jws.JWS-Policy.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest wykorzystać fragment errorcode
odpowiedzi na błąd. Nie stosuj tekstu w tekście faultstring
, bo może się on zmieniać.
Przykładowa reguła awarii
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
Zasada dekodowania JWT
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.jwt.FailedToDecode |
401 | Występuje, gdy zasada nie może odszyfrować tokena JWT. Token JWT może być nieprawidłowy, nieprawidłowy lub z innego powodu niewidoczny. | build |
steps.jwt.FailedToResolveVariable |
401 | Ten błąd występuje, gdy zmienna przepływu określona w elemencie <Source> zasady nie istnieje. |
|
steps.jwt.InvalidToken |
401 | Problem występuje, gdy zmienna przepływu określona w elemencie <Source> w zasadzie jest poza zakresem lub nie można jej rozwiązać. |
build |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidEmptyElement |
Dzieje się, gdy zmienna przepływu zawierająca deklarowany token JWT nie jest określony w elemencie <Source> zasady.
|
build |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "TokenExpired" |
JWT.failed |
Wszystkie zasady JWT ustawiają tę samą zmienną na wypadek awarii. | JWT.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest wykorzystać fragment errorcode
odpowiedzi na błąd. Nie stosuj tekstu w tekście faultstring
, bo może się on zmieniać.
Przykładowa reguła awarii
<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 wyodrębniania zmiennych
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.extractvariables.ExecutionFailed |
500 |
Ten błąd występuje, gdy:
|
build |
steps.extractvariables.ImmutableVariable |
500 | Zmienna używana w zasadzie jest stała. Zasady 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. Jeśli na przykład ładunek JSON nie ma obiektu Name , ale jako ścieżkę w zasadzie podasz Name , wystąpi ten błąd. |
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 podanej w elemencie Source . Zwykle dzieje się tak, gdy zmienna przepływu podana w elemencie Source nie istnieje w bieżącym procesie. |
build |
steps.extractvariables.SetVariableFailed |
500 | Ten błąd występuje, jeśli zasada nie może ustawić wartości na zmienną. Błąd zwykle występuje, gdy próbujesz przypisać wartości do wielu zmiennych, których nazwy zaczynają się od identycznych słów na początku. | build |
steps.extractvariables.SourceMessageNotAvailable |
500 | Ten błąd występuje, jeśli zmienna message określona w elemencie Source zasady wynosi:
|
build |
steps.extractvariables.UnableToCast |
500 | Ten błąd występuje, jeśli zasada nie może przesłać wyodrębnionej wartości do zmiennej. 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ć, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
NothingToExtract |
Jeśli zasada nie zawiera żadnego z elementów URIPath , QueryParam , Header , FormParam , XMLPayload ani JSONPayload , wdrożenie serwera proxy interfejsu API nie powiedzie się, ponieważ nie trzeba niczego wyodrębniać. |
build |
NONEmptyPrefixMappedToEmptyURI |
Ten błąd występuje, jeśli zasada ma prefiks zdefiniowany w elemencie Namespace w elemencie XMLPayload , ale nie jest zdefiniowany identyfikator URI. |
build |
DuplicatePrefix |
Ten błąd występuje, gdy zasada ma w elemencie Namespace w elemencie XMLPayload ten sam prefiks zdefiniowany więcej niż raz. |
build |
NoXPathsToEvaluate |
Jeśli zasada nie zawiera elementu XPath w elemencie XMLPayload , błąd serwera proxy interfejsu API kończy się niepowodzeniem.
|
build |
EmptyXPathExpression |
Jeśli zasada zawiera puste wyrażenie XPath w elemencie XMLPayload , nie udało się wdrożyć serwera proxy interfejsu API. |
build |
NoJSONPathsToEvaluate |
Jeśli zasada nie zawiera elementu JSONPath w elemencie JSONPayload , błąd serwera proxy interfejsu API kończy się niepowodzeniem. |
build |
EmptyJSONPathExpression |
Jeśli zasada zawiera puste wyrażenie XPath w elemencie XMLPayload , nie udało się wdrożyć serwera proxy interfejsu API. |
build |
MissingName |
Jeśli zasada nie ma atrybutu name w żadnym z elementów zasad, takich jak QueryParam , Header , FormParam lub Variable , w miejscu, w którym jest wymagana, 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 nie powiedzie się. 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 nodeset, ale nie można go przekonwertować na zbiór węzłów, wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem. |
build |
JSONPathCompilationFailed |
Zasady nie udało się skompilować określonej ścieżki JSON. | |
InstantiationFailed |
Nie udało się utworzyć zasady. | |
XPathCompilationFailed |
Jeśli prefiks lub wartość używana w elemencie XPath nie są częścią żadnej zadeklarowanej przestrzeni nazw w zasadzie, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
InvalidPattern |
Jeśli definicja elementu Pattern jest nieprawidłowa w przypadku któregokolwiek z elementów takich jak URIPath , QueryParam , Header , FormParam , XMLPayload lub JSONPayload w zasadzie, wdrożenie serwera proxy interfejsu API nie powiedzie się.
|
build |
Zmienne błędów
Zmienne te są ustawiane, gdy ta zasada powoduje błąd w czasie działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 awarii
<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 opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ważne jest, aby wiedzieć, czy opracowujesz reguły usuwania błędów. Więcej informacji znajdziesz w artykułach Informacje o błędach zasad i Obsługa 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 | Nie udało się wygenerować tokena JWS. |
steps.jws.InsufficientKeyLength |
401 | Dla klucza krótszego niż 32 bajty dla algorytmu HS256 |
steps.jws.InvalidClaim |
401 | Brakujące lub niespójne zgłoszenie praw albo brakujący nagłówek lub niezgodność nagłówków. |
steps.jws.InvalidCurve |
401 | Krzywa określona przez klucz jest nieprawidłowa dla algorytmu krzywej eliptycznej. |
steps.jws.InvalidJsonFormat |
401 | W nagłówku JWS znaleziono nieprawidłowy plik JSON. |
steps.jws.InvalidPayload |
401 | Ładunek JWS jest nieprawidłowy. |
steps.jws.InvalidSignature |
401 | Parametr <DetachedContent> jest pominięty, a token JWS zawiera wolny ładunek treści. |
steps.jws.KeyIdMissing |
401 | Zasada weryfikacji używa tokena JWKS jako źródła dla kluczy publicznych, ale podpisany token 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. |
steps.jws.MissingPayload |
401 | Brak ładunku JWS. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Występuje, gdy token JWS pominie nagłówek algorytmu. |
steps.jws.SigningFailed |
401 | W kluczu WygenerujJWS dla klucza mniejszego 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. Jeśli na przykład określisz klucz RSA dla algorytmu krzywej eliptycznej lub klucz krzywy dla algorytmu RSA. |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Występuje, gdy |
---|---|
InvalidAlgorithm |
Jedyne prawidłowe wartości to RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384 i HS512. |
|
Inne możliwe błędy wdrożenia. |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "TokenExpired" |
JWS.failed |
Wszystkie zasady JWS ustawiają tę samą zmienną na wypadek awarii. | jws.JWS-Policy.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest wykorzystać fragment errorcode
odpowiedzi na błąd. Nie stosuj tekstu w tekście faultstring
, bo może się on zmieniać.
Przykładowa reguła awarii
<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 opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa 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 | Występuje, gdy zasada weryfikacji zawiera wiele algorytmów. |
steps.jwt.AlgorithmMismatch |
401 | Algorytm określony w zasadzie Generowanie nie pasuje do algorytmu oczekiwanego w zasadzie weryfikacji. Podane algorytmy muszą być takie same. |
steps.jwt.FailedToDecode |
401 | Nie udało się zdekodować tokena JWT. Token JWT może być uszkodzony. |
steps.jwt.GenerationFailed |
401 | Nie udało się wygenerować tokena JWT. |
steps.jwt.InsufficientKeyLength |
401 | W przypadku klucza krótszego niż 32 bajty dla algorytmu HS256, mniej niż 48 bajtów dla algorytmu HS386 i mniej niż 64 bajty dla algorytmu HS512. |
steps.jwt.InvalidClaim |
401 | Brakujące lub niespójne zgłoszenie praw albo brakujący nagłówek lub niezgodność nagłówków. |
steps.jwt.InvalidCurve |
401 | Krzywa określona przez klucz jest nieprawidłowa dla algorytmu krzywej eliptycznej. |
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 | Nie udało się zweryfikować tokena odbiorców. |
steps.jwt.JwtIssuerMismatch |
401 | Nie udało się zweryfikować tokena wydawcy. |
steps.jwt.JwtSubjectMismatch |
401 | Nie udało się zgłosić tokena do weryfikacji tokena. |
steps.jwt.KeyIdMissing |
401 | Zasada weryfikacji używa tokena JWKS jako źródła dla kluczy publicznych, ale podpisany token JWT nie zawiera właściwości kid w nagłówku. |
steps.jwt.KeyParsingFailed |
401 | Nie udało się przeanalizować klucza publicznego na podstawie podanych informacji. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Występuje, gdy token JWT nie zawiera nagłówka algorytmu. |
steps.jwt.NoMatchingPublicKey |
401 | Zasada weryfikacji używa tokena JWKS jako źródła dla kluczy publicznych, ale kid w podpisanym tokenie JWT nie jest podany w tokenie JWKS. |
steps.jwt.SigningFailed |
401 | W kluczu WygenerujJWT – klucz mniejszy niż minimalny rozmiar algorytmów HS384 lub HS512 |
steps.jwt.TokenExpired |
401 | Zasady próbują zweryfikować token, który stracił ważność. |
steps.jwt.TokenNotYetValid |
401 | Token nie jest jeszcze ważny. |
steps.jwt.UnhandledCriticalHeader |
401 | Nagłówek znaleziony przez zasadę Weryfikacja JWT w nagłówku crit nie jest wymieniony w sekcji KnownHeaders . |
steps.jwt.UnknownException |
401 | Wystąpił nieznany wyjątek. |
steps.jwt.WrongKeyType |
401 | Podano nieprawidłowy typ klucza. Jeśli na przykład określisz klucz RSA dla algorytmu krzywej eliptycznej lub klucz krzywy dla algorytmu RSA. |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidNameForAdditionalClaim |
Wdrożenie zakończy się niepowodzeniem, jeśli roszczenie 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 roszczenie użyte w elemencie podrzędnym <Claim> elementu <AdditionalClaims> innego niż string , number , boolean lub map , wdrożenie się nie powiedzie.
|
build |
MissingNameForAdditionalClaim |
Jeśli nazwa roszczenia nie zostanie określona w elemencie podrzędnym <Claim> elementu <AdditionalClaims> , wdrożenie zakończy się niepowodzeniem.
|
build |
InvalidNameForAdditionalHeader |
Ten błąd występuje, gdy nazwa roszczenia użytego w elemencie podrzędnym <Claim> elementu <AdditionalClaims> jest alg lub typ .
|
build |
InvalidTypeForAdditionalHeader |
Jeśli typ roszczenia używanego w elemencie podrzędnym <Claim> elementu <AdditionalClaims> nie należy do typu string , number , boolean ani map , wdrożenie zakończy się niepowodzeniem.
|
build |
InvalidValueOfArrayAttribute |
Ten błąd występuje, gdy wartość atrybutu tab w elemencie podrzędnym <Claim> elementu <AdditionalClaims> nie jest ustawiona na true lub false .
|
build |
InvalidConfigurationForActionAndAlgorithm |
Jeśli element <PrivateKey> jest używany z algorytmami HS Family lub element <SecretKey> z algorytmami RSA RSA, wdrożenie nie powiedzie się.
|
build |
InvalidValueForElement |
Jeśli wartość podana w elemencie <Algorithm> nie jest obsługiwaną wartością, wdrożenie zakończy się niepowodzeniem.
|
build |
MissingConfigurationElement |
Ten błąd występuje, jeśli element <PrivateKey> nie jest używany z algorytmami rodzinnymi RSA lub element <SecretKey> nie jest używany z algorytmami rodziny HS.
|
build |
InvalidKeyConfiguration |
Jeśli element podrzędny <Value> nie jest zdefiniowany w elementach <PrivateKey> lub <SecretKey> , wdrożenie zakończy się niepowodzeniem.
|
build |
EmptyElementForKeyConfiguration |
Jeśli atrybut ref elementu podrzędnego <Value> elementu <PrivateKey> lub <SecretKey> jest pusty lub nieokreślony, wdrożenie zakończy się niepowodzeniem.
|
build |
InvalidVariableNameForSecret |
Ten błąd występuje, jeśli nazwa zmiennej przepływu podana w atrybucie ref elementu podrzędnego <Value> elementu <PrivateKey> lub <SecretKey> nie zawiera prywatnego prefiksu (private.) .
|
build |
InvalidSecretInConfig |
Ten błąd występuje, jeśli element podrzędny <Value> elementu <PrivateKey> lub <SecretKey> nie zawiera prywatnego prefiksu (private.) .
|
build |
InvalidTimeFormat |
Jeśli wartość podana w elemencie <NotBefore> nie ma obsługiwanego formatu, wdrożenie nie powiedzie się.
|
build |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "TokenExpired" |
JWT.failed |
Wszystkie zasady JWT ustawiają tę samą zmienną na wypadek awarii. | JWT.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest wykorzystać fragment errorcode
odpowiedzi na błąd. Nie stosuj tekstu w tekście faultstring
, bo może się on zmieniać.
Przykładowa reguła awarii
<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 objaśnienia Java
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.javacallout.ExecutionError |
500 | Błąd występuje, gdy kod Java zwróci wyjątek lub zwróci wartość null podczas wykonywania zasady JavaCallout. | build |
Błędy wdrażania
Te błędy mogą wystąpić, gdy serwer proxy zawierający zasadę jest wdrożony.
Nazwa błędu | Ciąg znaków 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 zasobniku. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
Nie dotyczy | Zobacz ciąg znaków błędu. Zobacz też Obsługiwane oprogramowanie i obsługiwane wersje. |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
Nie dotyczy | Zobacz ciąg znaków błędu. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
Nie dotyczy | Zobacz ciąg znaków błędu. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
Nie dotyczy | Zobacz ciąg znaków błędu. |
NoResourceForURL |
Could not locate a resource with URL [string] |
Nie dotyczy | Zobacz ciąg znaków błędu. |
Zmienne błędów
Zmienne te są ustawiane, gdy zasada powoduje błąd. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 awarii
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
Zasady dotyczące kodu JavaScript
W tej sekcji opisano kody błędów i zwracane komunikaty o błędach, które są zmieniane przez Edge po wywołaniu tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 | Zasada JavaScript może zwracać wiele różnych typów błędów ScriptExecutionFailed. Do najczęściej występujących typów błędów należą RangeError, ReferenceError, SkładniaError, TypeError i URIError. | build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 | W kodzie JavaScript wystąpił błąd. Aby dowiedzieć się więcej, sprawdź ciąg błędu. | Nie dotyczy |
steps.javascript.ScriptSecurityError |
500 | Podczas wykonywania kodu JavaScript wystąpił błąd zabezpieczeń. Więcej informacji znajdziesz w tekście błędu. | Nie dotyczy |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidResourceUrlFormat |
Jeśli format adresu URL zasobu określony w elemencie <ResourceURL> lub <IncludeURL> w zasadzie 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ę.
Wskazany plik źródłowy musi istnieć na poziomie serwera proxy, środowiska lub organizacji. |
build |
WrongResourceType |
Ten błąd występuje podczas wdrażania, jeśli elementy <ResourceURL> lub <IncludeURL> w zasadach JavaScript odwołują się do innych typów zasobów niż jsc (plik JavaScript). |
build |
NoResourceURLOrSource |
Wdrożenie zasady JavaScript może się nie powieść w przypadku tego błędu, jeśli nie zadeklarowano elementu <ResourceURL> lub w tym elemencie nie określono adresu URL zasobu.
Element <ResourceURL> jest wymagany. Albo element <IncludeURL> jest zadeklarowany, ale nie określono w nim adresu URL zasobu. Element <IncludeURL> jest opcjonalny, ale jeśli zostanie zadeklarowany, adres URL zasobu musi być określony w elemencie <IncludeURL> . |
build |
Zmienne błędów
Zmienne te są ustawiane, gdy ta zasada powoduje błąd w czasie działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | javascript.JavaScript-1.failed = true |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Przykładowa reguła awarii
<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 opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 | Zasada JSONThreatProtection może zwracać wiele różnych typów błędów ExecutionFailed. Większość tych błędów występuje, gdy przekroczysz określony próg określony w zasadach. Te typy błędów to: liczba wpisów nazwy obiektu, liczba wpisów obiektów, liczba elementów tablicy, głębokość kontenera, długość wartości ciągu znaków. Ten błąd występuje również wtedy, gdy ładunek zawiera nieprawidłowy obiekt JSON. | build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
Ten błąd występuje wtedy, gdy zmienna message określona w elemencie <Source> jest:
|
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
Zmienne te są ustawiane, gdy zasada powoduje błąd. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 awarii
<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 opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 | Dane wejściowe (JSON) są puste lub dane wejściowe (JSON) przekazywane do zasad JSON na XML są nieprawidłowe lub błędnie sformatowane. | build |
steps.jsontoxml.InCompatibleTypes |
500 | Ten błąd występuje, jeśli typ zmiennej zdefiniowanej w elemencie <Source> i elemencie <OutputVariable> jest inny. Wymagane jest, aby typ zmiennych zawartych w elemencie <Source> i elemencie <OutputVariable> był zgodny. Prawidłowe typy to message i string . |
build |
steps.jsontoxml.InvalidSourceType |
500 | Ten błąd występuje, jeśli typ zmiennej służącej do definiowania 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> w zasadzie JSON do XML jest ciągiem typu, a element <OutputVariable> nie jest zdefiniowany.
Element <OutputVariable> jest wymagany, gdy zmienna zdefiniowana w elemencie <Source> jest ciągiem typu. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
Ten błąd występuje, jeśli zmienna message określona w elemencie <Source> w zasadzie JSON do XML jest:
|
build |
Błędy wdrażania
Brak.
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 awarii
<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 opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.keyvaluemapoperations.SetVariableFailed |
500 |
Ten błąd występuje, gdy próbujesz pobrać wartość z mapy zaszyfrowanej pary klucz-wartość i ustawić wartość na zmienną, której nazwa nie zawiera 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ć, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidIndex |
Jeśli atrybut index określony w elemencie <Get> zasady operacji związanych z mapą par klucz-wartość wynosi zero lub jest liczbą ujemną, wdrożenie serwera proxy interfejsu API nie powiedzie się. Indeks zaczyna się od 1 , dlatego indeks równy 0 lub ujemna liczba całkowita jest nieprawidłowy.
|
build |
KeyIsMissing |
Ten błąd występuje, jeśli brakuje elementu <Key> lub elementu <Parameter> nie ma w elemencie <Key> pod elementem <Entry> w zasadzie operacji na mapie par klucz-wartość.<InitialEntries>
|
build |
ValueIsMissing |
Ten błąd występuje, jeśli brakuje elementu <Value> pod elementem <Entry> elementu <InitialEntries> zasady operacji na parze klucz-wartość. |
build |
Zasada LDAP
Ta zasada używa tych kodów błędów:
Kod błędu | przekaz, |
---|---|
InvalidAttributeName |
Invalid attribute name {0}. |
InvalidSearchBase |
Search base can not be empty. |
InvalidValueForPassword |
Invalid value for password field. It can not be empty. |
InvalidSearchScope |
Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials |
Invalid user credentials. |
InvalidExternalLdapReference |
Invalid external ldap reference {0}. |
LdapResourceNotFound |
Ldap resource {0} not found. |
BaseDNRequired |
Base DN required. |
OnlyReferenceOrValueIsAllowed |
Only value or reference is allowed for {0}. |
AttributesRequired |
At least one attribute required for search action. |
UserNameIsNull |
User name is null. |
SearchQueryAndUserNameCannotBePresent |
Both search query and username can not be present in the authentication action.
Please specify either one of them. |
Zasada MessageLogging
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | Zobacz ciąg znaków błędu. |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidProtocol |
Zastosowanie zasady MessageLogging może się nie udać, 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ść w przypadku tego błędu, jeśli w elemencie <Port> nie określono numeru portu lub jest on nieprawidłowy. Numer portu musi być liczbą całkowitą większą od zera. |
build |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | messagelogging.ML-LogMessages.failed = true |
Przykładowa odpowiedź na błąd
{ "fault":{ "detail":{ "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed" }, "faultstring":"Execution failed" } }
Przykładowa reguła awarii
<FaultRule name="MessageLogging"> <Step> <Name>ML-LogMessages</Name> <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition> </Step> <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition> </FaultRule>
Zasady OASwalidacji
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | |
---|---|---|---|
steps.oasvalidation.Failed |
500 | Nie można zweryfikować treści wiadomości zgodnie z podaną specyfikacją 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ć, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | |
---|---|---|
ResourceDoesNotExist |
Specyfikacja OpenAPI, do której odwołuje się element <OASResource> , nie istnieje.
|
|
ResourceCompileFailed |
Specyfikacja OpenAPI zawarta we wdrożeniu zawiera błędy uniemożliwiające jej skompilowanie. Ogólnie oznacza to, że nie jest to prawidłowo utworzona specyfikacja OpenAPI 3.0. | |
BadResourceURL |
Nie można przetworzyć specyfikacji OpenAPI, do której odwołuje się element <OASResource> . Może się tak zdarzyć, jeśli plik nie jest plikiem JSON lub YAML lub adres URL pliku nie jest prawidłowo określony.
|
Zmienne błędów
Zmienne te są ustawiane, gdy ta zasada powoduje błąd w czasie działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 |
Uzupełnij zasadę cacheCache
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa 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 | Nie można zapisać wpisu w pamięci podręcznej. Obiekt wiadomości przechowywany w pamięci podręcznej nie jest instancją klasy, która może być serializowana. |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidCacheResourceReference |
Ten błąd występuje, jeśli element <CacheResource> w zasadzie PopulationCache ma ustawioną 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
Zmienne te są ustawiane, gdy zasada powoduje błąd. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 awarii
<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 opisano komunikaty o błędach i zmienne przepływu skonfigurowane po uruchomieniu tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły awarii serwera proxy. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Prefiks kodu błędu
Nie dotyczy
Błędy w czasie wykonywania
Ta zasada nie powoduje błędów w czasie działania.
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
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> ma wartość ujemną, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
CacheNotFound |
Ten błąd występuje, jeśli konkretna pamięć podręczna wymieniona w komunikacie o błędzie nie została utworzona w określonym komponencie procesora wiadomości. | build |
Zmienne błędów
Nie dotyczy
Przykładowa odpowiedź na błąd
Nie dotyczy
Nieprawidłowa zasada dotycząca pamięci podręcznej
W tej sekcji opisano komunikaty o błędach i zmienne przepływu skonfigurowane po uruchomieniu tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły awarii serwera proxy. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Prefiks kodu błędu
Nie dotyczy
Błędy w czasie wykonywania
Ta zasada nie powoduje błędów w czasie działania.
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidCacheResourceReference |
Ten błąd występuje, jeśli element <CacheResource> w zasadzie InvalidateCache ma 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 konkretna pamięć podręczna wymieniona w komunikacie o błędzie nie została utworzona w określonym komponencie procesora wiadomości. | build |
Zmienne błędów
Nie dotyczy
Przykładowa odpowiedź na błąd
Nie dotyczy
Zasada ResponseCache
W tej sekcji opisano komunikaty o błędach i zmienne przepływu skonfigurowane po uruchomieniu tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły awarii serwera proxy. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Prefiks kodu błędu
Nie dotyczy
Błędy w czasie wykonywania
Ta zasada nie powoduje błędów w czasie działania.
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidTimeout |
Jeśli element <CacheLookupTimeoutInSeconds> zasady ResponseCache ma wartość ujemną, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
InvalidCacheResourceReference |
Ten błąd występuje, jeśli element <CacheResource> w zasadzie ResponseCache ma 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 dołączona do wielu ścieżek żądań w dowolnym przepływie serwera proxy interfejsu API. | build |
ResponseCacheStepAttachmentNotAllowedResp |
Ten błąd występuje, jeśli ta sama zasada ResponseCache jest dołączona do wielu ścieżek odpowiedzi w dowolnym przepływie 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 konkretna pamięć podręczna wymieniona w komunikacie o błędzie nie została utworzona w określonym komponencie procesora wiadomości. | build |
Zmienne błędów
Nie dotyczy
Przykładowa odpowiedź na błąd
Nie dotyczy
Zasady OAuthV2
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Rzucony przez operacje |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | Token dostępu wygasł. |
VerifyAccessToken |
steps.oauth.v2.access_token_not_approved |
401 | Token dostępu został unieważniony. | Zweryfikuj token dostępu |
steps.oauth.v2.apiresource_doesnot_exist |
401 | Żądany zasób nie istnieje w żadnej usłudze API powiązanej z tokenem dostępu. | Zweryfikuj token dostępu |
steps.oauth.v2.FailedToResolveAccessToken |
500 | Zasada miała znaleźć token dostępu w zmiennej określonej w elemencie <AccessToken> , ale nie udało się jej znaleźć. |
Wygeneruj token dostępu |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 | Zasada miała znaleźć kod autoryzacji w zmiennej określonej w elemencie <Code> , ale nie udało się jej znaleźć. |
Wygeneruj kod autoryzacji |
steps.oauth.v2.FailedToResolveClientId |
500 | Zasada miała znaleźć identyfikator klienta w zmiennej określonej w elemencie <ClientId> , ale nie udało się jej znaleźć. |
generateAccessToken AuthorizationAuthorizationCode Wygeneruj dostępTokenTokenImplicitGrant Odśwież dostęp |
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źć zmiennej. |
Token dostępu |
steps.oauth.v2.FailedToResolveToken |
500 | Zasada miała znaleźć token w zmiennej określonej w elemencie <Tokens> , ale nie udało się jej znaleźć. |
validToken |
steps.oauth.v2.InsufficientScope |
403 | Token dostępu podany w żądaniu ma zakres niezgodny z zakresem określonym w zasadach tokena weryfikacji dostępu. Więcej informacji o zakresie znajdziesz w artykule Praca z zakresami OAuth2. | Zweryfikuj token dostępu |
steps.oauth.v2.invalid_access_token |
401 | Token dostępu wysłany z klienta jest nieprawidłowy. | Zweryfikuj token dostępu |
steps.oauth.v2.invalid_client |
401 |
Ta nazwa błędu jest zwracana, gdy właściwość Uwaga: zalecamy zmianę istniejących reguł reguł błędów tak, aby wykrywały zarówno nazwy |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.invalid_request |
400 | Ta nazwa błędu służy do wielu różnych typów błędów, zwykle w przypadku brakujących lub nieprawidłowych parametrów wysłanych w żądaniu. Jeśli <GenerateResponse> ma wartość false , użyj zmiennych (opisanych poniżej) w celu uzyskania szczegółowych informacji o błędzie, takich jak nazwa i przyczyna błędu. |
generateAccessToken AuthorizationAuthorizationCode Wygeneruj dostępTokenTokenImplicitGrant Odśwież dostęp |
steps.oauth.v2.InvalidAccessToken |
401 | Nagłówek autoryzacji nie zawiera słowa „Bearer”, które jest wymagane. Na przykład: Authorization: Bearer your_access_token |
Zweryfikuj token dostępu |
steps.oauth.v2.InvalidAPICallAsNo\ |
401 |
Serwer proxy interfejsu API nie znajduje się w usłudze powiązanej z tokenem dostępu. Wskazówka: usługa powiązana z tokenem dostępu musi być prawidłowo skonfigurowana. Jeśli na przykład w ścieżkach zasobów używasz symboli wieloznacznych, sprawdź, czy symbole wieloznaczne są prawidłowo używane. Więcej informacji znajdziesz w artykule Tworzenie usług API. Przeczytaj też ten post na forum Apigee, by dowiedzieć się więcej o przyczynach tego błędu. |
Zweryfikuj token dostępu |
steps.oauth.v2.InvalidClientIdentifier |
500 |
Ta nazwa błędu jest zwracana, gdy zasada |
GenerateAccessToken |
steps.oauth.v2.InvalidParameter |
500 | Zasada musi określać token dostępu lub kod autoryzacji, ale nie oba te elementy jednocześnie. | generateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 | Element <Tokens>/<Token> wymaga określenia typu tokena (np. refreshtoken ). Jeśli klient przejdzie w błąd, wyświetli się komunikat o błędzie. |
validToken Nieprawidłowy token |
steps.oauth.v2.MissingParameter |
500 | Typ odpowiedzi to token , ale nie określono żadnego typu uwierzytelnienia. |
generateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
Klient określił typ uwierzytelnienia nieobsługiwany przez zasadę (nie jest on wymieniony w elemencie <ObsługiwaneGrantTypes>). Uwaga: obecnie występuje błąd, który nie obsługuje poprawnie błędów typu uwierzytelnienia. Jeśli wystąpi nieobsługiwany błąd typu uwierzytelnienia, serwer proxy nie wpisuje przepływu błędu zgodnie z oczekiwaniami. |
generateAccessToken AuthorizationAuthorizationCode Wygeneruj dostępTokenTokenImplicitGrant Odśwież dostęp |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna |
---|---|
InvalidValueForExpiresIn |
W przypadku elementu |
InvalidValueForRefreshTokenExpiresIn |
W przypadku elementu <RefreshTokenExpiresIn> prawidłowe wartości to dodatnie liczby całkowite i -1 . |
InvalidGrantType |
W elemencie <SupportedGrantTypes> określono nieprawidłowy typ uwierzytelnienia. Listę prawidłowych typów znajdziesz w zasadach. |
ExpiresInNotApplicableForOperation |
Upewnij się, że operacje określone w elemencie <Operations> obsługują datę ważności. Na przykład operacja WeryfikacjaToken nie. |
RefreshTokenExpiresInNotApplicableForOperation |
Sprawdź, czy operacje określone w elemencie <Operations> obsługują okres ważności odświeżania tokena. Na przykład operacja WeryfikacjaToken nie. |
GrantTypesNotApplicableForOperation |
Sprawdź, czy dla podanej operacji obsługiwane są typy grantów określone w <Obsługiwanym typie Typy>. |
OperationRequired |
Musisz określić operację w tej zasadzie za pomocą elementu Uwaga: jeśli brakuje elementu |
InvalidOperation |
Musisz określić prawidłową operację w tej zasadzie za pomocą elementu Uwaga: jeśli element |
TokenValueRequired |
W elemencie <Tokens> musisz podać wartość <Token> tokena. |
Zmienne błędów
Zmienne te są ustawiane, gdy ta zasada powoduje błąd w czasie działania.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 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, które generują tokeny i kody. Pełną listę znajdziesz w dokumentacji odpowiedzi błędu HTTP HTTP.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
Jeśli <GenerateResponse>
ma wartość true, zasada zwraca błędy w tym formacie na potrzeby weryfikacji i weryfikacji operacji. Pełną listę znajdziesz w dokumentacji odpowiedzi błędu HTTP HTTP.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
Przykładowa reguła awarii
<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>
Uzyskiwanie zasady OAuthOAuth22Info
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa 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 znaków przypisane do zmiennej fault.name
, gdy wystąpi błąd. Więcej informacji znajdziesz w sekcji „Zmienne błędów”.
Kod błędu | Stan HTTP | Przyczyna |
---|---|---|
steps.oauth.v2.access_token_expired |
500 | Token dostępu wysłany do zasad wygasł. |
steps.oauth.v2.authorization_code_expired |
500 | Kod autoryzacji wysłany do zasad stracił ważność. |
steps.oauth.v2.invalid_access_token |
500 | Token dostępu wysłany do zasad 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 zasad jest nieprawidłowy. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Aby dowiedzieć się, jak rozwiązać ten problem, przeczytaj ten post na forum 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 wdrożenia znajdziesz w wiadomości zgłoszonej w interfejsie użytkownika.
Zmienne błędów
Zmienne te są ustawiane, gdy ta zasada powoduje błąd w czasie działania.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 awarii
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientIdResponse</Name> </Step> <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition> </FaultRule>
Ustawianie zasady OAuthOAuth22Info
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna |
---|---|---|
steps.oauth.v2.access_token_expired |
500 | Token dostępu wysłany do zasad wygasł. |
steps.oauth.v2.invalid_access_token |
500 | Token dostępu wysłany do zasad jest nieprawidłowy. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Aby dowiedzieć się, jak rozwiązać ten problem, przeczytaj ten post na forum Apigee. |
Błędy wdrażania
Informacje o błędach wdrożenia znajdziesz w wiadomości zgłoszonej w interfejsie użytkownika.
Zmienne błędów
Zmienne te są ustawiane, gdy ta zasada powoduje błąd w czasie działania.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.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 awarii
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
Usunięcie zasady OAuthOAuth22Info
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 | Token dostępu wysłany do zasad jest nieprawidłowy. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 | Kod autoryzacji wysłany do zasad jest nieprawidłowy. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Aby dowiedzieć się, jak rozwiązać ten problem, przeczytaj ten post na forum Apigee. |
Błędy wdrażania
Informacje o błędach wdrożenia znajdziesz w wiadomości zgłoszonej w interfejsie użytkownika.
Zmienne błędów
Zmienne te są ustawiane, gdy ta zasada powoduje błąd w czasie działania.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Przykładowa reguła awarii
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> </Step> <Condition>(fault.name = "invalid_access_token")</Condition> </FaultRule>
Zasady 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} |
Pobranie zasady GetOAuthV1Info
W zasadach Get OAuth 1.0a Information nie podano kodów błędów.
Usuń zasadę OAuthOAuthV1Info
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 opisano kody błędów i zwracane komunikaty o błędach, które są zmieniane przez Edge po wywołaniu tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 | Zasada PythonScript może generować różne typy błędów ScriptExecutionFailed. Typowe typy błędów to NameError i ZeroDivisionError. | build |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidResourceUrlFormat |
Jeśli format adresu URL zasobu określony w elemencie <ResourceURL> lub 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ę.
Wskazany plik źródłowy musi istnieć na poziomie serwera proxy, środowiska lub organizacji. |
build |
Zmienne błędów
Zmienne te są ustawiane, gdy ta zasada powoduje błąd w czasie działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | pythonscript.PythonScript-1.failed = true |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
Przykładowa reguła awarii
<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 opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 | Błąd występuje, jeśli element <Interval> nie jest zdefiniowany w zasadach dotyczących limitów. Ten element jest wymagany i wykorzystywany do określania przedziału czasu dostępnego w ramach limitu. Przedział czasu to minuty, godziny, dni, tygodnie lub miesiące zgodnie z definicją w elemencie <TimeUnit> . |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | Błąd 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 objętej limitem. Może on wynosić kilka minut, godzin, dni, tygodni lub miesięcy. |
build |
policies.ratelimit.InvalidMessageWeight |
500 | Błąd występuje, jeśli wartość elementu <MessageWeight> określonego w zmiennej przepływu jest nieprawidłowa (nie jest liczbą całkowitą). |
build |
policies.ratelimit.QuotaViolation |
500 | Przekroczono limit. | Nie dotyczy |
Błędy wdrażania
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidQuotaInterval |
Jeśli przedział czasu określony w elemencie <Interval> nie jest liczbą całkowitą, wdrożenie serwera proxy interfejsu API nie powiedzie się. Jeśli np.określony w elemencie <Interval> odstęp między limitami wynosi 0, 1, wdrożenie serwera proxy interfejsu API nie powiedzie się.
|
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 w atrybucie 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 , który jest formatem daty i godziny ISO 8601. Jeśli na przykład czas podany w elemencie <StartTime> to 7-16-2017 12:00:00 , wdrożenie serwera proxy interfejsu API nie powiedzie się.
|
build |
StartTimeNotSupported |
Jeśli określono 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 w elemencie <Quota> ma wartość flexi lub rolling window , nie uda się wdrożyć serwera proxy interfejsu API.
|
build |
InvalidTimeUnitForDistributedQuota |
Jeśli element <Distributed> ma wartość true , a element <TimeUnit> ma wartość second , wdrażanie serwera proxy interfejsu API nie powiedzie się. Jednostka czasowa second jest nieprawidłowa dla rozproszonego limitu. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Jeśli wartość elementu <SyncIntervalInSeconds> w elemencie <AsynchronousConfiguration> w zasadach dotyczących limitu jest mniejsza od 0, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Jeśli wartość elementu <AsynchronousConfiguration> jest ustawiona na true w zasadach dotyczących limitów, które mają też asynchroniczną konfigurację zdefiniowaną za pomocą elementu <AsynchronousConfiguration> , wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
Zmienne błędów
Zmienne te są ustawiane, gdy zasada powoduje błąd. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | ratelimit.QT-QuotaPolicy.failed = true |
Przykładowa odpowiedź na błąd
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
Przykładowa reguła awarii
<FaultRules> <FaultRule name="Quota Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "QuotaViolation") </Condition> </Step> <Condition>ratelimit.Quota-1.failed=true</Condition> </FaultRule> </FaultRules>
Zasada ResetQuota
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | Zasada limitu określona w elemencie <Quota> w zasadach resetowania limitu nie jest zdefiniowana w serwerze proxy interfejsu API, więc nie będzie dostępna w trakcie procesu. Element <Quota> jest wymagany i określa zasadę limitu, której licznik należy zaktualizować za pomocą zasady resetowania limitu. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
Nie dotyczy | Nie można znaleźć odwołania do zmiennej zawierającej liczbę dozwolonych elementów w zasadzie <Allow> . Ten element jest wymagany i określa kwotę, która ma zmniejszyć wartość 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ć, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidCount |
Jeśli wartość podana w elemencie <Allow> w zasadzie Resetuj limit nie jest liczbą całkowitą, wdrożenie serwera proxy interfejsu API nie powiedzie się.
|
build |
Zasady dotyczące INCREASEFault
W tej sekcji opisano kody błędów i zwracane komunikaty o błędach, które są zmieniane przez Edge po wywołaniu tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Dowiedz się więcej o błędach zasad i rozwiązywaniu 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 znaków błędu. |
Błędy wdrażania
Brak.
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego powyżej. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 ExpressExpressionProtection
W tej sekcji opisano kody błędów i zwracane komunikaty oraz zmienne ustawione przez Edge, gdy ta zasada wywołuje błąd. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Jeśli chcesz przechwycić błąd i zgłosić własny błąd niestandardowy, ustaw atrybut continueOnError="true"
w elemencie głównym zasad.
Więcej informacji znajdziesz w artykułach
Informacje o błędach zasad i Obsługa błędów.
Błędy zwracane przez zasady dotyczące Edge mają spójny format, zgodnie z opisem kodu błędu.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | przekaz, |
---|---|
Nie udało się wykonać | Nie udało się wykonać funkcji ExpressExpression Protection StepDefinition {0}. Przyczyna: {1} |
Nie udało się utworzyć wystąpienia | Nie udało się utworzyć wystąpienia definicji ExpressExpression {0} |
Zmienna braku wiadomości | Zmienna {0} nie przyjmuje komunikatu |
Komunikat źródłowy niedostępny | Wiadomość {0} jest niedostępna dla RegularExpressionProtection StepDefinition {1} |
Wykryto zagrożenie | Wykryto zagrożenie za pomocą wyrażenia regularnego w {0}: wyrażenie regularne: {1} dane wejściowe: {2} |
Błąd zmiennej | Nie udało się znaleźć zmiennej {0} |
Błędy wdrażania
Kod błędu | przekaz, | Napraw |
---|---|---|
Nie można przekonwertować na zestaw węzłów | RegularExpressionProtection{0}: nie można przekonwertować wyniku xpath {1} na zbiór węzłów. Kontekst {2} | build |
Duplikat prefiksu | RegularExpressionProtection {0}: zduplikowany prefiks {1} | build |
Puste wyrażenie JSONPathExpression | RegularExpressionProtection {0}: puste wyrażenie JSONPath | build |
Pusty XPath | RegularExpressionProtection {0}: puste wyrażenie XPath | build |
Nieprawidłowe wyrażenie regularne | RegularExpressionProtection{0}: nieprawidłowe wyrażenie regularne {1}, kontekst {2} | build |
Błąd JSONPathCompilationFailed | RegularExpressionProtection {0}: nie udało się skompilować ścieżki json. {1} Kontekst {2} | build |
NONBlankPrefixMappedToOpróżnijURI | RegularExpressionProtection {0}: niepusty prefiks {1} nie może być zmapowany na pusty identyfikator URI | build |
Brak wzorców do egzekwowania | RegularExpressionProtection {0}: brak wzorców do egzekwowania w {1} | build |
Brak wymuszania | RegularExpressionProtection {0}: co najmniej jeden z identyfikatorów URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload jest wymagany. | build |
Niepowodzenie testu XPath | RegularExpressionProtection {0}: nie udało się skompilować skryptu xpath {1}. Kontekst {2} | build |
Zmienne błędów
Zmienne te są ustawiane, gdy zasada powoduje błąd. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą 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 opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | 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 typów wiadomości reprezentują wszystkie żądania i odpowiedzi HTTP. Wbudowane zmienne przepływu brzegowe |
build |
steps.messagevalidation.Failed |
500 | Ten błąd występuje, jeśli zasada SOAPMessageValidation nie pozwala sprawdzić poprawności wiadomości wejściowej w odniesieniu do schematu XSD lub definicji WSDL. Błąd ten występuje również, jeśli w komunikacie ładunku będzie nieprawidłowy format JSON lub XML. | build |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidResourceType |
Element <ResourceURL> w zasadzie SOAPMessageValidation jest ustawiony na typ zasobu, który nie jest obsługiwany przez zasadę.
|
build |
ResourceCompileFailed |
Skrypt zasobu, do którego odwołuje się element <ResourceURL> w zasadzie SOAPMessageValidation, zawiera błąd, który uniemożliwia jego kompilację.
|
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óry jest niezgodny z regułami XML dotyczącymi prawidłowych nazw elementów. |
build |
Zasada SAMLAssertion
W tej sekcji opisano kody błędów i zwracane komunikaty o błędach, a także zmienne ustawione przez Edge po wywołaniu tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
SourceNotConfigured |
Co najmniej jeden z tych elementów zasady walidacji SAML nie jest zdefiniowany lub pusty: <Source> , <XPath> , <Namespaces> , <Namespace> .
|
build |
TrustStoreNotConfigured |
Jeśli element <TrustStore> jest pusty lub nie został określony w zasadzie ValidateSAMLAssertion, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Prawidłowy magazyn zaufania jest wymagany.
|
build |
NullKeyStoreAlias |
Jeśli element podrzędny <Alias> jest pusty lub nie określono go w elemencie <Keystore> zasady Wygeneruj SAML, to 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 jest określony w elemencie <Keystore> w zasadzie GenerateSAMLAssertion, wdrażanie serwera proxy interfejsu API nie powiedzie się. 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ść <Issuer> .
|
build |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
W przypadku weryfikacji konfiguracji zasady potwierdzania 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 awarii
<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 opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Ten błąd może wystąpić, gdy:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | Zmienna Żądanie określona w zasadzie nie jest wiadomością typu. Ten błąd występuje na przykład w przypadku ciągu tekstowego lub innego typu, który nie jest komunikatem. | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | Zmienna Żądanie określona w zasadzie nie jest typu Komunikat żądania. Ten błąd występuje na przykład wtedy, gdy jest to typ odpowiedzi. | build |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
URLMissing |
Brakuje elementu <URL> w elemencie <HTTPTargetConnection> lub jest on pusty. |
build |
ConnectionInfoMissing |
Ten błąd występuje, jeśli zasada nie zawiera elementu <HTTPTargetConnection> ani <LocalTargetConnection> . |
build |
InvalidTimeoutValue |
Ten błąd występuje, jeśli wartość <Timeout> jest ujemna lub wynosi zero. |
build |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 awarii
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
Zasada SpikeArrest
W tej sekcji opisano kody błędów i zwracane komunikaty o błędach, które są zmieniane przez Edge po wywołaniu tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Jak postępować 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 nie można znaleźć odwołania do zmiennej zawierającej ustawienie ceny w elemencie <Rate> w wartości zasady Spire Arrest. Ten element jest wymagany i wykorzystywany do określania częstotliwości nagłego wzrostu w postaci intpm lub intps . |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Ten błąd występuje, jeśli wartość określona dla elementu <MessageWeight> za pomocą zmiennej przepływu jest nieprawidłowa (wartość inna niż liczba całkowita). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
Przekroczono limit ruchu. |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidAllowedRate |
Jeśli częstotliwość aresztowania nagłego wzrostu określona w elemencie <Rate> w zasadach dotyczących Spike Arrest nie jest liczbą całkowitą lub nie ma sufiksu ps ani pm , wtedy wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego powyżej. Nazwa błędu jest ostatnią częścią kodu błędu. | 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ź na błąd:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
Przykładowa reguła awarii
Poniżej znajduje się przykład reguły błędu umożliwiającej obsługę 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>
Zasada Statystyki Statystyki
W tej sekcji opisano komunikaty o błędach i zmienne przepływu skonfigurowane po uruchomieniu tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły awarii serwera proxy. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Brak.
Błędy wdrażania
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
UnsupportedDatatype |
Jeśli typ zmiennej określonej w atrybucie 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 w odniesieniu do danych zebranych dla określonej zmiennej zdefiniowanej w elemencie <Statistic> w zasadach kolektora statystyk koliduje ze zmienną zdefiniowaną przez system, to wdrożenie serwera proxy interfejsu API zakończy się niepowodzeniem. Niektóre znane zmienne zdefiniowane przez system to organization i environment . |
build |
DatatypeMissing |
Jeśli brakuje typu zmiennej określonego przez atrybut ref w elemencie <Statistic> zasady kolektora statystyk, nie można wdrożyć serwera proxy interfejsu API. |
build |
Zmienne błędów
Brak.
Zasada VerificationAPIKey
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | Firma powiązana z aplikacją deweloperską, której używasz klucza interfejsu API, ma stan nieaktywny. Gdy firma ma stan Nieaktywna, nie masz dostępu do jej programistó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 z używanym przez Ciebie kluczem interfejsu API, ma stan nieaktywny. Gdy deweloper 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 i nie może wywoływać żadnych interfejsów API zarządzanych przez Apigee Edge. Administrator organizacji może zmienić stan aplikacji dewelopera za pomocą interfejsu API zarządzania. Zobacz Zatwierdzanie lub unieważnianie aplikacji dewelopera. |
oauth.v2.FailedToResolveAPIKey |
401 | Zasada oczekuje, że znajdzie klucz interfejsu API w zmiennej określonej w elemencie <APIKey> zasady. Ten błąd pojawia się, gdy oczekiwana zmienna nie istnieje (nie można jej naprawić). |
oauth.v2.InvalidApiKey |
401 | Klucz interfejsu API został otrzymany przez Edge, ale jest nieprawidłowy. Gdy Edge sprawdza klucz w bazie danych, musi dokładnie odpowiadać kluczowi wysłanemu w żądaniu. Jeśli interfejs API działał wcześniej, sprawdź, czy klucz nie został wygenerowany ponownie. Jeśli spróbujesz użyć starego klucza, błąd pojawi się ponownie. Więcej informacji znajdziesz w artykule Rejestrowanie aplikacji i zarządzanie kluczami interfejsu API. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Klucz API został otrzymany przez Edge i jest prawidłowy, ale nie pasuje do zatwierdzonego klucza w aplikacji dla deweloperów, który jest powiązany z serwerem proxy API przez produkt. |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna |
---|---|
SpecifyValueOrRefApiKey |
Element <APIKey> nie ma określonej wartości ani klucza. |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 awarii
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
Zweryfikuj zasady weryfikacji JWS
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa 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 | ma miejsce, gdy zasada weryfikacji zawiera wiele algorytmów; |
steps.jws.AlgorithmMismatch |
401 | Algorytm określony w nagłówku przez zasadę Wygeneruj nie pasuje do algorytmu oczekiwanego w zasadzie weryfikacji. Podane algorytmy muszą być takie same. |
steps.jws.ContentIsNotDetached |
401 | <DetachedContent> jest określony, gdy token JWS nie zawiera odłączonego ładunku treści. |
steps.jws.FailedToDecode |
401 | Nie udało się zdekodować JWS. Token JWS może być uszkodzony. |
steps.jws.InsufficientKeyLength |
401 | Dla klucza krótszego niż 32 bajty dla algorytmu HS256 |
steps.jws.InvalidClaim |
401 | Brakujące lub niespójne zgłoszenie praw albo brakujący nagłówek lub niezgodność nagłówków. |
steps.jws.InvalidCurve |
401 | Krzywa określona przez klucz jest nieprawidłowa dla algorytmu krzywej eliptycznej. |
steps.jws.InvalidJsonFormat |
401 | W nagłówku JWS znaleziono nieprawidłowy plik 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 | Parametr <DetachedContent> jest pominięty, a token JWS zawiera wolny ładunek treści. |
steps.jws.KeyIdMissing |
401 | Zasada weryfikacji używa tokena JWKS jako źródła dla kluczy publicznych, ale podpisany token 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. |
steps.jws.MissingPayload |
401 | Brak ładunku JWS. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Występuje, gdy token JWS pominie nagłówek algorytmu. |
steps.jws.NoMatchingPublicKey |
401 | Zasada weryfikacji używa tokena JWKS jako źródła dla kluczy publicznych, ale kid w podpisanym tokenie JWS nie jest podany w tokenie JWKS. |
steps.jws.UnhandledCriticalHeader |
401 | Nagłówek znaleziony przez zasadę Weryfikacja JWS w nagłówku crit nie jest wymieniony w tabeli KnownHeaders . |
steps.jws.UnknownException |
401 | Wystąpił nieznany wyjątek. |
steps.jws.WrongKeyType |
401 | Podano nieprawidłowy typ klucza. Jeśli na przykład określisz klucz RSA dla algorytmu krzywej eliptycznej lub klucz krzywy dla algorytmu RSA. |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Występuje, gdy |
---|---|
InvalidAlgorithm |
Jedyne prawidłowe wartości to RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384 i HS512. |
|
Inne możliwe błędy wdrożenia. |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "TokenExpired" |
JWS.failed |
Wszystkie zasady JWS ustawiają tę samą zmienną na wypadek awarii. | jws.JWS-Policy.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest wykorzystać fragment errorcode
odpowiedzi na błąd. Nie stosuj tekstu w tekście faultstring
, bo może się on zmieniać.
Przykładowa reguła awarii
<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>
Zasady weryfikacji JWT
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa 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 | Występuje, gdy zasada weryfikacji zawiera wiele algorytmów. |
steps.jwt.AlgorithmMismatch |
401 | Algorytm określony w zasadzie Generowanie nie pasuje do algorytmu oczekiwanego w zasadzie weryfikacji. Podane algorytmy muszą być takie same. |
steps.jwt.FailedToDecode |
401 | Nie udało się zdekodować tokena JWT. Token JWT może być uszkodzony. |
steps.jwt.GenerationFailed |
401 | Nie udało się wygenerować tokena JWT. |
steps.jwt.InsufficientKeyLength |
401 | W przypadku klucza krótszego niż 32 bajty dla algorytmu HS256, mniej niż 48 bajtów dla algorytmu HS386 i mniej niż 64 bajty dla algorytmu HS512. |
steps.jwt.InvalidClaim |
401 | Brakujące lub niespójne zgłoszenie praw albo brakujący nagłówek lub niezgodność nagłówków. |
steps.jwt.InvalidCurve |
401 | Krzywa określona przez klucz jest nieprawidłowa dla algorytmu krzywej eliptycznej. |
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 | Nie udało się zweryfikować tokena odbiorców. |
steps.jwt.JwtIssuerMismatch |
401 | Nie udało się zweryfikować tokena wydawcy. |
steps.jwt.JwtSubjectMismatch |
401 | Nie udało się zgłosić tokena do weryfikacji tokena. |
steps.jwt.KeyIdMissing |
401 | Zasada weryfikacji używa tokena JWKS jako źródła dla kluczy publicznych, ale podpisany token JWT nie zawiera właściwości kid w nagłówku. |
steps.jwt.KeyParsingFailed |
401 | Nie udało się przeanalizować klucza publicznego na podstawie podanych informacji. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Występuje, gdy token JWT nie zawiera nagłówka algorytmu. |
steps.jwt.NoMatchingPublicKey |
401 | Zasada weryfikacji używa tokena JWKS jako źródła dla kluczy publicznych, ale kid w podpisanym tokenie JWT nie jest podany w tokenie JWKS. |
steps.jwt.SigningFailed |
401 | W kluczu WygenerujJWT – klucz mniejszy niż minimalny rozmiar algorytmów HS384 lub HS512 |
steps.jwt.TokenExpired |
401 | Zasady próbują zweryfikować token, który stracił ważność. |
steps.jwt.TokenNotYetValid |
401 | Token nie jest jeszcze ważny. |
steps.jwt.UnhandledCriticalHeader |
401 | Nagłówek znaleziony przez zasadę Weryfikacja JWT w nagłówku crit nie jest wymieniony w sekcji KnownHeaders . |
steps.jwt.UnknownException |
401 | Wystąpił nieznany wyjątek. |
steps.jwt.WrongKeyType |
401 | Podano nieprawidłowy typ klucza. Jeśli na przykład określisz klucz RSA dla algorytmu krzywej eliptycznej lub klucz krzywy dla algorytmu RSA. |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidNameForAdditionalClaim |
Wdrożenie zakończy się niepowodzeniem, jeśli roszczenie 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 roszczenie użyte w elemencie podrzędnym <Claim> elementu <AdditionalClaims> innego niż string , number , boolean lub map , wdrożenie się nie powiedzie.
|
build |
MissingNameForAdditionalClaim |
Jeśli nazwa roszczenia nie zostanie określona w elemencie podrzędnym <Claim> elementu <AdditionalClaims> , wdrożenie zakończy się niepowodzeniem.
|
build |
InvalidNameForAdditionalHeader |
Ten błąd występuje, gdy nazwa roszczenia użytego w elemencie podrzędnym <Claim> elementu <AdditionalClaims> jest alg lub typ .
|
build |
InvalidTypeForAdditionalHeader |
Jeśli typ roszczenia używanego w elemencie podrzędnym <Claim> elementu <AdditionalClaims> nie należy do typu string , number , boolean ani map , wdrożenie zakończy się niepowodzeniem.
|
build |
InvalidValueOfArrayAttribute |
Ten błąd występuje, gdy wartość atrybutu tab 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 zakończy się niepowodzeniem.
|
build |
MissingConfigurationElement |
Ten błąd występuje, jeśli element <PrivateKey> nie jest używany z algorytmami rodzinnymi RSA lub element <SecretKey> nie jest używany z algorytmami rodziny HS.
|
build |
InvalidKeyConfiguration |
Jeśli element podrzędny <Value> nie jest zdefiniowany w elementach <PrivateKey> lub <SecretKey> , wdrożenie zakończy się niepowodzeniem.
|
build |
EmptyElementForKeyConfiguration |
Jeśli atrybut ref elementu podrzędnego <Value> elementu <PrivateKey> lub <SecretKey> jest pusty lub nieokreślony, wdrożenie zakończy się niepowodzeniem.
|
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 tokena JWT jest pusty. Jeśli występuje, musi być zdefiniowany nazwą zmiennej przepływu przepływu Edge.
|
build |
InvalidPublicKeyValue |
Jeśli wartość używana w elemencie podrzędnym <JWKS> elementu <PublicKey> nie ma prawidłowego formatu określonego w RFC 7517, wdrożenie zakończy się niepowodzeniem.
|
build |
InvalidConfigurationForActionAndAlgorithm |
Jeśli element <PrivateKey> jest używany z algorytmami HS Family lub element <SecretKey> z algorytmami RSA RSA, wdrożenie nie powiedzie się.
|
build |
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name Matches "TokenExpired" |
JWT.failed |
Wszystkie zasady JWT ustawiają tę samą zmienną na wypadek awarii. | JWT.failed = true |
Przykładowa odpowiedź na błąd
W przypadku obsługi błędów najlepiej jest wykorzystać fragment errorcode
odpowiedzi na błąd. Nie stosuj tekstu w tekście faultstring
, bo może się on zmieniać.
Przykładowa reguła awarii
<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 opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 | Zasada XMLThreatProtection może zwracać wiele różnych typów błędów ExecutionFailed. Większość tych błędów występuje, gdy przekroczysz określony próg określony w zasadach. Te typy błędów obejmują: długość nazwy elementu, liczbę elementów podrzędnych, głębokość węzła, liczbę atrybutów, długość nazwy atrybutu i wiele innych. Pełną listę znajdziesz w temacie dotyczącym usuwania błędów związanych z zasadami działania środowiska wykonawczego XMLThreatProtection. | build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
Ten błąd występuje, jeśli ładunek danych wejściowych określony w elemencie <Source> zasady XMLThreatProtection nie jest prawidłowym dokumentem XML.
|
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
Ten błąd występuje wtedy, gdy zmienna message określona w elemencie <Source> jest:
|
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 to domyślna nazwa błędu, która zostanie zwrócona niezależnie od typu wykrytego błędu. Możesz ją jednak zmienić, ustawiając właściwość na poziomie organizacji. Gdy ustawisz tę właściwość, rzeczywisty błąd będzie odzwierciedlał jego nazwę. Na przykład „TextExceeded” lub „AttrValueExceeded”. Szczegóły znajdziesz w uwagach na temat wykorzystania.
- Stan HTTP 500 jest domyślny, ale w przypadku błędów przepływu żądań stan HTTP można zmienić na 400, ustawiając właściwość na poziomie organizacji. Szczegóły znajdziesz w uwagach na temat wykorzystania.
Błędy wdrażania
Brak.
Zmienne błędów
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | 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 awarii
<FaultRule name="XML Threat Protection Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ExecutionFailed") </Condition> </Step> <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition> </FaultRule>
Zasada XMLtoJSON
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, a także wartości zmiennych ustawionych przez Edge w momencie aktywowania tej zasady. Ta informacja jest ważna, gdy opracowujesz reguły obsługi błędów. Więcej informacji znajdziesz w artykułach Co musisz wiedzieć o błędach zasad i Obsługa błędów.
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
Kod błędu | Stan HTTP | Przyczyna | Napraw |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
500 | Ten błąd występuje, gdy ładunek wejściowy (XML) jest pusty lub wejściowy plik XML jest nieprawidłowy lub błędnie sformatowany. | build |
steps.xmltojson.InCompatibleType |
500 | Ten błąd występuje, jeśli typ zmiennej zdefiniowanej w elemencie <Source> i elemencie <OutputVariable> jest inny. Wymagane jest, aby typ zmiennych zawartych w elemencie <Source> i elemencie <OutputVariable> był zgodny.
|
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 zmiennych to wiadomości i ciągi znaków. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
500 | Ten błąd występuje, jeśli zmienna określona w elemencie <Source> w zasadzie XML do JSON zawiera ciąg znaków, a element <OutputVariable> nie jest zdefiniowany.
Element <OutputVariable> jest wymagany, gdy zmienna zdefiniowana w elemencie <Source> jest ciągiem typu. |
build |
steps.xmltojson.SourceUnavailable |
500 |
Ten błąd występuje, jeśli zmienna message określona w elemencie <Source> w zasadzie XML do JSON brzmi:
|
build |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
EitherOptionOrFormat |
Jeśli jeden z elementów <Options> lub <Format> nie jest zadeklarowany w zasadzie XML w formacie 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
Zmienne te są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach zasad.
Zmienne | Gdzie | Przykład |
---|---|---|
fault.name="fault_name" |
fault_name to nazwa błędu, zgodnie z tabelą Błędy środowiska wykonawczego. Nazwa błędu jest ostatnią częścią kodu błędu. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | xmltojson.XMLtoJSON-1.failed = true |
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
Przykładowa reguła awarii
<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 wiadomość lub zmienna ciągu podana w elemencie <Source> w zasadzie przekształcania XSL jest poza zakresem (nie jest dostępna w konkretnym procesie, w którym jest wykonywana zasada) lub nie można jej rozwiązać (nie jest zdefiniowana).
|
build |
steps.xsl.XSLEvaluationFailed |
500 | Ten błąd występuje, jeśli podany ładunek XML jest niedostępny/nieprawidłowo lub zasady XSLTransform nie powiodły się lub nie udało się przekształcić wejściowego pliku XML na podstawie reguł przekształcenia podanych w pliku XSL. Niepowodzenia zasad XSLTransform mogą mieć wiele różnych przyczyn. Informacje o przyczynie błędu znajdziesz w komunikacie o błędzie. | build |
Błędy wdrażania
Te błędy mogą wystąpić, gdy wdrażasz serwer proxy zawierający tę zasadę.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
XSLEmptyResourceUrl |
Jeśli element <ResourceURL> w zasadzie przekształcania XSL jest pusty, wdrażanie serwera proxy interfejsu API nie powiedzie się. |
build |
XSLInvalidResourceType |
Jeśli typ zasobu podany w elemencie <ResourceURL> zasady przekształcania XSL nie jest typu xsl , wdrażanie serwera proxy interfejsu API nie powiedzie się. |
build |