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

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

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
Współdzielony przepływ jest niedostępny Współdzielony przepływ nie istnieje.
Współdzielony przepływ nie został wdrożony Współdzielony przepływ istnieje, ale nie jest wdrożony.

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

Jeśli w zasadach wywołania przepływu udostępniony przepływ zdefiniowany w elemencie <SharedFlowBundle> nie istnieje w środowisku, wystąpi ten błąd.

Jeśli na przykład element <SharedFlowBundle> w zasadach wywołania przepływu zawiera współdzielony przepływ o nazwie SharedFlow_Sample, a ten współdzielony przepływ nie istnieje w środowisku, wystąpi błąd.

Przykładowy komunikat o błędzie

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

Diagnostyka

  1. Określ, który współdzielony przepływ nie istnieje. Znajdziesz go w elemencie faultstring odpowiedzi na błąd. Na przykład w tym faultstring nazwa współdzielonego przepływu to SharedFlow_Sample:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Sprawdź wszystkie zasady wywołania przepływu w konkretnym proxy interfejsu API, w którym wystąpił błąd. Sprawdź, czy istnieje zasada wywołania przepływu, w której element <SharedFlowBundle> jest określony za pomocą nazwy przepływu zidentyfikowanej w kroku 1 powyżej.

    Na przykład poniższe zasady określają <SharedFlowBundle> jako SharedFlow_Sample, co odpowiada ciągowi 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 przepływ współdzielony znajduje się w sekcji Interfejsy API > Przepływy współdzielone. Jeśli nie istnieje, to jest przyczyną błędu. (Pamiętaj, że w nowym interfejsie Edge możesz znaleźć współdzielone przepływy na karcie Develop).

    Na przykład na zrzucie ekranu poniżej nie ma współdzielonego przepływu SharedFlow_Sample.

    Ponieważ ten współdzielony przepływ nie istnieje, otrzymasz kod błędu:

    flow.SharedFlowNotFound
    

Rozdzielczość

Sprawdź, czy współdzielony przepływ określony w elemencie <SharedFlowBundle> w zasadach wywołania przepływu istnieje i jest wdrożony w konkretnym środowisku, w którym wykonywane jest żądanie do interfejsu API.

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

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

  2. Użyj istniejącego już przepływu wspólnego wdrożonego w środowisku testowym w zasadach wywołania przepływu. Możesz na przykład określić SharedFlow_demo w zasadach wywołania przepływu.

    <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 interfejs API w środowisku testowym, nie zobaczysz już błędu, ponieważ wywołanie przepływu jest też wdrożone w środowisku testowym.

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

Jeśli współdzielony przepływ określony w elemencie <SharedFlowBundle> zasady wywołania przepływu nie jest wdrożony, wystąpi ten błąd.

Jeśli na przykład element <SharedFlowBundle> w zasadach wywołania przepływu zawiera współdzielony przepływ o nazwie SharedFlow_example, który nie jest wdrożony w określonym środowisku, w którym wysyłane jest żądanie do interfejsu API, wystąpi błąd.

Przykładowy komunikat o błędzie

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

Diagnostyka

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

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

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

    Na przykład na zrzucie ekranu poniżej widać, że istnieje współdzielony przepływ SharedFlow_example, ale nie jest on wdrożony.

    Ponieważ ten współdzielony przepływ nie jest wdrożony, otrzymujesz kod błędu:

    flow.SharedFlowNotFound
    

Rozdzielczość

Sprawdź, czy współdzielony przepływ określony w elemencie <SharedFlowBundle> w zasadach wywołania przepływu istnieje i jest wdrożony w konkretnym środowisku, w którym wykonywane jest żądanie do interfejsu API.

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

Jeśli wywołasz interfejs API w środowisku testowym, nie zobaczysz już błędu, ponieważ wywołanie przepływu jest też wdrożone w środowisku testowym.