Dokumentacja błędu w zasadach

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.

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 source w elemencie <Copy> jest ustawiony na zmienną, która nie jest typu message.

Zmienne typów wiadomości reprezentują wszystkie żądania i odpowiedzi HTTP. Wbudowane zmienne przepływu brzegowe request, response i message zawierają typ wiadomości. Więcej informacji o zmiennych wiadomości znajdziesz w dokumentacji zmiennych.

steps.assignmessage.UnresolvedVariable 500

Ten błąd występuje, jeśli zmienna określona w zasadzie Przypisz wiadomość jest:

  • poza zakresem (niedostępne w konkretnym procesie, w którym jest wykonywana zasada)
  • lub to
  • nie można rozwiązać problemu (nie jest określony)

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ę.
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.
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”).
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.

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>.
PasswordRequired W przypadku operacji nazwanych musi występować element <Password>.
AssignToRequired W przypadku operacji nazwanych musi występować element <AssignTo>.
SourceRequired W przypadku operacji nazwanych musi występować element <Source>.

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\
NotAllowedAtProxyEndpoint
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\
MissingAtTargetEndpoint
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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

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.
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ć.

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.

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

Kody błędów zasad JWT

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:

  • Dane wejściowe (JSON, XML) są puste.
  • Dane wejściowe (JSON, XML itd.) przekazywane do zasady są nieprawidłowe lub błędnie sformatowane.
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.
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.
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.
steps.extractvariables.SourceMessageNotAvailable 500 Ten błąd występuje, jeśli zmienna message określona w elemencie Source zasady wynosi:
  • Poza zakresem (opcja niedostępna w konkretnym przepływie, w którym jest wykonywana zasada) lub
  • Nie można rozwiązać problemu (nie jest określony)
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.

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ć.
NONEmptyPrefixMappedToEmptyURI Ten błąd występuje, jeśli zasada ma prefiks zdefiniowany w elemencie Namespace w elemencie XMLPayload, ale nie jest zdefiniowany identyfikator URI.
DuplicatePrefix Ten błąd występuje, gdy zasada ma w elemencie Namespace w elemencie XMLPayload ten sam prefiks zdefiniowany więcej niż raz.
NoXPathsToEvaluate Jeśli zasada nie zawiera elementu XPath w elemencie XMLPayload, błąd serwera proxy interfejsu API kończy się niepowodzeniem.
EmptyXPathExpression Jeśli zasada zawiera puste wyrażenie XPath w elemencie XMLPayload, nie udało się wdrożyć serwera proxy interfejsu API.
NoJSONPathsToEvaluate Jeśli zasada nie zawiera elementu JSONPath w elemencie JSONPayload, błąd serwera proxy interfejsu API kończy się niepowodzeniem.
EmptyJSONPathExpression Jeśli zasada zawiera puste wyrażenie XPath w elemencie XMLPayload, nie udało się wdrożyć serwera proxy interfejsu API.
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ę.
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.
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.
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ę.
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ę.

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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

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.
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.
MissingNameForAdditionalClaim Jeśli nazwa roszczenia nie zostanie określona w elemencie podrzędnym <Claim> elementu <AdditionalClaims>, wdrożenie zakończy się niepowodzeniem.
InvalidNameForAdditionalHeader Ten błąd występuje, gdy nazwa roszczenia użytego w elemencie podrzędnym <Claim> elementu <AdditionalClaims> jest alg lub typ.
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.
InvalidValueOfArrayAttribute Ten błąd występuje, gdy wartość atrybutu tab w elemencie podrzędnym <Claim> elementu <AdditionalClaims> nie jest ustawiona na true lub false.
InvalidConfigurationForActionAndAlgorithm Jeśli element <PrivateKey> jest używany z algorytmami HS Family lub element <SecretKey> z algorytmami RSA RSA, wdrożenie nie powiedzie się.
InvalidValueForElement Jeśli wartość podana w elemencie <Algorithm> nie jest obsługiwaną wartością, wdrożenie zakończy się niepowodzeniem.
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.
InvalidKeyConfiguration Jeśli element podrzędny <Value> nie jest zdefiniowany w elementach <PrivateKey> lub <SecretKey>, wdrożenie zakończy się niepowodzeniem.
EmptyElementForKeyConfiguration Jeśli atrybut ref elementu podrzędnego <Value> elementu <PrivateKey> lub <SecretKey> jest pusty lub nieokreślony, wdrożenie zakończy się niepowodzeniem.
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.).
InvalidSecretInConfig Ten błąd występuje, jeśli element podrzędny <Value> elementu <PrivateKey> lub <SecretKey> nie zawiera prywatnego prefiksu (private.).
InvalidTimeFormat Jeśli wartość podana w elemencie <NotBefore> nie ma obsługiwanego formatu, wdrożenie nie powiedzie się.

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

