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

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

SharedFlowNotFound

Kod błędu

flow.SharedFlowNotFound

Treść odpowiedzi o błędzie

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

Możliwe przyczyny

Możliwe przyczyny tego błędu:

Przyczyna Opis
Udostępnianie jest niedostępne Udostępniony przepływ nie istnieje.
Nie wdrożono udostępnionego przepływu Przepływ udostępniony istnieje, ale nie został wdrożony.

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

Jeśli w zasadzie Objaśnienie przepływu nie istnieje w środowisku udostępniony przepływ zdefiniowany w elemencie <SharedFlowBundle>, ten błąd występuje.

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

Przykładowy komunikat o błędzie

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

Diagnostyka

  1. Zidentyfikuj nieistniejący przepływ udostępniony. Możesz to znaleźć w elemencie faultstring odpowiedzi o błędzie. Na przykład w tym elemencie faultstring udostępniona nazwa przepływu to SharedFlow_Sample:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Sprawdź wszystkie zasady dotyczące objaśnień przepływu na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd. Sprawdź, czy są jakieś zasady dotyczące objaśnienia przepływu, w których element <SharedFlowBundle> jest określony z nazwą przepływu określoną w kroku 1 powyżej.

    Na przykład ta zasada określa <SharedFlowBundle> jako SharedFlow_Sample, która jest zgodna z treścią ciągu 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 użytkownika Edge sprawdź w sekcji Interfejsy API > Przepływy współdzielone, czy ten przepływ udostępniony istnieje. Jeśli taki zasób nie istnieje, to jego przyczyna. Pamiętaj, że w nowym interfejsie użytkownika Edge znajdziesz je na karcie Programowanie.

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

    Ten udostępniony przepływ nie istnieje, dlatego widzisz kod błędu:

    flow.SharedFlowNotFound
    

Rozdzielczość

Upewnij się, że przepływ udostępniony określony w elemencie <SharedFlowBundle> w zasadzie objaśnienia przepływu istnieje i jest wdrożony w określonym środowisku, w którym wykonywane jest żądanie do interfejsu API.

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

  1. Utwórz udostępniony przepływ o nazwie SharedFlow_Sample (jak pokazano poniżej) i wdróż go w środowisku testowym w ten sposób:

  2. Użyj istniejącego przepływu współdzielonego, który jest wdrożony w środowisku testowym w zasadzie objaśnienia przepływu. Możesz na przykład określić w zasadzie Objaśnienie procesu SharedFlow_demo.

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

    Po wywołaniu interfejsu API w środowisku testowym błąd nie będzie już wyświetlany, ponieważ objaśnienie przepływu jest wdrażane także w środowisku testowym.

Przyczyna: nie wdrożono przepływu współdzielonego

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

Jeśli na przykład element <SharedFlowBundle> w zasadzie Objaśnienie przepływu zawiera udostępniony 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, 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 jest wdrożony. Możesz to znaleźć w elemencie faultstring odpowiedzi o błędzie. Na przykład w tym elemencie faultstring udostępniona nazwa przepływu to Shared-Flow_example:

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

  2. W interfejsie użytkownika Edge sprawdź, czy ten udostępniony przepływ jest wdrożony.

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

    Ten udostępniony przepływ nie został wdrożony, więc pojawia się kod błędu:

    flow.SharedFlowNotFound
    

Rozdzielczość

Upewnij się, że przepływ udostępniony określony w elemencie <SharedFlowBundle> w zasadzie objaśnienia przepływu istnieje i jest wdrożony w określonym środowisku, w którym wykonywane jest żądanie do interfejsu API.

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

Po wywołaniu interfejsu API w środowisku testowym błąd nie będzie już wyświetlany, ponieważ objaśnienie przepływu jest wdrażane także w środowisku testowym.