Solución de errores del entorno de ejecución de la política de FlowCallout

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

SharedFlowNotFound

Código de error

flow.SharedFlowNotFound

Cuerpo de la respuesta del error

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

Causas posibles

Las siguientes son las posibles causas de este error:

Causa Descripción
El flujo compartido no está disponible El flujo compartido no existe.
El flujo compartido no se implementó El flujo compartido existe, pero no se implementó.

Causa: el flujo compartido no está disponible

En la política de texto destacado del flujo, si el flujo compartido definido en el elemento <SharedFlowBundle> no existe en el entorno, se producirá este error.

Por ejemplo, si el elemento <SharedFlowBundle> en la política de texto destacado del flujo contiene un flujo compartido llamado SharedFlow_Sample y si este no existe en el entorno, se producirá el error.

Ejemplo de mensaje de error

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

Diagnóstico

  1. Identifica el flujo compartido que no existe. Puedes encontrarlo en el elemento faultstring de la respuesta del error. Por ejemplo, en el siguiente archivo faultstring, el nombre del flujo compartido es SharedFlow_Sample:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Examina todas las políticas de texto destacado del flujo en el proxy de API específico en el que se produjo el error. Verifica si hay una política de texto destacado del flujo en la que el elemento <SharedFlowBundle> se especifica con el nombre del flujo identificado en el paso 1 anterior.

    Por ejemplo, la siguiente política especifica <SharedFlowBundle> como SharedFlow_Sample, que coincide con el contenido de la string defectuosa.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
       <DisplayName>Auth Flow Callout</DisplayName>
       <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
    </FlowCallout>
    
  3. En la IU de Edge, verifica si este flujo compartido existe en APIs > Flujos compartidos. Si no existe, esa es la causa del error. (Ten en cuenta que en la nueva IU de Edge, puedes encontrar flujos compartidos en la pestaña Desarrollar).

    Por ejemplo, en la captura de pantalla que se muestra a continuación, el flujo compartido SharedFlow_Sample no existe.

    Debido a que este flujo compartido no existe, recibirás el siguiente código de error:

    flow.SharedFlowNotFound
    

Solución

Asegúrate de que el flujo compartido especificado en el elemento <SharedFlowBundle> de la política de texto destacado del flujo exista y se implemente en el entorno específico en el que se ejecuta la solicitud a la API.

Puedes elegir una de las siguientes formas para tratar el problema:

  1. Crea un flujo compartido llamado SharedFlow_Sample como se muestra a continuación y impleméntalo en el entorno de prueba como se muestra a continuación:

  2. Usa un flujo compartido existente que esté implementado en el entorno de prueba de la política de texto destacado del flujo. Por ejemplo, puedes especificar SharedFlow_demo en la política de texto destacado del flujo.

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

    Si realizas una llamada a la API en el entorno de prueba, ya no verás el error, porque el texto destacado del flujo también se implementa en el entorno de prueba.

Causa: el flujo compartido no se implementó

Si no se implementa el flujo compartido especificado en el elemento <SharedFlowBundle> de la política de texto destacado del flujo, se producirá este error.

Por ejemplo, si el elemento <SharedFlowBundle> de la política de texto destacado del flujo contiene un flujo compartido llamado SharedFlow_example que no se implementó en el entorno específico en el que se realizó la solicitud a la API, se producirá el error.

Ejemplo de mensaje de error

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

Diagnóstico

  1. Identifica el flujo compartido que no se implementó. Puedes encontrarlo en el elemento faultstring de la respuesta del error. Por ejemplo, en el siguiente archivo faultstring, el nombre del flujo compartido es Shared-Flow_example:

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

  2. En la IU de Edge, verifica si se implementó este flujo compartido.

    Por ejemplo, en la siguiente captura de pantalla, notarás que el flujo compartido SharedFlow_example existe, perono se implementó.

    Como este flujo compartido no se implementó, recibirás el siguiente código de error:

    flow.SharedFlowNotFound
    

Solución

Asegúrate de que el flujo compartido especificado en el elemento <SharedFlowBundle> de la política de texto destacado del flujo exista y se implemente en el entorno específico en el que se ejecuta la solicitud a la API.

Para corregir el ejemplo anterior, implementa el flujo compartido llamado SharedFlow_example en el entorno de prueba como se muestra a continuación:

Si realizas una llamada a la API en el entorno de prueba, ya no verás el error, porque el texto destacado del flujo también se implementa en el entorno de prueba.