Risoluzione degli errori di runtime dei criteri FlowCallout

Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.

SharedFlowNotFound

Codice di errore

flow.SharedFlowNotFound

Corpo della risposta di errore

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

Possibili cause

Le possibili cause di questo errore sono:

Causa Description
Flusso condiviso non disponibile Il flusso condiviso non esiste.
Deployment del flusso condiviso non eseguito Il flusso condiviso esiste, ma il deployment non è stato eseguito.

Causa: flusso condiviso non disponibile

Nel criterio callout flusso, se il flusso condiviso definito all'interno dell'elemento <SharedFlowBundle> non esiste nell'ambiente, si verifica questo errore.

Ad esempio, se l'elemento <SharedFlowBundle> nel criterio callout flusso contiene un flusso condiviso denominato SharedFlow_Sample e questo flusso condiviso non esiste nell'ambiente, si verifica l'errore.

Esempio di messaggio di errore

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

Diagnosi

  1. Identifica un flusso condiviso che non esiste. Puoi trovare questa opzione nell'elemento faultstring della risposta di errore. Ad esempio, in faultstring seguente, il nome del flusso condiviso è SharedFlow_Sample:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Esamina tutti i criteri di callout flusso nello specifico proxy API in cui si è verificato l'errore. Verifica se esistono criteri callout flusso in cui l'elemento <SharedFlowBundle> è specificato con il nome del flusso identificato nel passaggio 1 precedente.

    Ad esempio, il criterio seguente specifica <SharedFlowBundle> come SharedFlow_Sample, che corrisponde al contenuto della stringa di errore.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
       <DisplayName>Auth Flow Callout</DisplayName>
       <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
    </FlowCallout>
    
  3. Nella UI, controlla se questo flusso condiviso esiste in Sviluppo > Flussi condivisi. In caso contrario, è questa la causa dell'errore. Tieni presente che nella nuova UI puoi trovare i flussi condivisi nella scheda Sviluppo.

    Ad esempio, nello screenshot mostrato di seguito, il flusso condiviso SharedFlow_Sample non esiste.

    Il flusso condiviso SharedFlow_Sample non è elencato nella colonna Flusso condiviso.

    Poiché questo flusso condiviso non esiste, riceverai il codice di errore:

    flow.SharedFlowNotFound
    

Risoluzione

Assicurati che il flusso condiviso specificato nell'elemento <SharedFlowBundle> del criterio callout flusso esista e ne sia stato eseguito il deployment nell'ambiente specifico in cui viene eseguita la richiesta API.

Potresti scegliere uno dei seguenti metodi per risolvere il problema:

  1. Crea un flusso condiviso denominato SharedFlow_Sample ed eseguine il deployment nell'ambiente di test come mostrato di seguito:

    Il flusso condiviso SharedFlow_Sample è elencato nella colonna Flusso condiviso.

  2. Utilizza un flusso condiviso già esistente di cui è stato eseguito il deployment nell'ambiente di test nel criterio di callout del flusso. Ad esempio, puoi specificare SharedFlow_demo nel criterio callout flusso.

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

    Se effettui una chiamata API all'ambiente di test, non visualizzerai più l'errore, poiché il callout del flusso viene implementato anche nell'ambiente di test.

Causa: deployment del flusso condiviso non eseguito

Se il flusso condiviso specificato nell'elemento <SharedFlowBundle> del criterio callout flusso non viene implementato, si verifica questo errore.

Ad esempio, se l'elemento <SharedFlowBundle> nel criterio di callout flusso contiene un flusso condiviso denominato Shared-Flow_example di cui non viene eseguito il deployment nell'ambiente specifico in cui viene effettuata la richiesta API, si verifica l'errore.

Esempio di messaggio di errore

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

Diagnosi

  1. Identifica il flusso condiviso di cui non è stato eseguito il deployment. Puoi trovare questa opzione nell'elemento faultstring della risposta di errore. Ad esempio, in faultstring seguente, il nome del flusso condiviso è Shared-Flow_example:

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

  2. Nella UI, controlla se è stato eseguito il deployment di questo flusso condiviso.

    Ad esempio, nello screenshot seguente puoi notare che il flusso condiviso Shared-Flow_example esiste, ma il deployment non è stato eseguito.

    Il flusso condiviso Shared-Flow_example esiste e non ha deployment.

    Poiché il deployment di questo flusso condiviso non è stato eseguito, riceverai il codice di errore:

    flow.SharedFlowNotFound
    

Risoluzione

Assicurati che il flusso condiviso specificato nell'elemento <SharedFlowBundle> del criterio callout flusso esista e ne sia stato eseguito il deployment nell'ambiente specifico in cui viene eseguita la richiesta API.

Per correggere l'esempio precedente, esegui il deployment del flusso condiviso denominato Shared-Flow_example nell'ambiente di test. Il seguente screenshot mostra che è stato eseguito il deployment del flusso condiviso SharedFlow_Sample:

Il deployment del flusso condiviso SharedFlow_Sample è stato eseguito nell&#39;ambiente di test.

Se effettui una chiamata API all'ambiente di test, non visualizzerai più l'errore, poiché il callout del flusso viene implementato anche nell'ambiente di test.