現在、Apigee と Apigee ハイブリッドのドキュメントを表示しています。
Apigee Edge のドキュメントを表示する。
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"
}
}
}
診断
存在しない共有フローを特定します。この情報はエラー レスポンスの
faultstring
要素で調べることができます。たとえば、次のfaultstring
では、共有フロー名はSharedFlow_Sample
です。"faultstring": "Shared Flow SharedFlow_Sample Not Found"
エラーが発生した特定の 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>
UI で、[開発] > [共有フロー] の下でこの共有フローが存在しているかどうかを確認します。存在していない場合は、それがエラーの原因です(新しい UI では、[開発] タブに [共有フロー] が表示されます)。
たとえば、次のスクリーンショットでは、共有フロー
SharedFlow_Sample
は存在していません。この共有フローは存在していないため、次のエラーコードを受け取ります。
flow.SharedFlowNotFound
解決策
Flow Callout ポリシーの <SharedFlowBundle>
要素で指定された共有フローが、API リクエストが実行される特定の環境に存在していて、デプロイされていることを確認します。
この問題に対処するために、次のいずれかの方法を選択します。
SharedFlow_Sample
という共有フローを作成し、それを次のようにテスト環境にデプロイします。テスト環境にデプロイされている既存の共有フローを、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>
テスト環境への API 呼び出しを行うと、Flow Callout もテスト環境にデプロイされるため、エラーは表示されなくなります。
原因: 共有フローがデプロイされていない
Flow Callout ポリシーの <SharedFlowBundle>
要素で指定されている共有フローがデプロイされていない場合、このエラーが発生します。
たとえば、Flow Callout ポリシーの <SharedFlowBundle>
要素に、API リクエストが行われる特定の環境でデプロイされていない Shared-Flow_example
という共有フローが含まれている場合、エラーが発生します。
エラー メッセージの例
{
"fault": {
"faultstring": "Shared Flow Shared-Flow_example Not Found",
"detail": {
"errorcode": "flow.SharedFlowNotFound"
}
}
}
診断
デプロイされていない共有フローを特定します。この情報はエラー レスポンスの
faultstring
要素で調べることができます。たとえば、次のfaultstring
では、共有フロー名はShared-Flow_example
です。"faultstring": "Shared Flow Shared-Flow_example Not Found"
UI で、この共有フローがデプロイされているかどうかを確認します。
たとえば、次のスクリーンショットは、共有フロー
Shared-Flow_example
が存在しているが、デプロイされていないことを示しています。この共有フローはデプロイされていないため、次のエラーコードを受け取ります。
flow.SharedFlowNotFound
解決策
Flow Callout ポリシーの <SharedFlowBundle>
要素で指定された共有フローが、API リクエストが実行される特定の環境に存在していて、デプロイされていることを確認します。
上記の例を修正するには、Shared-Flow_example
という共有フローをテスト環境にデプロイします。次のスクリーンショットは、共有フロー SharedFlow_Sample
がデプロイされていることを示しています。
テスト環境への API 呼び出しを行うと、Flow Callout もテスト環境にデプロイされるため、エラーは表示されなくなります。