פתרון בעיות בפריסה של מדיניות Service Callout

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

URLMissing

הודעת שגיאה

פריסת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API נכשלת עם הודעת השגיאה הבאה:

Error Saving Revision [revision_number]
URL is missing in Step [policy_name]

דוגמה להודעת שגיאה

Error Saving Revision 2
URL is missing in Step ExecuteGeocodingRequest.

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

סיבה

אם רכיב <URL> במדיניות Service Callout חסר או ריק, הפריסה של ה-proxy ל-API תיכשל.

אבחון

בודקים את הרכיב <URL> במדיניות Service Callout ששמה מופיע בהודעת השגיאה. אם לא מוצהרת כתובת URL בתוך הרכיב, זו הסיבה לשגיאה. לדוגמה, במדיניות Service Callout הבאה יש רכיב <URL> ריק:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
    <HTTPTargetConnection>
        <URL></URL>
    </HTTPTargetConnection>
</ServiceCallout>

הפריסה של ה-proxy ל-API נכשלת כי רכיב <URL> ריק.

רזולוציה

מוודאים שלרכיב <URL> במדיניות Service Callout יש כתובת URL תקינה. לדוגמה:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
    <HTTPTargetConnection>
        <URL>http://maps.googleapis.com/maps/api/geocode/json</URL>
    </HTTPTargetConnection>
</ServiceCallout>

ConnectionInfoMissing

הודעת שגיאה

פריסת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API נכשלת עם הודעת השגיאה הבאה:

Error Saving Revision [revision_number]
Connection information is missing in Step [policy_name]

דוגמה להודעת שגיאה

Error Saving Revision 1
Connection information is missing in Step ExecuteGeocodingRequest.

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

סיבה

אם במדיניות Service Callout לא מופיע הרכיב <HTTPTargetConnection> או הרכיב <LocalTargetConnection>, הפריסה של proxy ל-API תיכשל.

אבחון

בודקים אם לרכיב Service Callout של מדיניות יש הגדרה של <HTTPTargetConnection> או <LocalTargetConnection>. לדוגמה:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
</ServiceCallout>

שימו לב שלא מוגדר במדיניות הרכיב <HTTPTargetConnection> או <LocalTargetConnection>.

רזולוציה

מוודאים שלמדיניות Service Callout יש את הרכיב <HTTPTargetConnection> או <LocalTargetConnection>. לדוגמה:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
    <HTTPTargetConnection>
        <URL>http://maps.googleapis.com/maps/api/geocode/json</URL>
    </HTTPTargetConnection>
</ServiceCallout>

InvalidTimeoutValue

הודעת שגיאה

פריסת proxy ל-API דרך ממשק המשתמש של Edge או Edge management API נכשלת עם הודעת השגיאה הבאה:

Error Saving Revision [revision_number]
Invalid Timeout value [0 or negative_number].

דוגמה להודעת שגיאה

Error Saving Revision 1
Invalid Timeout value -1.

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

סיבה

אם ברכיב <Timeout> במדיניות Service Callout מצוין ערך אפס או ערך שלילי, פריסת ה-proxy ל-API תיכשל.

אבחון

בודקים את הרכיב <Timeout> במדיניות Service Callout. אם הערך הוא אפס או מספר שלילי, זו הסיבה לשגיאה. לדוגמה:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
    <Timeout>0</Timeout>
    <HTTPTargetConnection>
        <URL>http://maps.googleapis.com/maps/api/geocode/json</URL>
    </HTTPTargetConnection>
</ServiceCallout>

הפריסה של ה-proxy נכשלת כי הערך של הרכיב <Timeout> הוא אפס.

רזולוציה

צריך לוודא שהערך שצוין לרכיב <Timeout> הוא מספר שאינו אפס או מספר לא שלילי. לדוגמה:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
    <Timeout>10</Timeout>
    <HTTPTargetConnection>
        <URL>http://maps.googleapis.com/maps/api/geocode/json</URL>
    </HTTPTargetConnection>
</ServiceCallout>