查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
InvalidConnectorInstance
錯誤訊息
透過 Edge UI 或 Edge Management 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.
錯誤螢幕截圖
原因
如果 Extension callout 政策中的 <Connector>
元素缺少或設為空白值,就會發生這個錯誤。
診斷
找出錯誤訊息中的 Extension callout 政策名稱。舉例來說,在下列錯誤中,Extension 摘要政策的名稱為
Extension Callout-1
:Error Saving Revision 1 In Extension Callout-1: Connector must not be empty
檢查未通過的 Extension callout 政策 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>
元素值,並與機構中建立的實際額外資訊名稱相符。
如要修正上述 Extension callout 政策範例,您可以將 <Connector>
元素設為部署 API Proxy 特定環境中的擴充功能名稱。
如要找出擴充功能的名稱,可以在 Edge UI 中依序前往「管理」>「管理員」擴充功能:貴機構中所有擴充功能的名稱都會顯示在那裡。請在 <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 Management 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.
錯誤螢幕截圖
原因
如果 Extension callout 政策中的 <Connector>
元素設為名稱不存在,但在部署 API Proxy 的環境中,就會發生這個錯誤。
診斷
找出 Extension callout 政策的名稱、擴充功能呼叫政策的
<Connector>
元素中使用的無效額外資訊名稱,以及發生錯誤的環境。您可以在錯誤訊息中找到以上所有項目。舉例來說,在下列錯誤中,擴充功能摘要政策名稱為
Extension Callout-1,
invalid
的副檔名為cloud_storage
,環境名稱為test
:Error Deploying Revision 1 to test In Extension Callout-1: Connector cloud_storage does not exist in environment test.
檢查未通過的 Extension callout 政策 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」> ,檢查是否存在額外資訊,並確認名稱與「Extension 摘要」政策中
<Connector>
元素中指定的名稱相符。請注意,在下方螢幕截圖中,
cloud_storage_ext
擴充功能已存在,但與上述範例 ExtensionCall 政策範例中指定的<Connector>
元素不相符:由於
<Connector>
元素中指定的擴充功能名稱不存在,您會收到部署錯誤訊息:In Extension Callout-1: Connector cloud_storage does not exist in environment test.
解析度
確認已在 Extension callout 政策的 <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 Management 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.
錯誤螢幕截圖
原因
如果 Extension callout 政策中的 <Action>
元素缺少或設為空白值,就會發生這個錯誤。
診斷
找出額外資訊摘要政策名稱。你可以在錯誤訊息中找到這項資訊。舉例來說,在下列錯誤中,Extension callout 政策的名稱為
Extension Callout-1:
Error Saving Revision 1 In Extension Callout-1: Action must not be empty.
檢查失敗的 Extension callout 政策 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>
解析度
確認 ExtensionCall 政策中的 <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 UI 或 Edge Management 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 流程中加入 Extension callout 政策。如果將 Extension callout 政策放在 PostClient 流程中,API Proxy 部署作業就會失敗,並出現這個錯誤。
診斷
找出額外資訊摘要政策名稱。你可以在錯誤訊息中找到這項資訊。舉例來說,在下列錯誤中,Extension callout 政策的名稱為
Extension Callout-1:
In Extension Callout-1: Policy is not allowed in PostClientFlow.
檢查發生錯誤的特定 API Proxy 上所有端點中的所有 PostClient 流程。請參閱「控制 Proxy 使用流程的方式」一文。
如果您發現 ExtensionCall 政策 (定義於步驟 1) 中位於 PostClient 流程中,那麼這是導致錯誤的原因。
舉例來說,下列 PostClient 流程內含 ExtensionCall Policy:
... <PostClientFlow> <Request/> <Response> <Step> <Name>Extension-Callout-1</Name> </Step> </Response> </PostClientFlow> ...
解析度
確認 Extension callout 政策並未放入 PostClient 流程。
如要修正上述問題,請將額外資訊摘要政策移至任何其他流程。
... <PreFlow name="PreFlow"> <Request/> <Response> <Step> <Name>Extension-Callout-1</Name> </Step> </Response> </PreFlow> ...