تحديد وحلّ المشاكل المتعلقة بنشر سياسة JavaScript

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

InvalidResourceUrlFormat

رسالة الخطأ

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge، وتظهر رسالة الخطأ التالية:

Error Deploying Revision revision_number to environment
Invalid resource url format. Resource url is invalid_URL.

مثال على رسالة الخطأ

Error Deploying Revision 1 to test
Invalid resource url format. Resource url is jsc:add_variables.js.

مثال على لقطة شاشة

السبب

إذا كان تنسيق عنوان URL الخاص بالمرجع المحدّد ضمن العنصر <ResourceURL> أو <IncludeURL> في سياسة JavaScript غير صالح، سيتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات.

في ما يلي التنسيق الصحيح لتحديد عنوان URL الخاص بالمصدر:

<ResourceURL>jsc://<file_name>.js</ResourceURL>
<IncludeURL>jsc://<file_name>.js</IncludeURL>

على سبيل المثال، إذا تم تحديد العنصر <ResourceURL> على النحو الموضّح أدناه، ستتعذّر عملية نشر خادم وكيل واجهة برمجة التطبيقات لأنّه لا يتّبع النمط المحدّد:

<ResourceURL>jsc:add_variables.js</ResourceURL>

التشخيص

  1. تحديد تنسيق عنوان URL غير صالح للمورد مستخدَم في سياسة JavaScript يمكنك العثور على هذه المعلومات من رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون تنسيق عنوان URL غير الصالح للمورد هو jsc:add_variables.js.

      Error Deploying Revision 1 to test
        Invalid resource url format. Resource url is jsc:add_variables.js.
    
  2. افحص جميع سياسات JavaScript في خادم وكيل واجهة برمجة التطبيقات المحدّد الذي حدث فيه الخطأ. إذا كانت هناك أي سياسة JavaScript يتطابق فيها عنوان URL الخاص بالمرجع المحدّد في العنصر <ResourceURL> أو <IncludeURL> مع الإدخال غير الصالح الذي تم تحديده في الخطوة 1 أعلاه، سيكون ذلك هو سبب الخطأ.

    على سبيل المثال، تحدّد السياسة التالية عنوان URL للمورد على أنّه jsc:add_variables.js، وهو ما يتطابق مع ما ورد في رسالة الخطأ:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
        <DisplayName>js-TotalVariable</DisplayName>
        <Properties/>
        <ResourceURL>jsc:add_variables.js</ResourceURL>
    </Javascript>
    

    بما أنّ عنوان URL الخاص بالمرجع تم تحديده على أنّه jsc:add_variables.js، وهو غير صالح، يتعذّر نشر خادم وكيل واجهة برمجة التطبيقات ويظهر الخطأ التالي:

    Invalid resource url format. Resource url is jsc:add_variables.js.
    

الدقة

تأكَّد من أنّ تنسيق عنوان URL الخاص بالمورد المحدّد في العنصر <ResourceURL> أو <IncludeURL> من سياسة JavaScript صالح. على سبيل المثال:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
    <DisplayName>js-TotalVariable</DisplayName>
    <Properties/>
    <ResourceURL>jsc://add_variables.js</ResourceURL>
</Javascript>

InvalidResourceUrlReference

رسالة الخطأ

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge، وتظهر رسالة الخطأ التالية:

Error Deploying Revision revision_number to environment
Invalid resource url ref invalid_reference in policy policy_name in org_name

مثال على رسالة الخطأ

Error Deploying Revision 8 to test
Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval

مثال على لقطة شاشة

السبب

إذا كان العنصران <ResourceURL> و<IncludeURL> يشيران إلى ملف JavaScript غير متوفّر، سيتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات.

إذا كنت بصدد نشر حزمة وكيل من جهازك المحلي، يجب تخزين ملفات مصدر JavaScript ضمن /apiproxy/resources/jsc. في هذه الحالة، تكون الملفات المصدر محصورة بنطاق خادم وكيل واجهة برمجة التطبيقات.

