您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
InvalidConnectorInstance
錯誤訊息
透過 Edge UI 或 Edge 管理 API 部署 API Proxy 時失敗,並顯示這則錯誤訊息:
Error Saving Revision revision_number In policy_name: Connector must not be empty.
錯誤訊息範例
Error Saving Revision 1 In Extension Callout-1: Connector must not be empty.
錯誤螢幕截圖範例

原因
如果 ExtensionCallout 政策中的 <Connector> 元素遺失或設為空值,就會發生這個錯誤。
診斷
在錯誤訊息中找出 ExtensionCallout 政策名稱。舉例來說,在下列錯誤中,ExtensionCallout 政策名稱為
Extension Callout-1:Error Saving Revision 1 In Extension Callout-1: Connector must not be empty
檢查失敗的 ExtensionCallout 政策 XML,確認
<Connector>元素存在且不為空白。舉例來說,在下列政策中,<Connector>元素為空白,且不含擴充功能名稱:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1"> <DisplayName>Extension Callout-1</DisplayName> <Connector></Connector> <Action>downloadFile</Action> <Input><![CDATA[ {} ]]></Input> <Output>context-variable-name</Output> </ConnectorCallout>
由於 <Connector> 元素為空白,API Proxy 部署作業會失敗。
解析度
請務必指定「擴充功能附註」政策的 <Connector> 元素值,且該值與機構中建立的實際擴充功能名稱相符。
如要修正上述 ExtensionCallout 政策範例,您可以將 <Connector> 元素設為擴充功能的名稱,該擴充功能位於部署 API Proxy 的特定環境中。
如要判斷擴充功能的名稱,請在 Edge UI 中依序前往「Admin」>「Extensions」。系統會顯示貴機構所有擴充功能的名稱。擴充功能名稱應在 <Connector> 元素中設定。

以下範例在 <Connector> 元素中正確設定了擴充功能名稱:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1"> <DisplayName>Extension Callout-1</DisplayName> <Connector>cloud_storage_ext</Connector> <Action>downloadFile</Action> <Input><![CDATA[ {} ]]></Input> <Output>context-variable-name</Output> </ConnectorCallout>
ConnectorInstanceDoesNotExists
錯誤訊息
透過 Edge UI 或 Edge 管理 API 部署 API Proxy 時失敗,並顯示這則錯誤訊息:
Error Deploying Revision revision_number to environment In policy_name: Connector <extension_name> does not exist in environment environment.
錯誤訊息範例
Error Deploying Revision 1 to test In Extension Callout-1: Connector cloud_storage does not exist in environment test.
錯誤螢幕截圖範例

原因
如果 ExtensionCallout 政策中的 <Connector> 元素設為 API Proxy 部署環境中不存在的名稱,就會發生這個錯誤。
診斷
找出 ExtensionCallout 政策名稱、ExtensionCallout 政策
<Connector>元素中使用的無效擴充功能名稱,以及發生錯誤的環境。錯誤訊息中會列出所有這些項目。舉例來說,在下列錯誤中,ExtensionCallout 政策名稱為「invali」
Extension Callout-1,d,擴充功能名稱為「cloud_storage」,環境名稱為「test」:Error Deploying Revision 1 to test In Extension Callout-1: Connector cloud_storage does not exist in environment test.檢查失敗的 ExtensionCallout 政策 XML,並確認為
<Connector>元素指定的擴充功能名稱是否與錯誤訊息中的名稱相符。在本例中,
<Connector>元素中指定的擴充功能名稱為cloud_storage:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1"> <DisplayName>Extension Callout-1</DisplayName> <Connector>cloud_storage</Connector> <Action>downloadFile</Action> <Input><![CDATA[ {} ]]></Input> <Output>context-variable-name</Output> </ConnectorCallout>
確認擴充功能名稱是否已在環境中建立 (在步驟 1 中決定)。
在 Edge UI 中,依序前往「Admin」>「Extensions」 ,檢查擴充功能是否存在,以及名稱是否與 ExtensionCallout 政策中
<Connector>元素指定的名稱相符。請注意,下方螢幕截圖顯示擴充功能
cloud_storage_ext存在,但與上方範例 ExtensionCallout 政策中指定的<Connector>元素不符:
由於
<Connector>元素中指定的擴充功能名稱不存在,因此您會收到部署錯誤:In Extension Callout-1: Connector cloud_storage does not exist in environment test.
解析度
請確認已建立 ExtensionCallout 政策 <Connector> 元素中指定的擴充功能,且名稱正確無誤。
如要瞭解如何建立擴充功能,請參閱「教學課程:使用擴充功能」。
如要修正上述範例,請修正名稱,使其與實際擴充功能相符:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1"> <DisplayName>Extension Callout-1</DisplayName> <Connector>cloud_storage_ext</Connector> <Action>downloadFile</Action> <Input><![CDATA[ {} ]]></Input> <Output>context-variable-name</Output> </ConnectorCallout>
InvalidAction
錯誤訊息
透過 Edge UI 或 Edge 管理 API 部署 API Proxy 時失敗,並顯示這則錯誤訊息:
Error Saving Revision revision_number In policy_name: Action must not be empty.
錯誤訊息範例
Error Saving Revision 1 In Extension Callout-1: Action must not be empty.
錯誤螢幕截圖範例

