פתרון בעיות הקשורות לשגיאות בפריסה של מדיניות תוסף היתרונות המרכזיים

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

InvalidConnectorInstance

הודעת השגיאה

פריסת ה-proxy ל-API דרך ממשק המשתמש של 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.

דוגמה לצילום מסך של שגיאה

הודעת שגיאה: Invalid Connector Instance (מופע מחבר לא תקין)

סיבה

השגיאה הזו מתרחשת אם הרכיב <Connector> במדיניות ExtensionCallout חסר או מוגדר כערך ריק.

אבחון

  1. מזהים את השם של מדיניות ההדגשה של תוסף בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות 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 Proxy נכשלת.

רזולוציה

מוודאים שהערך של רכיב <Connector> במדיניות Extension Callout תמיד מצוין וזהה לשם של התוסף בפועל שנוצר בארגון.

כדי לתקן את מדיניות ExtensionCallout שמוצגת בדוגמה שלמעלה, אפשר להגדיר את הרכיב <Connector> לשם התוסף שקיים בסביבה הספציפית שבה מתבצעת הפריסה של API Proxy.

כדי לראות את שם התוסף, בממשק המשתמש של Edge עוברים אל אדמין > תוספים. יוצגו שם השמות של כל התוספים בארגון. צריך להגדיר את שם התוסף ברכיב <Connector>.

הצגת השם של כל התוספים בממשק המשתמש של 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

הודעת השגיאה

פריסת ה-proxy ל-API דרך ממשק המשתמש של 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.

דוגמה לצילום מסך של שגיאה

הודעת השגיאה Connector Instance Does Not exist (מופע המחבר לא קיים)

סיבה

השגיאה הזו מתרחשת אם הרכיב <Connector> במדיניות ExtensionCallout מוגדר לשם שלא קיים בסביבה שבה מתבצעת הפריסה של proxy ל-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).

    בממשק המשתמש של Edge, עוברים אל Admin > Extensions ובודקים אם התוסף קיים והשם שלו תואם לשם שצוין ברכיב <Connector> במדיניות ExtensionCallout.

    שימו לב: בצילום המסך שלמטה, התוסף cloud_storage_ext קיים, אבל הוא לא תואם לרכיב <Connector> שצוין במדיניות לדוגמה ExtensionCallout שמוצגת למעלה:

    הצגת השם של כל התוספים בממשק המשתמש של 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

הודעת השגיאה

פריסת ה-proxy ל-API דרך ממשק המשתמש של 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.

דוגמה לצילום מסך של שגיאה

הודעת השגיאה Invalid Action

סיבה

השגיאה הזו מתרחשת אם הרכיב <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

הודעת השגיאה

פריסת ה-proxy ל-API דרך ממשק המשתמש של 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.

דוגמה לצילום מסך של שגיאה

הודעת השגיאה Allow Extensions In Post Client Flow

סיבה

אסור להשתמש במדיניות ExtensionCallout ב-PostClient Flow. אם מדיניות ExtensionCallout ממוקמת ב-PostClient Flow, הפריסה של proxy ל-API נכשלת עם השגיאה הזו.

אבחון

  1. מזהים את שם המדיניות ExtensionCallout. המידע הזה מופיע בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות ExtensionCallout הוא Extension Callout-1:

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. בודקים את כל רכיבי PostClient Flows בכל נקודות הקצה של ה-API Proxy הספציפי שבו התרחשה השגיאה. אפשר לעיין במאמר שליטה באופן ההפעלה של שרת proxy באמצעות תהליכי עבודה.

    אם שמתם לב שהמדיניות ExtensionCallout (שנקבעה בשלב 1) ממוקמת ב-PostClient Flow, זו הסיבה לשגיאה.

    לדוגמה, ה-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>
...