في واجهة مستخدم Edge، تظهر ملفات مصدر JavaScript ضِمن jsc في قسم "البرامج النصية" من جزء "المستكشف" في محرّر خادم وكيل واجهة برمجة التطبيقات. يمكنك أيضًا تخزين ملفات الموارد في مستودعات على مستوى المؤسسة والبيئة (لإتاحة رمز JavaScript لجميع الخوادم الوكيلة في مؤسسة أو بيئة، على سبيل المثال).

يحدث هذا الخطأ إذا تعذّر العثور على أي ملفات موارد محدّدة في السياسة في أي من النطاقات المتاحة (الخادم الوكيل أو البيئة أو المؤسسة).

التشخيص

  1. حدِّد سياسة JavaScript التي حدث فيها الخطأ والتي تحتوي على مرجع غير صالح لعنوان URL الخاص بالمرجع. يمكنك العثور على هذه المعلومات من رسالة الخطأ. على سبيل المثال، في الخطأ التالي، اسم السياسة هو js-TotalVariable ومرجع عنوان URL غير الصالح للمورد هو jsc://dependent_js.js.

    Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval
    
  2. تأكَّد من أنّ مرجع عنوان URL الخاص بالمورد المحدّد في سياسة JavaScript التي تعذّر تنفيذها يتطابق مع القيمة المحدّدة في رسالة الخطأ (الخطوة 1 أعلاه). على سبيل المثال، تحدّد السياسة التالية مرجع عنوان URL الخاص بالمرجع على أنّه jsc://dependent_js.js، وهو ما يتطابق مع ما ورد في رسالة الخطأ:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
      <DisplayName>js-TotalVariable</DisplayName>
      <Properties/>
      <ResourceURL>jsc://add_variables.js</ResourceURL>
      <IncludeURL>jsc://dependent_js.js</IncludeURL>
    </Javascript>
    
  3. تحقَّق مما إذا كان ملف المصدر المحدّد في الخطوة رقم 1 جزءًا من حزمة خادم وكيل واجهة برمجة التطبيقات المحدّدة، أو ما إذا كان متوفّرًا في نطاق المؤسسة أو البيئة.

    1. للتحقّق مما إذا كان الملف جزءًا من حزمة خادم وكيل لواجهة برمجة التطبيقات معيّنة، اتّبِع إحدى الخطوات التالية:
      1. في واجهة مستخدم Edge، تحقَّق مما إذا كان هذا الملف في قسم "النصوص البرمجية" لخادم وكيل واجهة برمجة التطبيقات.
      2. نزِّل حزمة خادم وكيل واجهة برمجة التطبيقات وابحث عمّا إذا كان الملف متوفّرًا.
    2. إذا لم يكن الملف جزءًا من حزمة خادم وكيل واجهة برمجة التطبيقات المحدّدة، فتحقَّق مما إذا كان متوفّرًا على مستوى المؤسسة أو البيئة. يمكنك استخدام Resource Files API لإجراء هذا التحقيق.

    إذا لم يكن الملف متوفّرًا على مستوى خادم وكيل واجهة برمجة التطبيقات أو المؤسسة أو البيئة، سيكون ذلك هو سبب الخطأ.

    في المثال الموضّح أعلاه، تذكَّر أنّ اسم ملف JavaScript غير الصالح هو dependent_js.js. في لقطة الشاشة أدناه، لاحظ أنّ الملف المحدّد كعنوان URL لمورد في السياسة لا يظهر في قسم "النصوص البرمجية". لذلك، لا يشكّل جزءًا من خادم وكيل لواجهة برمجة التطبيقات. إذا لم يكن الملف متاحًا أيضًا على مستوى المؤسسة أو البيئة، سيتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات وسيظهر الخطأ:

    Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval
    

الدقة

تأكَّد من أنّ ملفات JavaScript المحدّدة في العنصرَين <ResourceURL> و<IncludeURL> تشير إلى ملف صالح متوفّر على مستوى خادم وكيل واجهة برمجة التطبيقات أو المؤسسة أو البيئة.

