您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
SharedFlowNotFound
錯誤代碼
flow.SharedFlowNotFound
錯誤回應主體
{ "fault": { "faultstring": "Shared Flow shared_flow_name Not Found", "detail": { "errorcode": "flow.SharedFlowNotFound" } } }
可能原因
這項錯誤的可能原因如下:
原因 | 說明 |
無法使用共用流程 | 共用流程不存在。 |
未部署共用流程 | 共用流程已存在,但尚未部署。 |
原因:無法使用共用流程
在流程呼叫政策中,如果環境不存在 <SharedFlowBundle>
元素中定義的共用流程,就會發生這個錯誤。
舉例來說,如果流程呼叫政策中的 <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 Proxy 中的所有流程呼叫政策。查看是否有任何流程呼叫政策的
<SharedFlowBundle>
元素是以上述步驟 1 所示的流程名稱指定。例如,下列政策將
<SharedFlowBundle>
指定為SharedFlow_Sample
,即與錯誤字串中的內容相符。<FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout"> <DisplayName>Auth Flow Callout</DisplayName> <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle> </FlowCallout>
在 Edge UI 中,前往「API」>「Shared Flows」,檢查這個共用流程是否存在。如果沒有,則就是發生錯誤的原因。(請注意,在新 Edge UI 中,您可以在「開發」分頁中找到「共用流程」)。
例如,在下方螢幕截圖中,共用流程
SharedFlow_Sample
不存在。由於這個共用流程不存在,您會收到錯誤代碼:
flow.SharedFlowNotFound
解析度
請確保在流程呼叫政策的 <SharedFlowBundle>
元素中指定的共用流程,且存在於執行 API 要求的特定環境中,並部署於特定環境中。
你可以選擇下列其中一種方法來解決問題:
請建立名為
SharedFlow_Sample
的共用流程 (如下所示),然後部署測試環境,如下所示:請使用「流程呼叫」政策中已部署在測試環境中的現有共用流程。舉例來說,您可以在「流程呼叫」政策中指定 SharedFlow_demo。
<FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout"> <DisplayName>Auth Flow Callout</DisplayName> <SharedFlowBundle>SharedFlow_demo</SharedFlowBundle> </FlowCallout>
若對測試環境發出 API 呼叫,您不會再看到錯誤,因為流程呼叫也會部署至測試環境。
原因:未部署共用流程
如果流程呼叫政策的 <SharedFlowBundle>
元素中指定的共用流程未部署,則會發生這個錯誤。
舉例來說,如果流程呼叫政策中的 <SharedFlowBundle>
元素包含名為 SharedFlow_example
的共用流程,但該流程並未部署在發出 API 要求的特定環境中,就會發生錯誤。
錯誤訊息範例
{
"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"
在 Edge UI 中,檢查這個共用流程是否已部署。
例如,您會發現下方螢幕截圖中有共用流程「
SharedFlow_example
」存在,但尚未部署。
由於未部署這個共用流程,您會收到錯誤代碼:
flow.SharedFlowNotFound
解析度
請確保在流程呼叫政策的 <SharedFlowBundle>
元素中指定的共用流程,且存在於執行 API 要求的特定環境中,並部署於特定環境中。
如要修正上述範例,請在測試環境中部署名為 SharedFlow_example
的共用流程,如下所示:
若對測試環境發出 API 呼叫,您不會再看到錯誤,因為流程呼叫也會部署至測試環境。