Kody błędów zasad JWT

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.

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.
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ę.
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.
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).
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>.

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.
steps.jsonthreatprotection.SourceUnavailable 500 Ten błąd występuje wtedy, gdy zmienna message określona w elemencie <Source> jest:
  • Poza zakresem (opcja niedostępna w konkretnym przepływie, w którym jest wykonywana zasada)
  • Nie jest prawidłową wartością request, response lub message
steps.jsonthreatprotection.NonMessageVariable 500 Ten błąd występuje, jeśli element <Source> jest ustawiony na zmienną, która nie jest typu message.

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.
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.
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.
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.
steps.jsontoxml.SourceUnavailable 500 Ten błąd występuje, jeśli zmienna message określona w elemencie <Source> w zasadzie JSON do XML jest:
  • poza zakresem (niedostępne w konkretnym procesie, w którym jest wykonywana zasada) lub
  • nie można rozwiązać problemu (nie jest określony)

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 private. Prefiks wymagany do podstawowych zabezpieczeń podczas debugowania ukrywa zaszyfrowane wartości przed sesjami śledzenia i debugowaniem interfejsu API serwera proxy.

steps.keyvaluemapoperations.UnsupportedOperationException 500

Ten błąd występuje, jeśli atrybut mapIdentifier w zasadzie operacji tworzenia par klucz-wartość jest ustawiony na pusty ciąg znakó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
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.
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>
ValueIsMissing Ten błąd występuje, jeśli brakuje elementu <Value> pod elementem <Entry> elementu <InitialEntries> zasady operacji na parze klucz-wartość.

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.
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.

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 <Source> zasady jest poza zakresem lub nie można jej rozwiązać.

steps.oasvalidation.NotMessageVariable 500

Element <Source> jest ustawiony na zmienną innego typu niż message.

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.
CacheNotFound Pamięć podręczna określona w elemencie <CacheResource> nie istnieje.

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.
InvalidTimeout Jeśli element <CacheLookupTimeoutInSeconds> ma wartość ujemną, wdrożenie serwera proxy interfejsu API nie powiedzie się.
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.

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.
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.

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ę.
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.
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.
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.
InvalidMessagePatternForErrorCode Ten błąd występuje, jeśli element <SkipCacheLookup> lub <SkipCachePopulation> w zasadzie ResponseCache zawiera nieprawidłowy warunek.
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.

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
Nieprawidłowy token

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
Nieprawidłowy token

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ść <GenerateResponse> zasady ma wartość true, a identyfikator klienta wysłany w żądaniu jest nieprawidłowy. Sprawdź, czy używasz prawidłowych wartości klucza i tajnego klucza klienta dla aplikacji programisty powiązanej z serwerem proxy. Wartości te są zwykle wysyłane jako nagłówek autoryzacji podstawowej zakodowany w Base64.

Uwaga: zalecamy zmianę istniejących reguł reguł błędów tak, aby wykrywały zarówno nazwy invalid_client, jak i InvalidClientIdentifier. Więcej informacji i przykład znajdziesz w 16.09.2021 roku.

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\
steps.oauth.v2.ApiProductMatchFound
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 <GenerateResponse> zasady ma wartość false, a identyfikator klienta wysłany w żądaniu jest nieprawidłowy. Sprawdź, czy używasz prawidłowych wartości klucza klienta i tajnego klucza dla aplikacji programisty powiązanej z serwerem proxy. Wartości te są zwykle wysyłane jako nagłówek autoryzacji podstawowej zakodowany w standardzie Base64.

Uwaga: w tej sytuacji ten błąd nosił nazwę invalid_client. Zalecamy zmianę istniejących warunków reguł awarii, tak aby uwzględnić zarówno nazwy invalid_client, jak i InvalidClientIdentifier. Więcej informacji i przykład znajdziesz w 16.09.2021 roku.

GenerateAccessToken
RefreshAccessToken

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 <ExpiresIn> prawidłowe wartości to dodatnie liczby całkowite i -1.

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 <Operation>.

Uwaga: jeśli brakuje elementu <Operation>, interfejs zgłasza błąd weryfikacji schematu.

InvalidOperation

Musisz określić prawidłową operację w tej zasadzie za pomocą elementu <Operation>.