لتصحيح مثال سياسة JavaScript الموضّح أعلاه، أضِف الملف dependent_js.js إلى حزمة خادم وكيل واجهة برمجة التطبيقات. في لقطة الشاشة أدناه، يمكنك ملاحظة أنّ ملفات JavaScript المحدّدة في العنصرَين <ResourceURL> و<IncludeURL> تظهر في قسم "البرامج النصية" في حزمة خادم وكيل واجهة برمجة التطبيقات.

WrongResourceType

رسالة الخطأ

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge، وتظهر رسالة الخطأ التالية:

Error Deploying Revision revision_number to environment
Resource JavaScript_file is the wrong type. It is invalid_type: but Javascript steps use type jsc:.

مثال على رسالة الخطأ

Error Deploying Revision 2 to test
Resource js_checkType.js is the wrong type. It is node: but Javascript steps use type jsc:.

مثال على لقطة شاشة

السبب

يحدث هذا الخطأ أثناء النشر إذا كان العنصران <ResourceURL> و<IncludeURL> في سياسة JavaScript يشيران إلى أي نوع من الموارد غير jsc (ملف JavaScript).

على سبيل المثال، إذا تم تعريف العنصر <IncludeURL> على النحو الموضّح أدناه، سيتعذّر نشر خادم وكيل واجهة برمجة التطبيقات:

<IncludeURL>node://javascript-dependency.js</IncludeURL>

ويرجع ذلك إلى أنّه يشير إلى نوع المورد node وهو غير صحيح.

التشخيص

  1. تحديد نوع المورد غير الصالح المستخدَم في "سياسة JavaScript" يمكنك العثور على هذه المعلومات من رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون نوع المورد غير الصالح هو node.

    Resource js_checkType.js is the wrong type. It is node: but Javascript steps use type jsc:.
    
  2. افحص جميع سياسات JavaScript في خادم وكيل واجهة برمجة التطبيقات المحدّد الذي حدث فيه الخطأ. إذا كانت هناك أي سياسة JavaScript يتطابق فيها المورد المحدّد في العنصر <ResourceURL> أو <IncludeURL> مع نوع المورد غير الصالح الذي تم تحديده في الخطوة 1 أعلاه، سيكون ذلك هو سبب الخطأ.

    على سبيل المثال، تحدّد السياسة التالية نوع المورد على أنّه node، وهو ما يتطابق مع ما ورد في رسالة الخطأ:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
        <DisplayName>js-TotalVariable</DisplayName>
        <Properties/>
        <ResourceURL>node://js_checkType.js</ResourceURL>
        <IncludeURL>jsc://javascript-dependency.js</IncludeURL>
    </Javascript>
    

    بما أنّ نوع المورد محدّد على أنّه node، وهو نوع غير صالح، سيتعذّر نشر خادم وكيل واجهة برمجة التطبيقات وسيظهر الخطأ التالي:

    Resource js_checkType.js is the wrong type. It is node: but Javascript steps use type jsc:.
    

الدقة

تأكَّد من أنّ العنصرَين <ResourceURL> و<IncludeURL> في سياسة JavaScript يشيران دائمًا إلى نوع المورد jsc.

لتصحيح المثال الموضّح أعلاه، عدِّل العنصر <ResourceURL> ليكون نوع المرجع jsc.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
    <DisplayName>js-TotalVariable</DisplayName>
    <Properties/>
    <ResourceURL>jsc://js_checkType.js</ResourceURL>
    <IncludeURL>jsc://javascript-dependency.js</IncludeURL>
</Javascript>

NoResourceURLOrSource

رسالة الخطأ

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge، وتظهر رسالة الخطأ التالية:

Error Saving Revision revision_number
Bundle is invalid. Errors:[Entity : Policy-policy_name, No ResourceURL or Source;].

مثال على رسالة الخطأ

