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

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja 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 Wspólny przepływ nie istnieje.
Wspólny przepływ nie został wdrożony Przepływ współdzielony istnieje, ale nie został wdrożony.

Przyczyna: udostępniony przepływ jest niedostępny

Ten błąd występuje w zasadzie objaśnienia przepływu, jeśli wspólny przepływ zdefiniowany w elemencie <SharedFlowBundle> nie istnieje w środowisku.

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. Określ wspólny przepływ, który nie istnieje. Możesz go znaleźć w elemencie faultstring w odpowiedzi na błąd. Na przykład w następującym elemencie faultstring nazwa wspólnego 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 występują zasady dotyczące objaśnienia procesu, w których element <SharedFlowBundle> jest określony przy użyciu nazwy przepływu określonej w kroku 1 powyżej.

    Na przykład ta zasada określa w polu <SharedFlowBundle> wartość SharedFlow_Sample, która jest zgodna z ciągiem znaków błędu.

    <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 tak nie jest, to właśnie on 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 nie istnieje wspólny przepływ SharedFlow_Sample.

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

    flow.SharedFlowNotFound
    

Rozdzielczość

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

Możesz wybrać jeden z tych sposobów rozwiązania problemu:

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

  2. Użyj już istniejącego przepływu współdzielonego, który został wdrożony w środowisku testowym w ramach zasad dotyczących calloutów. Możesz na przykład określić parametr SharedFlow_demo w zasadach dotyczących wywołań procesu.

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

    Jeśli wywołasz środowisko testowe przez interfejs API, nie zobaczysz już ponieważ objaśnienie przepływu jest też wdrożone w środowisku testowym.

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

Ten błąd występuje, jeśli wspólny przepływ określony w elemencie <SharedFlowBundle> zasady objaśnienia przepływu nie został wdrożony.

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. Zidentyfikuj udostępniony przepływ, który nie został wdrożony. Możesz go znaleźć w elemencie faultstring w odpowiedzi na błąd. Na przykład w następującym elemencie faultstring nazwa wspólnego 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 został wdrożony.

    Na przykład możesz zauważyć na zrzucie ekranu poniżej, że udostępniony przepływ SharedFlow_example istnieje, ale nie został wdrożony.

    Ponieważ ten udostępniony przepływ nie został wdrożony, 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 poprawić powyższy przykład, wdróż udostępniony przepływ o nazwie SharedFlow_example w środowisku testowym w następujący sposób:

Jeśli wywołasz środowisko testowe przez interfejs API, nie zobaczysz już ponieważ objaśnienie przepływu jest też wdrożone w środowisku testowym.