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

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

ความละเอียด

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

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

การวินิจฉัย

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

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

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

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

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

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

ความละเอียด

ตรวจสอบว่าได้สร้างส่วนขยายที่ระบุในองค์ประกอบ <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

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

การทำให้พร็อกซี 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 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>

ความละเอียด

ตรวจสอบว่าได้ระบุองค์ประกอบ <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

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

การทำให้พร็อกซี 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.

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

ข้อความแสดงข้อผิดพลาด &quot;อนุญาตให้ใช้ส่วนขยายในขั้นตอนหลังไคลเอ็นต์&quot;

สาเหตุ

ห้ามไม่ให้มีนโยบาย ชิ้นงานข้อความไฮไลต์ ในขั้นตอน PostClient หากวางนโยบาย Extensioncallout ในโฟลว์ PostClient การติดตั้งใช้งานพร็อกซี API จะล้มเหลวพร้อมกับข้อผิดพลาดนี้

การวินิจฉัย

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

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

    หากคุณสังเกตเห็นว่านโยบาย ชิ้นงานข้อความไฮไลต์ (ระบุไว้ในขั้นตอนที่ 1) แสดงอยู่ในโฟลว์ PostClient นั่นเป็นสาเหตุของข้อผิดพลาด

    ตัวอย่างเช่น ขั้นตอนของ 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>
...