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

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

InvalidConnectorInstance

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ 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> ในนโยบายส่วนขยายข้อความเสริมขาดหายไปหรือตั้งเป็นค่าว่าง

การวินิจฉัย

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

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

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

หากต้องการทราบชื่อของส่วนขยาย ให้ไปที่ผู้ดูแลระบบ > ส่วนขยายใน 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

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ 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> ในนโยบาย Extensionวิส เป็นชื่อที่ไม่มีอยู่ในสภาพแวดล้อมที่มีการใช้พร็อกซี API

การวินิจฉัย

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

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

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

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

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

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

ความละเอียด

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

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

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

<?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 ผ่าน Edge UI หรือ 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.

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

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

สาเหตุ

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

การวินิจฉัย

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

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

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

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

อนุญาตข้อความแสดงข้อผิดพลาดของโฟลว์ไคลเอ็นต์โพสต์

สาเหตุ

ห้ามมีนโยบาย Extensionวิส ในโฟลว์ PostClient หากใส่ นโยบาย ExtensionExtension ไว้ในโฟลว์ PostClient การใช้งานพร็อกซี API จะไม่สำเร็จเพราะข้อผิดพลาดนี้

การวินิจฉัย

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

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

    หากคุณพบว่านโยบาย Extension callout (ซึ่งกำหนดในขั้นตอนที่ 1) แสดงอยู่ในโฟลว์ PostClient ข้อผิดพลาดนั้นเกิดจากสาเหตุนี้

    ตัวอย่างเช่น โฟลว์ PostClient ต่อไปนี้มี Extension callout Policy อยู่ภายใน:

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

ความละเอียด

ตรวจสอบว่านโยบาย ExtensionExtension ไม่ได้วางไว้ในโฟลว์ PostClient

หากต้องการแก้ไขปัญหาที่กล่าวถึงข้างต้น คุณควรย้ายนโยบาย Extension callout ไปยังโฟลว์อื่น

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