FlowCallout ポリシー ランタイム エラーのトラブルシューティング

SharedFlowNotFound

エラーコード

flow.SharedFlowNotFound
    

エラー レスポンスの本文

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

考えられる原因

このエラーには、次の原因が考えられます。

原因 説明
共有フローが利用可能でない 共有フローが存在しません。
共有フローがデプロイされていない 共有フローは存在しますが、デプロイされていません。

原因: 共有フローが利用可能でない

Flow Callout ポリシー内の <SharedFlowBundle> 要素で定義されている共有フローが環境内に存在しない場合、このエラーが発生します。

たとえば、Flow Callout ポリシー内の <SharedFlowBundle> 要素で SharedFlow_Sample という名前の共有フローが指定されている場合、この共有フローが環境内に存在しなければ、このエラーが発生します。

エラー メッセージの例

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

診断

  1. 存在しない共有フローを特定します。それには、エラー レスポンスの faultstring 要素の内容を調べます。たとえば、次の faultstring では共有フローの名前が SharedFlow_Sample となっています。

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. エラーが発生した特定の API プロキシで、すべての Flow Callout ポリシーを調べます。上記のステップ 1 で特定したフロー名が指定されている <SharedFlowBundle> 要素を含む Flow Callout ポリシーがあるかどうか確認します。

    たとえば、次のポリシーでは <SharedFlowBundle>SharedFlow_Sample として指定しています。これは、エラー文字列に含まれている名前と一致します。

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
           <DisplayName>Auth Flow Callout</DisplayName>
           <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
        </FlowCallout>
        
  3. Edge UI で [APIs] > [Shared Flows] に移動し、この共有フローが存在するかどうか確認します。存在する場合、それがこのエラーの原因です(新しい Edge UI では、[開発] タブで共有フローを確認できます)。

    たとえば、次に示すスクリーンショットでは、共有フロー SharedFlow_Sample が存在していません。

    この共有フローが存在しないことから、次のエラーコードを受け取ります。

    flow.SharedFlowNotFound
        

解決策

API リクエストを実行する特定の環境内に、Flow Callout ポリシー内の <SharedFlowBundle> 要素で指定されている共有フローが存在し、デプロイされていることを確認します。

この問題に対処するには、次のいずれかの方法を選択できます。

  1. 以下に示す SharedFlow_Sample という名前の共有フローを作成し、その共有フローを以下に示すテスト環境にデプロイします。

  2. テスト環境にデプロイされている既存の共有フローを Flow Callout ポリシー内で使用します。たとえば、Flow Callout ポリシー内で SharedFlow_demo を指定できます。

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

    Flow Callout ポリシーはテスト環境にもデプロイされているため、テスト環境に対して API 呼び出しを行うと、エラーは表示されないはずです。

原因: 共有フローがデプロイされていない

Flow Callout ポリシー内の <SharedFlowBundle> 要素で指定されている共有フローがデプロイされていない場合、このエラーが発生します。

たとえば、Flow Callout ポリシー内の <SharedFlowBundle> 要素で SharedFlow_example という名前の共有フローが指定されている場合、API リクエストを実行する特定の環境内にこの共有フローがデプロイされていなければ、このエラーが発生します。

エラー メッセージの例

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

診断

  1. デプロイされていない共有フローを特定します。それには、エラー レスポンスの faultstring 要素の内容を調べます。たとえば、次の faultstring では共有フローの名前が Shared-Flow_example となっています。

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

  2. Edge UI で、この共有フローがデプロイされているかどうか確認します。

    たとえば、以下のスクリーンショットを見ると、共有フロー SharedFlow_example は存在するものの、デプロイされていないことがわかります。

    この共有フローはデプロイされていないため、次のエラーコードを受け取ります。

    flow.SharedFlowNotFound
        

解決策

API リクエストを実行する特定の環境内に、Flow Callout ポリシー内の <SharedFlowBundle> 要素で指定されている共有フローが存在し、デプロイされていることを確認します。

上記の例を修正する場合は、以下に示すように SharedFlow_example という名前の共有フローをテスト環境にデプロイします。

Flow Callout ポリシーはテスト環境にもデプロイされているため、テスト環境に対して API 呼び出しを行うと、エラーは表示されないはずです。