Solução de problemas de erro do ambiente de execução de política FlowCallout

Esta é a documentação da Apigee e da Apigee híbrida.
Confira a documentação da Apigee Edge.

SharedFlowNotFound

Código do erro

flow.SharedFlowNotFound

Corpo da resposta de erro

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

Causas possíveis

Veja a seguir as possíveis causas para esse erro:

Causa Descrição
Fluxo compartilhado não disponível O fluxo compartilhado não existe.
Fluxo compartilhado não implantado O fluxo compartilhado existe, mas não está implantado.

Causa: fluxo compartilhado não disponível

Na política de frase de destaque de fluxo, se o fluxo compartilhado definido no elemento <SharedFlowBundle> não existir no ambiente, esse erro ocorrerá.

Por exemplo, se o elemento <SharedFlowBundle> na política de frase de destaque de fluxo contiver um fluxo compartilhado chamado SharedFlow_Sample e se esse fluxo compartilhado não existir no ambiente, ocorrerá o erro.

Exemplo de mensagem de erro

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

Diagnóstico

  1. Identifique o fluxo compartilhado que não existe. É possível encontrar isso no elemento faultstring da resposta de erro. Por exemplo, no faultstring a seguir, o nome do fluxo compartilhado é SharedFlow_Sample:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Examine todas as políticas de frase de destaque no fluxo de API específico em que a falha ocorreu. Verifique se há alguma política de frase de destaque de fluxo em que o elemento <SharedFlowBundle> seja especificado com o nome do fluxo identificado na etapa 1 acima.

    Por exemplo, a política a seguir especifica <SharedFlowBundle> como SharedFlow_Sample, que corresponde ao que está na string de falha.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
       <DisplayName>Auth Flow Callout</DisplayName>
       <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
    </FlowCallout>
    
  3. Na IU, verifique se esse fluxo compartilhado existe em Desenvolver > Fluxos compartilhados. Se não existir, essa é a causa do erro. Na nova IU, é possível encontrar fluxos compartilhados na guia "Desenvolver".

    Por exemplo, na captura de tela mostrada abaixo, o fluxo compartilhado SharedFlow_Sample não existe.

    O fluxo compartilhado SharedFlow_Sample não está listado na coluna &quot;Fluxo compartilhado&quot;.

    Como esse fluxo compartilhado não existe, você recebe o código de erro:

    flow.SharedFlowNotFound
    

Resolução

Verifique se o fluxo compartilhado especificado no elemento <SharedFlowBundle> na política de frase de destaque de fluxo existe e é implantado no ambiente específico em que a solicitação da API é executada.

É possível escolher uma das seguintes maneiras para resolver o problema:

  1. Crie um fluxo compartilhado chamado SharedFlow_Sample e implante-o no ambiente de teste, conforme mostrado abaixo:

    O fluxo compartilhado SharedFlow_Sample é listado na coluna &quot;Fluxo compartilhado&quot;.

  2. Use um fluxo compartilhado já existente que é implantado no ambiente de teste na política de frase de destaque de fluxo. Por exemplo, é possível especificar SharedFlow_demo na política de frase de destaque do fluxo.

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

    Se você fizer uma chamada de API ao ambiente de teste, não verá mais o erro porque a frase de destaque de fluxo também é implantada no ambiente de teste.

Causa: fluxo compartilhado não implantado

Se o fluxo compartilhado especificado no elemento <SharedFlowBundle> da política de frase de destaque de fluxo não for implantado, esse erro ocorrerá.

Por exemplo, se o elemento <SharedFlowBundle> na política de frase de destaque de fluxo tiver um fluxo compartilhado chamado Shared-Flow_example que não é implantado no ambiente específico em que a solicitação de API é feita, o erro ocorre.

Exemplo de mensagem de erro

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

Diagnóstico

  1. Identifique o fluxo compartilhado que não está implantado. É possível encontrar isso no elemento faultstring da resposta de erro. Por exemplo, no faultstring a seguir, o nome do fluxo compartilhado é Shared-Flow_example:

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

  2. Na IU, verifique se esse fluxo compartilhado está implantado.

    Por exemplo, você verá na captura de tela abaixo que o fluxo compartilhado Shared-Flow_example existe, mas não foi implantado.

    O fluxo compartilhado Shared-Flow_example existe e não tem implantações.

    Como este fluxo compartilhado não está implantado, você recebe o código do erro:

    flow.SharedFlowNotFound
    

Resolução

Verifique se o fluxo compartilhado especificado no elemento <SharedFlowBundle> na política de frase de destaque de fluxo existe e é implantado no ambiente específico em que a solicitação da API é executada.

Para corrigir o exemplo acima, implante o fluxo compartilhado chamado Shared-Flow_example no ambiente de teste. A captura de tela a seguir mostra que o fluxo compartilhado SharedFlow_Sample foi implantado:

O fluxo compartilhado SharedFlow_Sample é implantado no ambiente de teste.

Se você fizer uma chamada de API ao ambiente de teste, não verá mais o erro porque a frase de destaque de fluxo também é implantada no ambiente de teste.