Rozwiązywanie problemów związanych z błędem zasad działania objaśnienia przepływu

Wyświetlasz dokumentację Apigee Edge.
Zapoznaj się z dokumentacją Apigee X.
Informacje

SharedFlowNotFound

Kod błędu

flow.SharedFlowNotFound

Treść odpowiedzi na błąd

{
    "fault": {
        "faultstring": "Shared Flow shared_flow_name Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

Możliwe przyczyny

Możliwe przyczyny tego błędu:

Przyczyna Opis
Przepływ współdzielony jest niedostępny Przepływ współdzielony nie istnieje.
Przepływ współdzielony nie został wdrożony Przepływ współdzielony istnieje, ale nie został wdrożony.

Przyczyna: przepływ współdzielony jest niedostępny

Jeśli w zasadach dotyczących komunikatu o przepływie danych w środowisku nie istnieje wspólny przepływ danych zdefiniowany w elemencie <SharedFlowBundle>, pojawia się ten błąd.

Jeśli na przykład element <SharedFlowBundle> w zasadzie objaśnienia przepływu zawiera wspólny przepływ o nazwie SharedFlow_Sample i jeśli ten wspólny przepływ nie istnieje w środowisku, błąd występuje.

Przykładowy komunikat o błędzie

{
    "fault": {
        "faultstring": "Shared Flow SharedFlow_Sample Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

Diagnostyka

  1. Odszukaj przepływ współdzielony, którego nie ma. Znajdziesz go w elemencie faultstring odpowiedzi na błąd. Na przykład w tym pliku faultstring nazwa udostępnionego przepływu to SharedFlow_Sample:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Sprawdź wszystkie zasady objaśnienia przepływu na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd. Sprawdź, czy istnieje jakakolwiek zasada powiadomienia o ścieżce, w której element <SharedFlowBundle> jest określony za pomocą nazwy ścieżki określonej w kroku 1 powyżej.

    Na przykład w tej polityce wartość <SharedFlowBundle> jest określona jako SharedFlow_Sample, co odpowiada wartości w ciągu błędów.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
       <DisplayName>Auth Flow Callout</DisplayName>
       <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
    </FlowCallout>
    
  3. W interfejsie Edge sprawdź, czy ten udostępniony proces istnieje w sekcji Interfejsy API > Procesy udostępnione. Jeśli go nie ma, to jest przyczyną błędu. Pamiętaj, że w nowym interfejsie Edge znajdziesz przepływy współdzielone na karcie Programowanie.

    Na przykład na zrzucie ekranu poniżej udostępniony proces SharedFlow_Sample nie istnieje.

    Ponieważ ten udostępniony proces nie istnieje, otrzymujesz kod błędu:

    flow.SharedFlowNotFound
    

Rozdzielczość

Upewnij się, że wspólny proces określony w elemencie <SharedFlowBundle> w zasadach dotyczących oznaczenia procesu, istnieje i jest wdrożony w określonym środowisku, w którym jest wykonywane żądanie interfejsu API.

Aby rozwiązać ten problem, możesz wybrać jedną z tych opcji:

  1. Utwórz przepływ współdzielony o nazwie SharedFlow_Sample, jak pokazano poniżej, i wdróż go w środowisku testowym, jak pokazano poniżej:

  2. Użyj już istniejącego przepływu współdzielonego, który został wdrożony w środowisku testowym w ramach zasad dotyczących ostrzeżenia o przepływie. Możesz na przykład użyć w zasadach dotyczących wyróżnienia SharedFlow_demo.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
      <DisplayName>Auth Flow Callout</DisplayName>
      <SharedFlowBundle>SharedFlow_demo</SharedFlowBundle>
    </FlowCallout>
    

    Jeśli wykonasz wywołanie interfejsu API w środowisku testowym, błąd zniknie, ponieważ ostrzeżenie o błędach jest również wdrażane w środowisku testowym.

Przyczyna: nie wdrożony przepływ współdzielony

Ten błąd występuje, gdy nie wdrożony jest wspólny proces określony w elemencie <SharedFlowBundle> w zasadach dotyczących powiadomienia o procesie.

Jeśli na przykład element <SharedFlowBundle> w zasadzie Flow Callout zawiera udostępniony przepływ o nazwie SharedFlow_example, który nie jest wdrożony w konkretnym środowisku, w którym wysyłane jest żądanie do interfejsu API, błąd występuje.

Przykładowy komunikat o błędzie

{
    "fault": {
        "faultstring": "Shared Flow Shared-Flow_example Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

Diagnostyka

  1. Określ wspólny przepływ, który nie został wdrożony. Znajdziesz go w elemencie faultstring odpowiedzi na błąd. Na przykład w tym pliku faultstring nazwa udostępnionego przepływu to Shared-Flow_example:

    "faultstring": "Shared Flow Shared-Flow_example Not Found"

  2. W interfejsie Edge sprawdź, czy ten wspólny przepływ danych jest wdrożony.

    Na przykład na poniższym zrzucie ekranu widać, że udostępniony proces SharedFlow_example istnieje, ale nie został wdrożony.

    Ponieważ ten wspólny proces nie został wdrożony, otrzymasz kod błędu:

    flow.SharedFlowNotFound
    

Rozdzielczość

Upewnij się, że wspólny przepływ określony w elemencie <SharedFlowBundle> w zasadzie Flow Callout jest dostępny i wdrożony w konkretnym środowisku, w którym wykonywane jest żądanie do interfejsu API.

Aby poprawić powyższy przykład, wdróż w środowisku testowym wspólny przepływ o nazwie SharedFlow_example, jak pokazano poniżej:

Jeśli wykonasz wywołanie interfejsu API w środowisku testowym, błąd zniknie, ponieważ ostrzeżenie o błędach jest również wdrażane w środowisku testowym.