您正在查看 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 代理中的所有“流调出”政策。检查是否存在任何“流调用”政策,其中的
<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 界面中,检查API > 共享流下是否存在此共享流。如果此共享流不存在,就会导致错误。(请注意,在新版 Edge 界面中,“共享流”位于“开发”标签页下。)
例如,在下面的屏幕截图中,共享流
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 界面中,检查此共享流是否已部署。
例如,在以下屏幕截图中,您可以看到共享流
SharedFlow_example
存在但未部署。由于此共享流未部署,因此您会收到错误代码:
flow.SharedFlowNotFound
解决方法
确保“流调出”政策的 <SharedFlowBundle>
元素中指定的共享流存在且已部署在执行 API 请求的特定环境中。
如需更正上述示例,请在测试环境中部署名为 SharedFlow_example
的共享流,如下所示:
如果您对测试环境发出 API 调用,将不会再看到此错误,因为“流调出”也会部署到测试环境中。