Uwaga: jeśli element <Operation> jest nieprawidłowy, interfejs zgłasza błąd weryfikacji schematu.

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: keymanagement.service
Na przykład: keymanagement.service.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.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.

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ę.
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.

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>.
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.
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ą).
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ę.
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.
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.
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ę.
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.
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.
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ę.
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ę.

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.
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.
policies.resetquota.FailedToResolveRLPolicy 500 Nie można znaleźć zmiennej, do której odwołuje się atrybut ref w elemencie <Quota>.

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ę.

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}
Duplikat prefiksu RegularExpressionProtection {0}: zduplikowany prefiks {1}
Puste wyrażenie JSONPathExpression RegularExpressionProtection {0}: puste wyrażenie JSONPath
Pusty XPath RegularExpressionProtection {0}: puste wyrażenie XPath
Nieprawidłowe wyrażenie regularne RegularExpressionProtection{0}: nieprawidłowe wyrażenie regularne {1}, kontekst {2}
Błąd JSONPathCompilationFailed RegularExpressionProtection {0}: nie udało się skompilować ścieżki json. {1} Kontekst {2}
NONBlankPrefixMappedToOpróżnijURI RegularExpressionProtection {0}: niepusty prefiks {1} nie może być zmapowany na pusty identyfikator URI
Brak wzorców do egzekwowania RegularExpressionProtection {0}: brak wzorców do egzekwowania w {1}
Brak wymuszania RegularExpressionProtection {0}: co najmniej jeden z identyfikatorów URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload jest wymagany.
Niepowodzenie testu XPath RegularExpressionProtection {0}: nie udało się skompilować skryptu xpath {1}. Kontekst {2}

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 <Source> zasady wynosi:

  • poza zakresem (niedostępne w konkretnym procesie, w którym jest wykonywana zasada)
  • lub to
  • nie można rozwiązać problemu (nie jest określony)
steps.messagevalidation.NonMessageVariable 500

Ten błąd występuje, jeśli element <Source> w zasadzie SOAPMessageValidation jest ustawiony na zmienną innego typu niż message.

Zmienne typów wiadomości reprezentują wszystkie żądania i odpowiedzi HTTP. Wbudowane zmienne przepływu brzegowe request, response i message zawierają typ wiadomości. Więcej informacji o zmiennych wiadomości znajdziesz w dokumentacji zmiennych.

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.

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ę.
ResourceCompileFailed Skrypt zasobu, do którego odwołuje się element <ResourceURL> w zasadzie SOAPMessageValidation, zawiera błąd, który uniemożliwia jego kompilację.
RootElementNameUnspecified Element <Element> w zasadzie SOAPMessageValidation nie zawiera nazwy elementu głównego.
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.

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>.
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.
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.
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.
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>.

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:

  • zasada prosi o obsługę danych, które są nieprawidłowe lub z innych względów nieprawidłowe.
  • Usługa docelowa backendu zwraca stan błędu (domyślnie 4xx lub 5xx).
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.
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.

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.
ConnectionInfoMissing Ten błąd występuje, jeśli zasada nie zawiera elementu <HTTPTargetConnection> ani <LocalTargetConnection>.
InvalidTimeoutValue Ten błąd występuje, jeśli wartość <Timeout> jest ujemna lub wynosi zero.

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.
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).
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ę.

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.
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.
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.

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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

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.
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.
MissingNameForAdditionalClaim Jeśli nazwa roszczenia nie zostanie określona w elemencie podrzędnym <Claim> elementu <AdditionalClaims>, wdrożenie zakończy się niepowodzeniem.
InvalidNameForAdditionalHeader Ten błąd występuje, gdy nazwa roszczenia użytego w elemencie podrzędnym <Claim> elementu <AdditionalClaims> jest alg lub typ.
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.
InvalidValueOfArrayAttribute Ten błąd występuje, gdy wartość atrybutu tab w elemencie podrzędnym <Claim> elementu <AdditionalClaims> nie jest ustawiona na true lub false.
InvalidValueForElement Jeśli wartość podana w elemencie <Algorithm> nie jest obsługiwaną wartością, wdrożenie zakończy się niepowodzeniem.
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.
InvalidKeyConfiguration Jeśli element podrzędny <Value> nie jest zdefiniowany w elementach <PrivateKey> lub <SecretKey>, wdrożenie zakończy się niepowodzeniem.
EmptyElementForKeyConfiguration Jeśli atrybut ref elementu podrzędnego <Value> elementu <PrivateKey> lub <SecretKey> jest pusty lub nieokreślony, wdrożenie zakończy się niepowodzeniem.
InvalidConfigurationForVerify Ten błąd występuje, jeśli element <Id> jest zdefiniowany w elemencie <SecretKey>.
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.
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.
InvalidConfigurationForActionAndAlgorithm Jeśli element <PrivateKey> jest używany z algorytmami HS Family lub element <SecretKey> z algorytmami RSA RSA, wdrożenie nie powiedzie się.

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

Kody błędów zasad JWT

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.
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.
steps.xmlthreatprotection.SourceUnavailable 500 Ten błąd występuje wtedy, gdy zmienna message określona w elemencie <Source> jest:
  • Poza zakresem (opcja niedostępna w konkretnym przepływie, w którym jest wykonywana zasada)
  • Nie jest prawidłową wartością request, response lub message
steps.xmlthreatprotection.NonMessageVariable 500 Ten błąd występuje, jeśli element <Source> jest ustawiony na zmienną, która nie jest typu message.

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.
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.
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.
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.
steps.xmltojson.SourceUnavailable 500 Ten błąd występuje, jeśli zmienna message określona w elemencie <Source> w zasadzie XML do JSON brzmi:
  • poza zakresem (niedostępne w konkretnym procesie, w którym jest wykonywana zasada) lub
  • nie można rozwiązać problemu (nie jest określony)

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ę.
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.

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).
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.

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ę.
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ę.