การแก้ปัญหาข้อผิดพลาดในการทำให้นโยบายส่วนขยายไฮไลต์ของส่วนขยายใช้งานได้

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

InvalidConnectorInstance

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

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.

ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด

ข้อความแสดงข้อผิดพลาดเกี่ยวกับอินสแตนซ์เครื่องมือเชื่อมต่อไม่ถูกต้อง

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากไม่มีองค์ประกอบ <Connector> ในนโยบาย ExtensionCallout หรือตั้งค่าเป็นค่าว่าง

การวินิจฉัย

  1. ระบุชื่อนโยบาย ExtensionCallout ในข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบาย ExtensionCallout คือ Extension Callout-1

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. ตรวจสอบ XML ของนโยบาย ExtensionCallout ที่ล้มเหลว และยืนยันว่ามีองค์ประกอบ <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 จึงล้มเหลว

ความละเอียด

ตรวจสอบว่าได้ระบุค่าสำหรับองค์ประกอบ <Connector> ของนโยบายข้อความไฮไลต์ของส่วนขยายเสมอ และค่าดังกล่าวตรงกับชื่อของส่วนขยายจริงที่สร้างขึ้นในองค์กร

หากต้องการแก้ไขนโยบาย ExtensionCallout ตัวอย่างที่แสดงด้านบน คุณสามารถตั้งค่า<Connector> เป็นชื่อของส่วนขยายที่มีอยู่ในสภาพแวดล้อมที่เฉพาะเจาะจงซึ่งมีการติดตั้งใช้งานพร็อกซี API

หากต้องการดูชื่อของส่วนขยาย ให้ไปที่ Admin > Extensions ใน UI ของ Edge ชื่อของส่วนขยายทั้งหมดในองค์กรจะแสดงที่นั่น ควรตั้งค่าชื่อส่วนขยายในองค์ประกอบ <Connector>

ดูชื่อของส่วนขยายทั้งหมดใน UI ของ Edge

ตัวอย่างที่มีการตั้งค่าชื่อส่วนขยายอย่างถูกต้องในองค์ประกอบ <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

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

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.

ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด

ข้อความแสดงข้อผิดพลาด &quot;ไม่มีอินสแตนซ์ของตัวเชื่อมต่อ&quot;

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากตั้งค่าองค์ประกอบ <Connector> ในนโยบาย ExtensionCallout เป็นชื่อที่ไม่มีอยู่ในสภาพแวดล้อมที่กำลังติดตั้งใช้งานพร็อกซี API

การวินิจฉัย

  1. ระบุชื่อนโยบาย ExtensionCallout, ชื่อส่วนขยายที่ไม่ถูกต้องที่ใช้ในองค์ประกอบ <Connector> ของนโยบาย ExtensionCallout และสภาพแวดล้อมที่เกิดข้อผิดพลาด คุณดูรายการทั้งหมดนี้ได้ในข้อความแสดงข้อผิดพลาด

    เช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบาย ExtensionCallout คือ 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.
  2. ตรวจสอบ XML ของนโยบาย ExtensionCallout ที่ล้มเหลว และยืนยันว่าชื่อส่วนขยายที่ระบุสำหรับองค์ประกอบ <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)

    ใน UI ของ Edge ให้ไปที่ผู้ดูแลระบบ > ส่วนขยาย แล้วตรวจสอบว่ามีส่วนขยายอยู่หรือไม่ และชื่อตรงกับชื่อที่ระบุในองค์ประกอบ <Connector> ในนโยบาย ExtensionCallout

    โปรดสังเกตในภาพหน้าจอด้านล่างว่าส่วนขยาย cloud_storage_ext มีอยู่ แต่ไม่ตรงกับองค์ประกอบ <Connector> ที่ระบุไว้ในนโยบาย ExtensionCallout ตัวอย่างที่แสดงด้านบน

    ดูชื่อของส่วนขยายทั้งหมดใน UI ของ Edge

    เนื่องจากไม่มีชื่อส่วนขยายที่ระบุในองค์ประกอบ <Connector> คุณจึงได้รับข้อผิดพลาดในการติดตั้งใช้งาน

    In Extension Callout-1: Connector cloud_storage does not exist in environment test.

ความละเอียด

ตรวจสอบว่าได้สร้างส่วนขยายที่ระบุไว้ในองค์ประกอบ <Connector> ของนโยบาย ExtensionCallout แล้ว และได้ระบุชื่ออย่างถูกต้อง

ดูข้อมูลเกี่ยวกับวิธีสร้างส่วนขยายได้ที่บทแนะนำ: การใช้ส่วนขยาย

หากต้องการแก้ไขตัวอย่างข้างต้น ให้แก้ไขชื่อให้ตรงกับส่วนขยายจริง

<?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

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

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.

ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด

ข้อความแสดงข้อผิดพลาด &quot;การดำเนินการไม่ถูกต้อง&quot;

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากไม่มีองค์ประกอบ <Action> ในนโยบาย ExtensionCallout หรือตั้งค่าเป็นค่าว่าง

การวินิจฉัย

  1. ระบุชื่อนโยบาย ExtensionCallout คุณดูข้อมูลนี้ได้ในข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบาย ExtensionCallout คือ Extension Callout-1:

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
  2. ตรวจสอบ XML ของนโยบาย ExtensionCallout ที่ล้มเหลว และยืนยันว่ามีการระบุการดำเนินการในองค์ประกอบ <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>

ความละเอียด

ตรวจสอบว่าได้ระบุองค์ประกอบ <Action> และองค์ประกอบดังกล่าวไม่ว่างในนโยบาย ExtensionCallout เสมอ

ดูข้อมูลเกี่ยวกับวิธีสร้างส่วนขยายและวิธีใช้ในนโยบายที่มีองค์ประกอบ <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

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ Edge Management API ล้มเหลวพร้อมข้อความแสดงข้อผิดพลาดนี้

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.

ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด

ข้อความแสดงข้อผิดพลาด &quot;Allow Extensions In Post Client Flow&quot;

สาเหตุ

ไม่อนุญาตให้มีนโยบาย ExtensionCallout ใน PostClient Flow หากวางนโยบาย ExtensionCallout ไว้ใน PostClient Flow การติดตั้งใช้งานพร็อกซี API จะไม่สำเร็จและเกิดข้อผิดพลาดนี้

การวินิจฉัย

  1. ระบุชื่อนโยบาย ExtensionCallout คุณดูข้อมูลนี้ได้ในข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบาย ExtensionCallout คือ Extension Callout-1:

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. ตรวจสอบโฟลว์ PostClient ทั้งหมดในอุปกรณ์ปลายทางทั้งหมดของพร็อกซี API ที่เฉพาะเจาะจงซึ่งเกิดข้อผิดพลาด โปรดดูบทความการควบคุมวิธีที่พร็อกซีดำเนินการด้วยโฟลว์

    หากคุณสังเกตเห็นว่านโยบาย ExtensionCallout (กำหนดไว้ในขั้นตอนที่ 1) อยู่ใน 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>
...