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

Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.

SharedFlowNotFound

Código de error

flow.SharedFlowNotFound

Cuerpo de respuesta de error

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

Causas posibles

Estas son las posibles causas de este error:

Causa Descripción
Flujo compartido no disponible El flujo compartido no existe.
Flujo compartido no implementado El flujo compartido existe, pero no se ha implementado.

Causa: flujo compartido no disponible

En la política Flow Callout, si el flujo compartido definido en el elemento <SharedFlowBundle> no existe en el entorno, se produce este error.

Por ejemplo, si el elemento <SharedFlowBundle> de la política Flow Callout contiene un flujo compartido llamado SharedFlow_Sample y este flujo compartido no existe en el entorno, se produce 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 de error. Por ejemplo, en el siguiente faultstring, el nombre del flujo compartido es SharedFlow_Sample:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Examina todas las políticas Flow Callout del proxy de API específico en el que se ha producido el error. Comprueba si hay alguna política de Flow Callout en la que se especifique el elemento <SharedFlowBundle> con el nombre de flujo identificado en el paso 1 anterior.

    Por ejemplo, la siguiente política especifica <SharedFlowBundle> como SharedFlow_Sample, que coincide con lo que hay en la cadena de errores.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
       <DisplayName>Auth Flow Callout</DisplayName>
       <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
    </FlowCallout>
    
  3. En la interfaz de usuario, comprueba si este flujo compartido se encuentra en Desarrollo > Flujos compartidos. Si no existe, ese es el motivo del error. Ten en cuenta que, en la nueva interfaz de usuario, puedes encontrar los 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.

    El flujo compartido SharedFlow_Sample no aparece en la columna Flujo compartido.

    Como este flujo compartido no existe, recibes el código de error:

    flow.SharedFlowNotFound
    

Resolución

Asegúrate de que el flujo compartido especificado en el elemento <SharedFlowBundle> de la política Flow Callout exista y se haya desplegado en el entorno específico en el que se ejecuta la solicitud a la API.

Puede elegir una de las siguientes formas de abordar el problema:

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

    El flujo compartido SharedFlow_Sample aparece en la columna Flujo compartido.

  2. Usa un flujo compartido que ya esté desplegado en el entorno de prueba en la política Flow Callout. Por ejemplo, puedes especificar SharedFlow_demo en la política Flow Callout.

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

    Si haces una llamada a la API al entorno de pruebas, ya no verás el error, porque el Flow Callout también se ha desplegado en el entorno de pruebas.

Causa: flujo compartido no desplegado

Si el flujo compartido especificado en el elemento <SharedFlowBundle> de la política Flow Callout no se ha implementado, se produce este error.

Por ejemplo, si el elemento <SharedFlowBundle> de la política Flow Callout contiene un flujo compartido llamado Shared-Flow_example que no se ha desplegado en el entorno específico en el que se realiza la solicitud de la API, se producirá un 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 ha implementado. Puedes encontrarlo en el elemento faultstring de la respuesta de error. Por ejemplo, en el siguiente faultstring, el nombre del flujo compartido es Shared-Flow_example:

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

  2. En la interfaz de usuario, comprueba si este flujo compartido se ha implementado.

    Por ejemplo, en la captura de pantalla que se muestra a continuación, verás que el flujo compartido Shared-Flow_example existe, pero no se ha implementado.

    El flujo compartido Shared-Flow_example existe y no tiene ningún despliegue.

    Como este flujo compartido no se ha implementado, recibes el código de error:

    flow.SharedFlowNotFound
    

Resolución

Asegúrate de que el flujo compartido especificado en el elemento <SharedFlowBundle> de la política Flow Callout exista y se haya desplegado 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 Shared-Flow_example en el entorno de prueba. En la siguiente captura de pantalla se muestra que el flujo compartido SharedFlow_Sample se ha implementado:

El flujo compartido SharedFlow_Sample se ha desplegado en el entorno de prueba.

Si haces una llamada a la API al entorno de pruebas, ya no verás el error, porque el Flow Callout también se ha desplegado en el entorno de pruebas.