原因
如果 ExtensionCallout 政策中的 <Action> 元素遺失或設為空值,就會發生這個錯誤。
診斷
找出 ExtensionCallout 政策名稱。這項資訊會顯示在錯誤訊息中。舉例來說,在下列錯誤中,ExtensionCallout 政策名稱為
Extension Callout-1:Error Saving Revision 1 In Extension Callout-1: Action must not be empty.檢查失敗的 ExtensionCallout 政策 XML,並確認
<Action>元素中是否指定動作。如果缺少<Action>元素或元素為空白,就會導致錯誤。在本例中,
<Action>元素為空白:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1"> <DisplayName>Extension Callout-1</DisplayName> <Connector>cloud_storage_ext</Connector> <Action></Action> <Input><![CDATA[ {} ]]></Input> <Output>context-variable-name</Output> </ConnectorCallout>
解析度
請確保 ExtensionCallout 政策中一律指定 <Action> 元素,且該元素不得為空白。
如要瞭解如何建立擴充功能,以及如何在政策中使用正確的 <Action> 元素,請參閱「教學課程:使用擴充功能」。
如要修正上述問題,請為擴充功能指定正確的動作:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1"> <DisplayName>Extension Callout-1</DisplayName> <Connector>cloud_storage_ext</Connector> <Action>downloadFile</Action> <Input><![CDATA[ {} ]]></Input> <Output>context-variable-name</Output> </ConnectorCallout>
AllowExtensionsInPostClientFlow
錯誤訊息
透過 Edge 使用者介面或 Edge 管理 API 部署 API Proxy 時失敗,並顯示這則錯誤訊息:
Error Deploying Revision revision_number to environment In policy_name: Policy is not allowed in PostClientFlow.
錯誤訊息範例
Error Deploying Revision 1 to test In Extension Callout-1: Policy is not allowed in PostClientFlow.
錯誤螢幕截圖範例

原因
PostClient Flow 中不得有擴充功能註解政策。如果 ExtensionCallout 政策位於 PostClient Flow 中,API Proxy 的部署作業就會失敗,並顯示這項錯誤。
診斷
找出 ExtensionCallout 政策名稱。這項資訊會顯示在錯誤訊息中。舉例來說,在下列錯誤中,ExtensionCallout 政策名稱為
Extension Callout-1:In Extension Callout-1: Policy is not allowed in PostClientFlow.
檢查發生失敗的特定 API Proxy 中,所有端點的所有 PostClient Flow。請參閱「使用流程控制 Proxy 的執行方式」一文。
如果您發現 ExtensionCallout 政策 (在步驟 1 中判斷) 位於 PostClient Flow 中,這就是錯誤原因。
舉例來說,下列 PostClient Flow 包含 ExtensionCallout 政策:
... <PostClientFlow> <Request/> <Response> <Step> <Name>Extension-Callout-1</Name> </Step> </Response> </PostClientFlow> ...
解析度
請確保 ExtensionCallout 政策未放置在 PostClient Flow 中。
如要修正上述問題,請將 ExtensionCallout 政策移至任何其他流程。
...
<PreFlow name="PreFlow">
<Request/>
<Response>
<Step>
<Name>Extension-Callout-1</Name>
</Step>
</Response>
</PreFlow>
...