Fehlerbehebung der Laufzeit bei FlowCallout-Richtlinien

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

SharedFlowNotFound

Fehlercode

flow.SharedFlowNotFound

Fehlerantworttext

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

Mögliche Ursachen

Mögliche Ursachen für diesen Fehler:

Ursache Beschreibung
Freigegebener Ablauf nicht verfügbar Der freigegebene Ablauf ist nicht vorhanden.
Freigegebener Ablauf nicht bereitgestellt Der freigegebene Ablauf ist vorhanden, wurde aber nicht bereitgestellt.

Ursache: Freigegebener Ablauf nicht verfügbar

Wenn in der Ablauf-Callout-Richtlinie der freigegebene Ablauf im Element <SharedFlowBundle> in der Umgebung nicht vorhanden ist, tritt dieser Fehler auf.

Wenn beispielsweise das Element <SharedFlowBundle> in der Flow-Callout-Richtlinie einen gemeinsamen Ablauf namens SharedFlow_Sample enthält und dieser freigegebene Ablauf in der Umgebung nicht existiert, tritt der Fehler auf.

Beispiel für Fehlermeldung

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

Diagnose

  1. Ermitteln Sie den freigegebenen Ablauf, der nicht existiert. Dies finden Sie im Element faultstring der Fehlerantwort. Im folgenden faultstring lautet der Name des freigegebenen Ablaufs beispielsweise SharedFlow_Sample:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Untersuchen Sie alle Ablauf-Callout-Richtlinien im spezifischen API-Proxy, in dem der Fehler aufgetreten ist. Prüfen Sie, ob es eine Ablauf-Callout-Richtlinie gibt, in der das <SharedFlowBundle>-Element mit dem Ablaufnamen angegeben wird, der oben in Schritt 1 angegeben ist.

    Beispiel: Die folgende Richtlinie gibt <SharedFlowBundle> als SharedFlow_Sample an, was mit dem Inhalt des Fehlerstrings übereinstimmt.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
       <DisplayName>Auth Flow Callout</DisplayName>
       <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
    </FlowCallout>
    
  3. Prüfen Sie in der Edge-Benutzeroberfläche, ob dieser freigegebene Ablauf unter APIs > Freigegebene Abläufe vorhanden ist. Ist dies nicht der Fall, liegt das an der Ursache des Fehlers. (Hinweis: In der Benutzeroberfläche von New Edge finden Sie freigegebene Abläufe auf dem Tab „Develop“.)

    Im Screenshot unten ist beispielsweise der freigegebene Ablauf SharedFlow_Sample nicht vorhanden.

    Da dieser freigegebene Ablauf nicht vorhanden ist, erhalten Sie den Fehlercode:

    flow.SharedFlowNotFound
    

Auflösung

Achten Sie darauf, dass der im Element <SharedFlowBundle> der Ablauf-Callout-Richtlinie angegebene freigegebene Ablauf vorhanden ist und in der spezifischen Umgebung existiert ist, in der die API-Anfrage ausgeführt wird.

Wählen Sie eine der folgenden Möglichkeiten, um das Problem zu beheben:

  1. Erstellen Sie einen freigegebenen Ablauf mit dem Namen SharedFlow_Sample (siehe unten) und stellen Sie ihn wie unten dargestellt in der Testumgebung bereit:

  2. Verwenden Sie bereits einen freigegebenen Ablauf, der in der Testumgebung in der Richtlinie "Ablauf-Callout" bereitgestellt wird. Beispielsweise können Sie in der Richtlinie "Ablauf-Callout" die SharedFlow_demo angeben.

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

    Wenn Sie einen API-Aufruf an die Testumgebung ausführen, wird der Fehler nicht mehr angezeigt, da die Ablauf-Callouts auch in der Testumgebung bereitgestellt werden.

Ursache: Freigegebener Ablauf nicht bereitgestellt

Wenn der freigegebene Ablauf im <SharedFlowBundle>-Element der Flow-Callout-Richtlinie nicht bereitgestellt wird, tritt dieser Fehler auf.

Wenn beispielsweise das Element <SharedFlowBundle> in der Ablauf-Callout-Richtlinie einen gemeinsamen Ablauf namens SharedFlow_example enthält, der nicht in der spezifischen Umgebung bereitgestellt wird, in der die API-Anforderung gestellt wird, tritt der Fehler auf.

Beispiel für Fehlermeldung

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

Diagnose

  1. Identifizieren Sie den freigegebenen Ablauf, der nicht bereitgestellt ist. Dies finden Sie im Element faultstring der Fehlerantwort. Im folgenden faultstring lautet der Name des freigegebenen Ablaufs beispielsweise Shared-Flow_example:

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

  2. Prüfen Sie in der Edge-Benutzeroberfläche, ob dieser freigegebene Ablauf bereitgestellt ist.

    Im Screenshot unten sehen Sie beispielsweise, dass der freigegebene Ablauf SharedFlow_example vorhanden ist, aber nicht bereitgestellt wurde.

    Da dieser freigegebene Ablauf nicht bereitgestellt wird, erhalten Sie den Fehlercode:

    flow.SharedFlowNotFound
    

Auflösung

Achten Sie darauf, dass der im Element <SharedFlowBundle> der Ablauf-Callout-Richtlinie angegebene freigegebene Ablauf vorhanden ist und in der spezifischen Umgebung existiert ist, in der die API-Anfrage ausgeführt wird.

Stellen Sie den freigegebenen Ablauf SharedFlow_example wie unten dargestellt in der Testumgebung bereit, um das obige Beispiel zu korrigieren:

Wenn Sie einen API-Aufruf an die Testumgebung ausführen, wird der Fehler nicht mehr angezeigt, da die Ablauf-Callouts auch in der Testumgebung bereitgestellt werden.