額外資訊摘要政策部署錯誤

您正在查看 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.

錯誤螢幕截圖示例

無效的連接器執行個體錯誤訊息

原因

如果 ExtensionSummary 政策中的 <Connector> 元素缺少或設為空白值,就會發生這個錯誤。

診斷

  1. 找出錯誤訊息中的額外資訊摘要政策名稱。舉例來說,在下列錯誤中,ExtensionSummary 政策名稱會是 Extension Callout-1

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. 檢查失敗的額外資訊摘要政策 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> 元素中設定。

查看 Edge UI 中所有擴充功能的名稱。

以下範例是在 <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 的環境中,就會發生這個錯誤。

診斷

  1. 找出額外資訊摘要政策名稱、擴充功能摘要政策 <Connector> 元素中使用的額外資訊名稱,以及發生錯誤的環境。您可以在錯誤訊息中找到上述所有項目。

    舉例來說,在下列錯誤中,擴充功能說明政策的名稱為 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.
    
  2. 檢查失敗的額外資訊摘要政策 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>
    
  3. 確認已在環境中建立擴充功能名稱 (如步驟 1 所示)。

    在 Edge UI 中依序前往「管理員」>「擴充功能」 ,檢查擴充功能是否存在,以及與 Extension callout 政策 <Connector> 元素中指定的擴充功能相符。

    請注意,在下方螢幕截圖中,擴充功能 cloud_storage_ext 存在,但與上述範例 Extension callout 政策中指定的 <Connector> 元素不符:

    查看 Edge UI 中所有擴充功能的名稱。

    您在 <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.

錯誤螢幕截圖示例

「動作無效」錯誤訊息

原因

如果 ExtensionSummary 政策中的 <Action> 元素缺少或設為空白值,就會發生這個錯誤。

診斷

  1. 找出額外資訊摘要政策名稱。您可以在錯誤訊息中找到這項資訊。舉例來說,在下列錯誤中,ExtensionSummary 政策名稱是 Extension Callout-1:

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
    
  2. 檢查失敗的額外資訊摘要政策 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>
    

解析度

確認 Extension callout 政策中一律指定 <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 流程中設定額外資訊摘要政策。如果在 PostClient 流程中置入 Extension callout 政策,API Proxy 部署就會失敗,並顯示這個錯誤。

診斷

  1. 找出額外資訊摘要政策名稱。您可以在錯誤訊息中找到這項資訊。舉例來說,在下列錯誤中,ExtensionSummary 政策名稱是 Extension Callout-1:

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. 在失敗的特定 API Proxy 所有端點中,檢查所有 PostClient 流程。請參閱控管 Proxy 與資料流執行的方式一文。

    如果您發現第 1 步 (依步驟 #1 定義) 加入了額外資訊摘要政策,就是造成錯誤的原因。

    舉例來說,下列 PostClient 流程中包含額外資訊摘要政策:

        ...
        <PostClientFlow>
                <Request/>
                <Response>
                    <Step>
                        <Name>Extension-Callout-1</Name>
                    </Step>
                </Response>
            </PostClientFlow>
        ...
    

解析度

確認額外資訊摘要政策未放在 PostClient 流程中。

如要修正上述問題,請將額外資訊摘要政策移至任何其他流程。

...
<PreFlow name="PreFlow">
    <Request/>
    <Response>
        <Step>
            <Name>Extension-Callout-1</Name>
        </Step>
    </Response>
</PreFlow>
...