Error Saving Revision 10
Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].

مثال على لقطة شاشة

السبب

يمكن أن يتعذّر نشر سياسة JavaScript مع ظهور هذا الخطأ في السيناريوهات التالية:

  1. إذا لم يتم تعريف العنصر <ResourceURL> أو إذا لم يتم تحديد عنوان URL الخاص بالمرجع ضمن هذا العنصر العنصر <ResourceURL> هو عنصر إلزامي.
  2. تم تحديد العنصر <IncludeURL>، ولكن لم يتم تحديد عنوان URL الخاص بالمرجع ضمن هذا العنصر. العنصر <IncludeURL> اختياري، ولكن في حال الإعلان عنه، يجب تحديد عنوان URL الخاص بالمرجع ضمن العنصر <IncludeURL>.

على سبيل المثال، إذا تم تعريف العنصر <IncludeURL> على النحو الموضّح أدناه، سيتعذّر نشر خادم وكيل واجهة برمجة التطبيقات:

<IncludeURL></IncludeURL>

التشخيص

  1. حدِّد سياسة JavaScript التي حدث فيها الخطأ. يمكنك العثور على هذه المعلومات من رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم السياسة هو Policy-js-example:

    Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].
    
  2. في ملف XML لسياسة JavaScript الذي تعذّر تحميله، عليك إجراء عمليات التحقّق التالية:

    1. يجب تعريف العنصر <ResourceURL> ويجب أن يحتوي على عنوان URL الخاص بالمرجع.
    2. في حال تم تعريف العنصر <IncludeURL>، يجب تحديد عنوان URL لمصدر ضمنه. إنّ تعريف العنصر <IncludeURL> هو أمر اختياري.

    إذا تعذّر إجراء أي من عمليات التحقّق المذكورة أعلاه، سيكون ذلك هو سبب الخطأ.

    المثال 1: لا تتضمّن السياسة التالية العنصر <ResourceURL>:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example">
        <DisplayName>js-example</DisplayName>
        <Properties/>
    </Javascript>
    

    بما أنّه لم يتم تعريف العنصر <ResourceURL>، يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات ويظهر الخطأ:

    Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].
    

    المثال 2: تتضمّن السياسة التالية عنصر <IncludeURL> فارغًا.

  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example">
      <DisplayName>js-example</DisplayName>
      <Properties/>
      <ResourceURL>jsc://check_var.js</ResourceURL>
      <IncludeURL></IncludeURL>
  </Javascript>

بما أنّ العنصر <IncludeURL> لا يتضمّن عنوان URL الخاص بالمرجع، سيتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات وسيظهر الخطأ التالي:

  Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].

الدقة

تأكَّد من توفّر ما يلي في سياسة JavaScript:

  1. يتم تعريف العنصر <ResourceURL> وتحديد عنوان URL الخاص بالمرجع ضمن هذا العنصر. العنصر <ResourceURL> هو عنصر إلزامي.
  2. في حال تم الإعلان عن العنصر <IncludeURL>، يجب تحديد عنوان URL الخاص بالملف المضمّن ضمن هذا العنصر. العنصر <IncludeURL> اختياري، ولكن في حال تم الإعلان عنه، يجب تحديد عنوان URL الخاص بالملف ضمن العنصر <IncludeURL>.

    لتصحيح المثال 1 الموضّح أعلاه، أدرِج العنصر <ResourceURL> مع ملف JavaScript صالح:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example">
        <DisplayName>js-example</DisplayName>
        <Properties/>
        <ResourceURL>jsc://check_var.js</ResourceURL>
    </Javascript>
    

    لتصحيح المثال 2 الموضّح أعلاه، أدرِج ملف JavaScript صالحًا في العنصر <IncludeURL>.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example">
        <DisplayName>js-example</DisplayName>
        <Properties/>
        <ResourceURL>jsc://check_var.js</ResourceURL>
        <IncludeURL>jsc://js_dependency.js</IncludeURL>
    </Javascript>