أكثر

OpenLayers: فشل في إنشاء قائمة Ext. التي تغلف دالة Openlayers.request.Get

OpenLayers: فشل في إنشاء قائمة Ext. التي تغلف دالة Openlayers.request.Get


أنا أستخدم Sencha Touch + OpenLayers لتطوير تطبيق تجريبي. تتمثل إحدى الميزات في الحصول على كتالوج بيانات المعالم في GeoServer. أريد استخدام Ext.List لعرض اسم طبقات المعالم. حاولت اتباع الرموز التالية:

App.AddFeatureLayerList = Ext.extend (Ext.List، {createStore: function () {Ext.regModel ('WFSLayers'، {الحقول: ['name'، 'title'، 'srs'، 'featureNS']})؛ var data = []؛ var request = OpenLayers.Request.GET ({url: root + '/ geoserver / ows؟ service = wfs & version = 1.0.0 & request = GetCapabilities' ، المعالج: function (response) {var XMLformat = new OpenLayers.Format .XML () ؛ var xml = XMLformat.read (response.responseText) ؛ var CAPformat = new OpenLayers.Format.WFSCapabilities () ؛ cap = CAPformat.read (xml) ؛ لـ (var i = 0 ؛ i {اسم}') ؛ this.grouped = صحيح ؛ this.listeners = {itemtap: function (dataview، index، item، e) {}}؛ App.AddFeatureLayerList.superclass.initComponent.call (هذا) ؛ }}) ؛ Ext.reg ('app_addFeatureLayerList'، App.AddFeatureLayerList) ؛

ومع ذلك ، تلقيت خطأ:

تتطلب DataView التي لم يتم ضبطها تحديد تكوينات tpl و store و itemSelector.

ثم إذا قمت بإزالة الرموز:

جديد Ext.data.Store ({model: 'WFSLayers'، Sorters: 'title'، data: data، getGroupString: function (record) {return record.get ('title') [0]؛}،})؛

ووضعها لتمريرها إلىهذا المتجربعد الاتصال "this.createStore ()"، سأحصل على قائمة فارغة. ومع ذلك ، تتبعت مجموعةالبياناتواتضح أنه يحتوي على بيانات ، لكن المخزن فارغ.

شيء مضحك آخر هو إذا وضعت "createStore ()"كوظيفة عامة ، واستدعائها في تكوينات القائمة ، على سبيل المثال ،"المتجر: createStore ()، سوف أتلقى رسالة خطأ تفيد بأن عنوان IP الخاص بي غير مسموح له بالوصول إلى عنوان URL المستهدف ، وهذا غير صحيح لأنني أستخدم وكيلًا وأضفت طبقات WFS أخرى من هذا الخادم بالفعل ... لا يمكنني العثور على ما هو الخطأ فيه . هل يمكن لأي شخص مساعدتي في إعطائي بعض التلميحات؟

نقدر كل مساعدة !!!


في وظيفة initComponent الخاصة بك ، تقوم بإرسال مكالمة إلى Geoserver لاستعادة قدرات GetCapabilities. ومع ذلك ، فإن هذا الاستدعاء غير متزامن - يمكن تنفيذ التعليمات البرمجية الموجودة في المعالج الذي يعيد المتجر لفترة طويلة بعد عودة وظيفة this.createStore ().

في الواقع ، لا تقوم وظيفة createStore كما كتبتها بإرجاع المتجر نفسه - إنها وظيفة المعالج في كائن الطلب الذي يعيد المخزن.

ما يمكنك محاولة تشخيص المشكلة هو تشفير بعض البيانات لملء متجر وإعادتها إلى باقي الكود للتأكد من أن هذه هي المشكلة.

إذا كانت هذه هي المشكلة الوحيدة ، فسيتعين عليك إعادة التفكير في التعليمات البرمجية الخاصة بك. المعالج الذي يتم تنفيذه عند إرجاع XML GetCapabilities يجب أن يعتني بإعداد المخزن.

لذلك لديك حاليًا فئة قائمة موسعة ، والتي تقوم بتشغيل ما يلي عند إنشاء قائمة جديدة:

  1. يرسل طلبًا إلى Geoserver
  2. عندما يُرجع Geoserver XML ، فإنه ينشئ متجرًا لملء القائمة.

للتأكد من أن القائمة تستخدم متجرًا مليئًا بالسكان ، سأفعل شيئًا مثل:

  1. قم بإنشاء الطلب في وظيفة Ext.onReady الخاصة بك (أو انقر فوق الزر ، أو عندما تريد عرض القائمة)
  2. في معالج الطلب ، أنشئ المخزن ، ثم أنشئ قائمة بالمخزن المأهول. يمكنك تقسيم هذا إلى وظائف منفصلة ، ولكن تأكد من إنشاء القائمة فقط بعد ملء متجرك.
  3. بمجرد أن يكون لديك قائمة ومخزن ، قم بعرضها للمستخدم.

لقد واجهت للتو نفس المشكلة. بعد تحليل سريع ، وجدت أن هذا الملف يسمح بالوصول عن بُعد إلى موقع الويب الخاص بك إلى طرف ثالث وهو أمر بالغ الخطورة. تم العثور على هذا في مواقع ووردبريس التي تستخدم ملحقات ووردبرس فارغة. يتم إنشاء هذا الملف من هذين الملفين المجمعين داخل ملحقات خالية:

تضمن هذه الملفات أنه في كل مرة يتم فيها الوصول إلى موقع Wordpress على الويب ، يتم إنشاء ملف باسم rms_unique_wp_mu_pl_fl_nm.php في دليل mu-plugins إذا لم يكن موجودًا بالفعل.

هذا هو محتوى كلا الملفين:

والكود المستخدم لتضمين وتنفيذ rms-script-ini.php هو:

يوصى بشدة أن تكون خائفًا إزالة أي ملغي البرنامج المساعد من موقع الويب الخاص بك و إجراء فحص الفيروسات.


PVMapper مصمم الموقع

PVMapper Site Designer هو امتداد سطح المكتب لتطبيق PVMapper عبر الإنترنت. إنها أداة مجانية لتصميم وتحليل موقع معين وتقييم كمية الطاقة التي يمكن إنتاجها من هذا الموقع. يمكن استخدامه لتصميم الأنظمة الكهروضوئية (PV) على نطاق واسع بناءً على العديد من العوامل لتعكس خصائص المناظر الطبيعية الخاصة بالمنطقة بما في ذلك موقع الموقع والمنطقة الزمنية ومسار الشمس وبيانات محطة الطقس القريبة وزاوية الإمالة والسمت للألواح الشمسية والأشياء القريبة مثل الأشجار والمباني التي قد تعيق أو تلقي بظلالها على الألواح.

يقيم الظل الشمسي

يأخذ في الاعتبار الأشياء القريبة مثل الأشجار والمباني التي يمكن أن تقلل من كفاءة تصميم التخطيط.

إنتاج الطاقة

يستخدم نموذج مستشار النظام الخاص بـ NREL مع البيانات من محطات الطقس القريبة لحساب إنتاج الطاقة المحتمل للتخطيط.

متوافق مع نظم المعلومات الجغرافية

يمكن للمستخدمين بسهولة استيراد ملفات أشكال Esri لتضمين البيانات مثل محطات الطقس والمباني و DEM وما إلى ذلك.

التصور ثلاثي الأبعاد

يستخدم PVMSD بيانات موقع اللوحة لإنشاء مصفوفة لوحة PV كملف شكل مضلع وملف Collada يمكن استخدامه في SketchUp لتصور الشبكة ثلاثية الأبعاد.


تحرير 5 مايو 2021: مع إصدار XQuartz 2.8.0 ، يبدو أن مسار التكوين قد تغير من org.macosforge.xquartz.X11 إلى org.xquartz.X11. نفس التعليمات لا تزال سارية ، فقط استبدل المسار القديم بالمسار الجديد إذا كنت من المستقبل.

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

يحدث ذلك غالبًا عند إعادة توجيه X (عبر SSH و Docker وما إلى ذلك). تحتاج إلى السماح برسم OpenGL (iglx) ، والذي يتم تعطيله افتراضيًا على الكثير من خوادم X11 (مثل XQuarts أو خادم X11 القياسي على Ubuntu). فيما يلي بعض السجلات الأخرى التي قد تراها مرتبطة بهذا.

الإصلاح هو تمكين iglx. أولاً ، تحقق مما إذا كان لديك إصدار XQuarts يدعم هذه الميزة. آخر مرة حتى كتابة هذه السطور ، ولكن تم إهمالها ، لذلك قد لا يحدث في المستقبل. إصداري هو XQuartz 2.7.11 (xorg-server 1.18.4).

بعد ذلك ، قم بتشغيل الإعدادات الافتراضية ، اكتب org.macosforge.xquartz.X11 enable_iglx -bool true. يجب أن تكون قادرًا على تأكيد أنه تم ضبطه عن طريق التشغيل

أخيرًا ، أعد تشغيل xquartz (أو جهازك بالكامل). قد تحتاج إلى إعادة تشغيل xhost + لتعطيل الأمان ومصادقة الأمبير (غرامة للأجهزة المعزولة ، وخطيرة على الإنترنت المكشوفة). يجب أن تكون الآن قادرًا على تشغيل تطبيقات واجهة المستخدم الرسومية كما هو متوقع. أتمنى أن يساعدك هذا!


سيتم أيضا خلق ملف فارغ. إذا كان الملف موجودًا بالفعل ، فسيكون كذلك مقطوع (أفرغ). للاحتفاظ بمحتويات الملف ، استخدم & gt & gt للإلحاق كما في:

حتى إذا كان الملف موجودًا ، فلن يتم المساس بالمحتويات.

يحرر: إذا لم يكن لديك أي محتوى تكتبه ، فهذا أسرع:

ملحوظة. : هو الأمر هنا. إنه ليس جزءًا من الموجه.

الطريقة الدقيقة هناك أيضًا طريقة أخرى

الفرق هو file1.ext سيكون صفر بايت و file2.ext سيكون بايت واحد. يمكنك التحقق من هذا عن طريق

باستخدام محرر vim ، يمكنك أيضًا إنشاء ملف فارغ.

ينشئ ملفًا فارغًا ، إذا كان إصدار echo الخاص بك يدعم المفتاح -n.

بشكل عام ، يتضمن إنشاء أي ملف 1 عادي على Linux استدعاءات نظام open (2) و openat (2) و Creat (2) (وتحديدًا باستخدام علامات O_CREAT). هذا يعني أنه إذا اتصلت بأي أداة مساعدة لسطر الأوامر تقوم باستدعاءات النظام هذه ، فيمكنك إنشاء ملف فارغ جديد.

يتم إنشاء اسم الملف الجديد الأكثر شيوعًا بشيء مثل هذا:

  • المس / tmp / new_file
  • : & gt / tmp / new_file
  • صحيح & gt / tmp / new_file
  • & gt / tmp / new_file (bash shell فقط)

اللمس هو أداة مساعدة قائمة بذاتها. الغرض الأصلي منه هو تحديث وقت الوصول والتعديل للملف ، ولكن إذا لم يكن الملف موجودًا - فسيتم إنشاؤه. لاحظ أيضًا أن اسم الملف - يتم التعامل معه بشكل خاص ، لذلك إذا كنت تريد إنشاء ملف يحمل اسمًا حرفيًا - ، فسيتعين عليك إرفاقه بعلامات اقتباس مفردة أو مزدوجة.

على النقيض من ذلك ، فإن & gt هو عامل إعادة توجيه shell لتيار stdout. يستدعي عامل التشغيل & gt استدعاء نظام openat () على وجه التحديد باستخدام علامات O_WRONLY | O_CREAT | O_TRUNC. هذا يعني ، إذا كان اسم الملف غير موجود - سيتم إنشاؤه ، وإذا كان موجودًا - فسيتم اقتطاع البيانات (وبالتالي تختفي ، لذا يجب استخدام & gt بعناية). في معظم الأصداف في الوقت الحاضر ، يكون true أو: هو مضمّن ، لذا فإن القيام بما يلي: & gt / tmp / new_file سيكون أكثر كفاءة ، على الرغم من أنه هامشي مقارنة بـ touch / tmp / new_file.

لكن بالطبع لا يتوقف عند هذا الحد. كما ذكرنا ، فإن أي شيء يمكنه تنفيذ openat () و openat () و إنشاء () syscalls سيُنشئ ملفًا. ومن ثم يمكننا القيام بما يلي:

  • صحيح | dd من = / tmp / newfile
  • اقتطاع - الحجم 0 /tmp/new_filename.txt
  • cp / dev / null / tmp / null_file
  • صحيح | tee / tmp / some_other_file
  • mktemp أو tempfile (لإنشاء ملفات مؤقتة لا يلزم وجودها بين عمليات إعادة التشغيل!)

بالطبع ، لا تُنشئ جميع الأدوات المساعدة المذكورة أعلاه ملفات بشكل حصري. لكنهم يؤدون syscall الضروري وهذا يسمح لنا بتكييف الأوامر.

بالطبع ، على مستوى البرمجة أو البرمجة النصية ، قد نرغب في إنشاء ملف أيضًا ، خاصةً لأغراض الكفاءة (لأن استدعاء أوامر خارجية مثل اللمس من نص برل أو بايثون سيتطلب موارد إضافية).

يمكننا أن نجعلها أقصر باستخدام هذا:

1 تتطلب الأنواع الأخرى من الملفات ، مثل الروابط الثابتة / اللينة ، أو الأجهزة الخاصة أو المحظورة ، أو الدليل ، أو الأنابيب المسماة ، أو المقابس عمليات تسجيل مختلفة تمامًا.


على الأرجح ، لا يعمل rsync في نهاية الوجهة كمستخدم لديه إذن chmod لتلك الملفات (والتي يجب أن تكون إما مالك الملف أو الجذر).

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

يمكنك تجاهل التحذيرات عن طريق تحديد الوسائط الإضافية لـ rsync إلى - no-perms و -O (--omit-dir-times) لتجنب محاولة ضبط الأذونات وأوقات التعديل على الملفات / الدلائل. هذا يجب أن يحل الأخطاء. بدلا من ذلك تجنب استخدام -a.

كما ذكرنا سابقًا ، تحدث المشكلة عندما لا يكون لديك إذن لتغيير أذونات الملف على وجهة rsync. ومع ذلك ، يمكنك تجنب رسالة الخطأ هذه باستخدام الوسيطتين الإضافيتين - no-o و- no-g.

خلفية

عادةً مع rsync سترى تحذيرات إذا:

  • لا يمتلك خادم rsync في الطرف الآخر أذونات لتنفيذ إجراء مرتبط بما يلي:
    • صاحب
    • مجموعة
    • أذونات
    • مرات الوصول

    ستظهر هذه المشكلات من خلال عميل rsync الذي يحاول الاتصال بخادم rsync الذي يظهر كرسائل مثل هذه عند محاولة نسخ الملفات / الدلائل إلى جهاز استقبال:

    rsync: chown "/ mnt / music / The Fleetwood Mac / Trilogy - 2006 / Trilogy - 2006 - CD 3 / 311_fleetwood_mac _-_ eyes_of_the_world.mp3" فشلت: العملية غير مسموح بها (1)

    rsync: chgrp "/ mnt / music / The Fleetwood Mac Discography by Sketch / Trilogy - 2006 / Trilogy - 2006 - CD 3 / 311_fleetwood_mac _-_ eyes_of_the_world.mp3" فشلت: العملية غير مسموح بها (1)

    rsync: فشل في تعيين الأذونات على "/ mnt / music / The Fleetwood Mac Discography by Sketch / Trilogy - 2006 / Trilogy - 2006 - CD 3": العملية غير مسموح بها (1)

    في الحالات التي يتعذر فيها على الجانب المتلقي إجراء هذه العمليات ، يمكنك توجيه تعليمات لـ rsync لتخطي محاولة القيام بها ، مع إدراك أن الوجهة لن تكون متطابقة تمامًا مع البيانات الوصفية للمرسل حول الملفات. سيؤدي هذا إلى إنشاء نسخ متطابقة من الأجزاء الثنائية للملفات والدلائل.

    لإخبار rsync بعدم القلق بشأن البيانات الوصفية ، يمكنك استخدام الخيار - no-OPTION لتعطيل أي من هذه الخيارات الضمنية.

    صفحة رجل rsync

    لذلك في حالتنا نريد استخدام شيء مثل هذا لتعطيل الأشياء:

    مثال

    لبديل

    سبب آخر لحدوث ذلك هو استخدام المفتاح -a. - تشمل عائلة المفاتيح:

    بدلاً من استخدام -a ، يمكنك استخدام المفاتيح الفردية والتخلي عن الاضطرار إلى استخدام - no-OPTION.

    هذه هي الخيارات الفردية المضمنة مع -a


    أخطاء

    يوضح لك هذا القسم كيفية التعامل مع أنواع مختلفة من استجابات الأخطاء التي تنشئها واجهة برمجة تطبيقات إدارة الممتلكات. بالإضافة إلى استجابات خطأ HTTP القياسية ، فإنه يناقش كيفية حل الأخطاء التي تم الإبلاغ عنها في أشجار القواعد قبل تنشيط خاصية ، وكيفية التعامل مع الأخطاء من المتغيرات كما يتم تفسيرها على الحافة بمجرد تنشيط خاصية. يسرد هذا القسم أيضًا نطاق رموز استجابة HTTP ، ويوفر تفاصيل عن العديد من رسائل الخطأ الخاصة بواجهة برمجة التطبيقات جنبًا إلى جنب مع أسبابها المحتملة ، ويبلغ عن أي مشكلات معروفة متبقية في إصدار API الحالي.

    مشاكل معروفة

    قد تؤثر هذه المشكلات المعروفة على قدرتك على استخدام واجهة برمجة تطبيقات إدارة الممتلكات:

    قد تنتهي مهلة أشجار القواعد الكبيرة التي تستغرق أكثر من 5 دقائق للتحقق منها مع ظهور خطأ 500. كحل بديل ، حاول إنشاء تكوينات أصغر تستهدف مجموعات أصغر من أسماء المضيف. كلما قل المنطق القابل للتنفيذ الذي يحتويه كل تكوين ، قل الوقت الذي يستغرقه التحقق من صحته.

    إذا قمت بربط بيانات اعتماد PAPI بمستخدم لديه حق الوصول إلى أكثر من حساب بوابة إلكترونية ، فإن محاولات إنشاء أسماء مضيفين على الحافة ينتج عنها أخطاء في التخويل.

    إذا قمت بإنشاء خاصية بمجموعة فارغة من أسماء المضيفين ، فإن تشغيل إصدار خاصية القائمة لأسماء المضيف ينتج عنه خطأ 500.

    بعض تكوينات وسائط البث غير مدعومة. يدعم PAPI كافة الخصائص التي يدعمها مدير الممتلكات.

    قبل استخدام PAPI ، قد تحتاج إلى ترقية أي خصائص تم إنشاؤها باستخدام مدير التكوين الأقدم. تقوم بترقية الخصائص داخل مركز التحكم.

    مشاكل JSON

    تستجيب عمليات واجهة برمجة التطبيقات بشكل روتيني مع رموز الفشل لمجموعة واسعة من المشكلات المتعلقة بسلامة البيانات التي تحاول تعديلها ، بدءًا من JSON المشوه ، وحتى الحقول المفقودة ، وحتى ملخصات etag غير المتطابقة. تقوم API بإرجاع استجابات الخطأ هذه بتنسيق JSON Problem القياسي.

    يقوم PAPI أيضًا بتسلسل المشكلات في بعض استجابات النجاح. يسمح لك PAPI بالنجاح في حفظ قاعدة الملكية أو بيانات اسم المضيف في حالة قد تفشل لاحقًا عند التنشيط ، ولكنها تتضمن بشكل افتراضي إرشادات حول كل مشكلة في الاستجابة. يظهر نوعان من المشاكل في استجابات النجاح:

    تلاحظ مصفوفة أخطاء أي مشكلة قد تمنع التنشيط. تحتاج إلى إصلاح هذه قبل تفعيل الخاصية.

    تلاحظ مصفوفة التحذيرات مشكلات أقل خطورة. يمكنك إما تعديل البيانات استجابةً لذلك ، أو الإقرار بمجموعة التحذيرات عند تنشيط الخاصية لاحقًا.

    على سبيل المثال ، عندما تحاول وضع شجرة قواعد تفتقد & # 8217s لسلوكيات الأصل و cpCode المطلوبة ، فإن استجابة 200 تحددها على أنها أخطاء:

    على الرغم من أنه يمكنك حفظ شجرة القواعد ، يمكنك & # 8217t تنشيط الخاصية حتى تضيف السلوكيات المفقودة.

    يتيح لك PAPI أيضًا خيار تخطي اختبارات التحقق الطويلة التي قد تؤدي إلى حدوث هذه الأخطاء والتحذيرات. أنت & # 8217d لا تزال بحاجة إلى معالجة المشاكل قبل التنشيط ، ولكن هذا الخيار يسمح لك بتعديل وحفظ البيانات بسرعة أكبر كمسألة روتينية طوال دورة التطوير الخاصة بك. راجع التحقق السريع من الصحة والتفعيل والاحتياطي لمزيد من المعلومات.

    تحذيرات شجرة القاعدة

    قد تُصدر API مجموعة كبيرة من أخطاء التحقق استنادًا إلى محتوى أشجار القواعد ، وكثير منها مُفصَّل في الأقسام اللاحقة. تنفرد PAPI ببعض سيناريوهات الخطأ غير المعتادة:

    كما تمت مناقشته في قسم الموارد ، يمكنك تجميد واجهة برمجة التطبيقات لاستخدام مجموعة محددة من إصدارات السلوك والمعايير. إذا قمت بدلاً من ذلك بتحديد تنسيق القاعدة الذي يستخدم أحدث الإصدارات ، فسيتم تحديث السلوكيات والمعايير بصمت ، وقد ينتج عن ذلك أخطاء إذا تغيرت متطلبات التحقق الخاصة بها. قد تظل أخطاء التحقق الأخرى حتى عند التحديث بشكل صحيح من إصدار تنسيق قاعدة إلى آخر.

    كما تمت مناقشته في قسم الميزات المتقدمة والمقفلة ، يتم تأمين بعض السلوكيات والمعايير و يقرأ فقط، ولا يمكن تعديلها إلا بمساعدة Akamai Professional Services. تحصل على خطأ إذا حاولت تعديلها أو نقلها إلى مكان آخر داخل شجرة القواعد.

    كما تمت مناقشته في قسم أشجار القاعدة وتم تفصيله في مرجع كتالوج ميزات PAPI ، قد تكون بعض الخيارات مطلوبة اعتمادًا على قيم الآخرين. من الأسهل بكثير حذف القيم الضرورية في واجهة برمجة التطبيقات عن طريق الخطأ مقارنة بواجهة مركز التحكم.

    قد تشير بعض الأخطاء إلى كائنات المخطط ، والتي يمكنك فحصها لتحديد دعم كل منتج & # 8217s للسلوكيات والمعايير. يسردون أيضًا المجموعة الكاملة من الخيارات لكل منها ، جنبًا إلى جنب مع أنواع البيانات المتوقعة. ومع ذلك ، لا تمثل المخططات & # 8217t التبعيات بين الخيارات.

    بصرف النظر عن الأخطاء ، يقوم PAPI في كثير من الأحيان بإرجاع مجموعة من التحذيرات بعد التحقق من مجموعة السلوكيات والمعايير المختارة للتناقضات المنطقية التي يمكن تحديدها. في ما يلي تحذير نموذجي ، يكون ErrorLocation هو جزء من عنوان URL يمكن تفسيره على أنه تعبير JSON Pointer لمساعدتك في تحديد موقع المشكلة داخل شجرة JSON التي أرسلتها:

    لا يمكن أن تعمل السلوكيات مثل tieredDistribution و prefreshCache إلا على المحتوى المخزن مؤقتًا على خوادم الحافة ، لذلك يحدد التحذير عندما لا يتم تمكين سلوك التخزين المؤقت & # 8217t. وكمثال آخر ، يسمح سلوك cacheKeyIgnoreCase بطلبات الملفات ومعلمات الاستعلام ذات الأحرف الكبيرة والصغيرة المختلطة لحل نفس مفتاح ذاكرة التخزين المؤقت. إذا قمت بإقران هذا السلوك بمعايير لا تحدد & # 8217t أيضًا تطابقًا غير حساس لحالة الأحرف ، فإن التحذير ينبهك إلى عدم تطبيق سلوكيات مختلفة على نفس الكائن المخزن مؤقتًا استنادًا إلى الاختلافات العشوائية في الحالة بين الطلبات الواردة.

    غالبًا ما تحدد هذه التحذيرات المشكلات المنطقية الواضحة ، مثل مجموعات المعايير الحصرية عند تعيين المعايير "يجب" على الجميع ، أو المعايير المتداخلة التي لا يمكن تنفيذها مطلقًا لأنها & # 8217 حصرية منطقيًا مع قواعد أسلافها & # 8217 معايير. ومع ذلك ، كما هو الحال في جميع بيئات البرمجة ، لا توجد آلية تحقق يمكنها تحديد جميع الأخطاء المحتملة ، لذلك عليك أن تخطو بعناية من خلال التعليمات البرمجية. يمكنك أيضًا طلب نص / xml بدلاً من application / json من واجهة إصدارات الخاصية إذا كنت & # 8217d بدلاً من ذلك تنظر في كيفية ترجمة مجموعة من القواعد وأسماء المضيفين لإصدار & # 8217s إلى بيانات Akamai الوصفية التي يتم توزيعها في النهاية & # 8217s على خوادم الحافة. اتصل بممثل Akamai Professional Services الذي تتعامل معه إذا كنت بحاجة إلى مساعدة في فهم بنية البيانات الوصفية.

    ملاحظة: كما هو الحال في تطبيق Property Manager Control Center ، تطلب منك واجهة برمجة التطبيقات (API) الإقرار بكل تحذير قبل تنشيط خاصية. انتبه جيدًا لأية تحذيرات قبل تنشيط إصدار خاصية ، وإلا فقد يواجه موقعك مشكلات خطيرة.

    متغيرات التصحيح

    يتم اكتشاف معظم المشكلات المتعلقة بأشجار القواعد قبل التنشيط ، ولكن غالبًا ما تحدث مشكلات المتغيرات فقط في وقت التشغيل ، وبالتالي يكون تصحيحها أكثر صعوبة.

    الطريقة الأكثر فائدة لتصحيح أخطاء المتغيرات هي عرض قيمها في رؤوس الاستجابة المتعلقة بالجلسة لمحتوى الاختبار على الشبكة المرحلية:

    كما تمت مناقشته في القسم الخاص بالمتغيرات ، يتميز كل متغير محدد في القاعدة الافتراضية بخيارين مخفيين وحساسين ، وتحتاج أولاً إلى تعطيل كليهما لأي متغيرات تريد فحصها.

    قم بتنشيط الخاصية التي تتضمن المتغيرات على الشبكة المرحلية.

    بمجرد تنشيط المحتوى ، أرسل عنوان Pragma: akamai-x-get-extracted-values ​​في طلبات الاختبار الخاصة بك. تتضمن الاستجابة رؤوس X-Akamai-Session-Info التي تعكس قيمة كل متغير معلن.

    بعد تصحيح الأخطاء ، أعد تمكين الخيارات المخفية والحساسة إذا لزم الأمر قبل التنشيط في شبكة الإنتاج.

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

    لا يسمح لك هذا الأسلوب & # 8217t بالإبلاغ عن الخطأ المحدد ، ولكن لا يزال بإمكانك تصميم سلوكيات مناسبة ، خاصة للاستخدام في الاختبار على الشبكة المرحلية. على سبيل المثال ، هذا يرفض الطلب ويرد بالخطأ المناسب:

    لمزيد من التفاصيل حول كيفية عمل المتغيرات داخل أشجار القواعد ، راجع تعيين متغير أو متغيرات. في لوحة التحكم.

    مخطط طلب JSON

    تشير الأخطاء المتعلقة بالبيانات المشوهة عادةً مخطط الكائنات التي تصف أي مورد تحاول التفاعل معه & # 8217. يوفر PAPI واجهة مخطط طلب منفصلة لهذه الكائنات التي تشير إلى ملفات مخطط معينة. على سبيل المثال ، يصف هذا المخطط بنية البيانات المتوقعة عند إنشاء اسم مضيف حافة جديد:

    رموز نجاح HTTP

    تنتج واجهة برمجة التطبيقات رموز نجاح HTTP هذه:

    شفرة وصف
    200 الطلب ناجح.
    201 تم إنشاء العنصر الجديد بنجاح.
    204 تمت إزالة العنصر بنجاح.
    302 العنصر المطلوب متاح على الرابط المقدم.

    توفر الجداول أدناه تفاصيل عن العديد من الأخطاء التي قد تواجهها ، إلى جانب رموز حالة HTTP التي يشاركونها. لاحظ أن هذا هو ليس قائمة شاملة ، وتستبعد المشاكل المتعلقة بأشجار القواعد. يتوافق كل كائن من عناصر المشكلة & # 8217s مع العناصر المدرجة في الجداول أدناه. تتبع أنواع المشكلات التي تم الإبلاغ عنها في استجابات خطأ HTTP نمط عنوان URL هذا ، حيث قد يتضمن معرف النوع حرفًا مائلًا إضافيًا:

    يتم تكوين عناوين URL للعديد من أنواع المشكلات المضمنة في شجرة القواعد وكائنات استجابة اسم مضيف الخاصية باستخدام مكون تحقق إضافي:

    أخطاء HTTP

    شفرة يكتب مشكلة
    400 http / طلب غير صالح لا يمكن للنظام فهم طلبك ، ربما بسبب البيانات المشوهة.
    401 http / غير مصرح به الطلب يتطلب المصادقة.
    403 http / ممنوع لا يسمح رمز التفويض & # 8217t بالوصول إلى المورد. على سبيل المثال ، قد يحدد الطلب منتجات غير مصرح بها في عقد.
    404 http / غير موجود تعذر تحديد موقع المورد المطلوب.
    405 http / طريقة غير مسموح بها طريقة HTTP المحددة ليست & # 8217t مدعومة لهذا المورد.
    406 http / غير مقبول تقييد نوع المحتوى المحدد بواسطة عنوان Accept الخاص بك غير مدعوم & # 8217t.
    412 etag- الصراع لا يتطابق Etag الذي قدمته مع أحدث تعديل & # 8217t. تم تغيير البيانات منذ الوصول إليها في البداية. يتعلم أكثر.
    412 http / فشل الشرط المسبق الشروط المسبقة مثل If-Match أو If-Not-Match لم يتم استيفائها & # 8217t. تم تغيير البيانات منذ الوصول إليها في البداية. يتعلم أكثر.
    415 http / نوع الوسائط غير المدعوم تنسيق MIME المطلوب غير مسموح به & # 8217t.
    500 http / خطأ خادم داخلي واجهت المنصة خطأ غير معروف.
    501 http / لم يتم تنفيذه النظام الأساسي لا يدعم & # 8217t الوظائف المطلوبة.

    أخطاء البيانات

    شفرة يكتب مشكلة
    400 json-mapping-error تعذر التحقق من صحة الإدخال & # 8217t مقابل المخطط ، على الأرجح لأنه ليس & # 8217t نوع البيانات المتوقع.
    400 json-parse-error تعذر تحليل الإدخال & # 8217t كـ JSON. توفر استجابة المشكلة تفاصيل حول موقع خطأ التحليل.
    400 json-مخطط-غير صالح الإدخال الخاص بك لا & # 8217t يتحقق مقابل مخطط البيانات & # 8217s.
    400 حقل طلب جسم مفقود طلبك يفتقد إلى حقل نصي.
    400 المعلمة المطلوبة مفقودة يفتقد عنوان URL للطلب إلى معلمة مطلوبة ، والتي تم تفصيلها في استجابة المشكلة.
    400 البحث / حقول إضافية طلب الجسم يُسمح فقط بزوج مفتاح / قيمة واحد في طلب البحث. يتعلم أكثر.
    400 بحث / مفقود-طلب-جسم-حقل زوج المفتاح / القيمة المطلوب مفقود من الطلب. يتعلم أكثر.
    400 بحث / نص طلب مفقود مطلوب كائن نص الطلب للبحث. يتعلم أكثر.
    400 البحث / حقل طلب الجسم غير المعترف به لم يتم التعرف على عضو JSON في الطلب. يتعلم أكثر.

    أخطاء اسم مضيف الحافة

    شفرة يكتب مشكلة
    400 edgehostname / لاحقة سيئة اسم مضيف الحافة & # 8217s المجال المحدد Suffix غير & # 8217t مسموح به. يتعلم أكثر.
    400 edgehostname / غير متوفر اسم مضيف الحافة المحدد غير متاح & # 8217t.
    403 edgehostname / إنشاء ممنوع المنتج الذي قمت بتعيينه لاسم مضيف الحافة غير مضمن في العقد الخاص بك. يتعلم أكثر.
    429 تم تجاوز الحد. edgehostnames_per_contract لقد تجاوزت الحد الأقصى لعدد أسماء مضيفي الحافة لعقدك ، ويجب إلغاء تنشيط أحدها قبل المتابعة. اتصل بممثل Akamai للحصول على معلومات حول كيفية زيادة هذا الحد. يتعلم أكثر.
    500 edgehostname / إنشاء خطأ واجهت النظام الأساسي خطأ غير معروف عند محاولة إنشاء اسم مضيف الحافة.

    أخطاء اسم مضيف الخاصية

    شفرة يكتب مشكلة
    400 property-version-hostname / bad-cnameto تشير قيمة cnameTo إلى اسم مضيف حافة غير موجود & # 8217t.
    400 property-version-hostname / edgehostname-mismatch لقد قدمت كلاً من cnameTo و edgeHostnameId الذي يشير إلى أسماء مضيفين مختلفة. يتعلم أكثر.
    400 property-version-hostname / missing-cnameto-or-edgehostnameid تحتاج إلى تحديد إما cnameTo أو عضو edgeHostnameId. يتعلم أكثر.
    501 property-version-hostname / unsupported-cnametype يمكنك فقط تحديد اسم مضيف خاصية يكون نوع cname الخاص به هو EDGE_HOSTNAME. يتعلم أكثر.

    قد يتم إدراج مجموعة إضافية من الأخطاء ضمن كائنات اسم المضيف والتي تمنعك من تنشيط إصدار الخاصية:

    يكتب وصف
    قضية_السلوك_ العام. الأصل_ اسم_اسم المضيف_ التداخل لا يجوز للأصل تحديد نفس اسم المضيف كخاصية.
    أسماء المضيفين. bad_ hostname_ format اسم المضيف غير منسق بشكل صحيح & # 8217t.
    أسماء المضيفين. غير مسموح به_ akamaihd_ dot_ net_ hostname اسم مضيف AkamaiHD غير صالح. تحتوي بادئة a.akamaihd.net على 16 حرفًا أبجديًا رقميًا وشرطة سفلية بحد أقصى.
    أسماء المضيفين. disallowed_ akamaized_ dot_ net_ hostname لا يجوز لاسم المضيف تحديد akamaized.net.
    أسماء المضيفين. dualstack_ dissuasion_ تحذير تأكد من أن أصلك يمكنه التعامل مع حركة مرور IPv6.
    أسماء المضيفين. تكرار اسم المضيف تم إدراج اسم المضيف أكثر من مرة.
    أسماء المضيفين. فارغة _ أسماء المضيفين حدد اسم مضيف خاصية واحد على الأقل.
    أسماء المضيفين. فارغ_ سلسلة_ اسم المضيف لا يجوز أن يكون اسم المضيف فارغًا.
    أسماء المضيفين. محسّنة tls_ module_ standard_ cert يشتمل عقدك على وحدة TLS المحسّنة ، لكن اسم مضيف الخاصية يستخدم شهادة قياسية ، وهو انتهاك محتمل لـ PCI.
    أسماء المضيفين. اسم المضيف_ يحتوي على _ شرطة سفلية تجنب الأحرف السفلية في أسماء المضيف ، والتي قد تسبب مشاكل لبعض محللي DNS.
    أسماء المضيفين. اسم المضيف_تراكب_ الشهادات يتم تغطية بعض المجالات بواسطة كل من شهادات TLS المحسّنة و TLS القياسية. تجنب هذا ما لم تقم & # 8217re بترحيل الخصائص.
    أسماء المضيفين. غير آمن_وحدة_معيارية_شهادة يتطلب عقدك وحدة TLS القياسية لتحديد اسم مضيف بشهادة قياسية.
    أسماء المضيفين. خاصية غير آمنة_تأمين_ حافة_اسم المضيف اسم مضيف TLS edge المحسن غير متوافق مع ملكيتك غير الآمنة.
    أسماء المضيفين. max_ hostnames_ limit_ hard لقد وصلت إلى الحد الأقصى لعدد أسماء المضيف لكل موقع. قم بإعادة التكوين باستخدام سلوك InstantConfig ، أو قسّم أسماء المضيف عبر أكثر من خاصية واحدة ، أو استشر ممثل حسابك.
    أسماء المضيفين. max_ hostnames_ limit_ soft لقد تجاوزت العدد الأمثل لأسماء المضيف لكل موقع. قم بإعادة التكوين باستخدام سلوك InstantConfig ، أو قسّم أسماء المضيف عبر أكثر من خاصية واحدة ، أو استشر ممثل حسابك.
    أسماء المضيفين. mdc_ subdomain_ prefix تم تنسيق اسم المضيف بشكل غير صحيح ، ويمكن & # 8217t أن يبدأ بواصلة.
    أسماء المضيفين. مفقود_ اسم مضيف الحافة يحتاج اسم مضيف الخاصية إلى الإشارة إلى اسم مضيف حافة مطابق.
    أسماء المضيفين. غير محسّن tls_ module_ محسّن_شهادة يتطلب عقدك وحدة TLS المحسّنة لتحديد اسم مضيف بشهادة محسّنة.
    أسماء المضيفين. secure_ property_ insecure_ edge_ hostname اسم مضيف TLS edge القياسي غير متوافق مع ملكيتك الآمنة.
    أسماء المضيفين. secure_ property_ insecure_ edge_ hostname_ shared_ cert اسم مضيف الحافة غير متوافق مع ملكيتك الآمنة.
    أسماء المضيفين. الملكية_الخاصية_ بدون_الوحدات_ الآمنة يتطلب عقدك وحدات آمنة لنشر خاصية آمنة.
    أسماء المضيفين. مشترك_شهادة_المجال الفرعي_البادئة تم تنسيق اسم المضيف بشكل غير صحيح ، ويمكن & # 8217t أن يبدأ بواصلة.
    أسماء المضيفين. اسم مضيف_ edge_ غير معروف اسم مضيف الحافة غير متاح ، وقد لا يكون موجودًا.

    أخطاء الملكية

    شفرة يكتب مشكلة
    400 خاصية / اسم غير صالح يجوز لأسماء الخصائص استخدام الأحرف الأبجدية الرقمية والشرطات السفلية والشرطات والنقاط.
    400 الملكية / الاسم قيد الاستخدام يجب أن يكون كل اسم خاصية فريدًا.
    403 إصدار الملكية / خطأ القفل يمكن لممثلي Akamai فقط تغيير سلوكيات القراءة فقط والمعايير والقواعد الفرعية. يتعلم أكثر.
    403 إصدار الملكية / خطأ القفل / السلوكيات المتغيرة تمت إضافة سلوكيات القراءة فقط أو إزالتها أو تغييرها أو نقلها. يتعلم أكثر.
    403 إصدار الملكية / خطأ القفل / تغيير المعايير تمت إضافة معايير القراءة فقط أو إزالتها أو تغييرها أو نقلها. يتعلم أكثر.
    403 إصدار الملكية / خطأ القفل / تغيير بنية القاعدة تمت إضافة قواعد القراءة فقط أو إزالتها أو تغييرها أو نقلها. يتعلم أكثر.
    404 حذف الملكية / غير موجود الخاصية التي & # 8217re تحاول حذفها غير معروفة.
    404 إصدار الملكية / غير موجود إصدار الخاصية المطلوب غير متاح & # 8217t.
    429 تم تجاوز الحد .properties_per_contract لقد تجاوزت الحد الأقصى لعدد الخصائص لعقدك ، ويجب إلغاء تنشيط واحدة قبل المتابعة. اتصل بممثل Akamai للحصول على معلومات حول كيفية زيادة هذا الحد. يتعلم أكثر.
    500 إصدار الملكية / الخطأ تعذر على النظام الأساسي & # 8217t معالجة طلبك على إصدار الخاصية المحدد.

    أخطاء التنشيط

    شفرة يكتب مشكلة
    400 التنشيط / رسائل البريد الإلكتروني السيئة تتطلب عمليات التنشيط عنوان بريد إلكتروني واحدًا على الأقل محددًا في مجموعة notifyEmails. يتعلم أكثر.
    400 التنشيط / cachewipe-error-possible فشل التنشيط بسبب ترحيل اسم مضيف متأثر من حساب إلى آخر. توفر استجابة الخطأ تفاصيل حول متى يمكنك تنشيط الخاصية.
    400 التنشيط / مفقود الامتثال سجل المعلومات بالنسبة لممثلي Akamai الذين يقومون بتنشيط العملاء & # 8217 خصائص ، لا يمكن أن يكون nonComplianceReason بدون وجود وحدة صالحة تم اختبارها ، و peerReviewedBy ، و customerEmail. إما أن تقدم هذه القيم أو غيّر إلى سبب عدم امتثال مختلف.
    400 التنشيط / مفقود - سجل الامتثال يجب على ممثلي Akamai تقديم ملف سجل الامتثال قبل تفعيل خاصية على العملاء & # 8217 نيابة عن شبكة الإنتاج.
    400 التنشيط / المراجعة الذاتية لا يجوز لممثلي Akamai مراجعة عمليات التنشيط الخاصة بهم من خلال الأقران.
    400 التنشيط / التحذيرات غير معترف بها قبل المتابعة ، تحتاج إلى الإقرار بتحذيرات التنشيط المدرجة في استجابة المشكلة. يتعلم أكثر.
    403 إصدار الملكية / تم تفعيله بالفعل تم بالفعل تنشيط إصدار الخاصية المحدد. لإجراء تغييرات ، عليك أولاً إنشاء إصدار جديد من الملكية.
    404 التفعيل-الإلغاء / غير موجود التنشيط الذي تحاول & # 8217re إلغاءه غير معروف. يتعلم أكثر.
    422 التفعيل - الإلغاء / الحالة غير القابلة للمعالجة التنشيط ليس & # 8217t في حالة معلقة ، لذلك لا يمكن إلغاؤه & # 8217t. يتعلم أكثر.
    422 التفعيل / مفعل بالفعل تم تنشيط إصدار الخاصية بالفعل.
    422 التنشيط / لا يزال معلقًا إصدار الخاصية في انتظار التنشيط أو الإلغاء حاليًا. Wait until the operation is complete before starting another activation or deactivation.
    422 deactivation/not-active-in-production The property isn’t active on the production network, so you can’t deactivate it.
    422 deactivation/not-active-in-staging The property isn’t active on the staging network, so you can’t deactivate it.
    429 rate-limit-exceeded.activations You made too many activations in the amount of time allowed for your contract. The problem response provides details on when you can request more activations. يتعلم أكثر.
    500 activation-cancellation/cancel-error The platform couldn’t cancel the activation.
    500 activation/property_activation_failed The property activation failed.
    500 deactivation/property_deactivation_failed The property deactivation failed.

    Behavior and criteria errors

    These general errors relate to how you implement behaviors and criteria. They may be listed within Rule objects, and may prevent you from activating the property version:

    Type وصف
    compatible_ behaviors Rules include incompatible behaviors.
    condition_ no_ prompt_ upgrade You must upgrade to a new version of a criteria.
    deprecated The behavior has been deprecated.
    deprecated_ delete The behavior has been removed.
    deprecated_ readonly The behavior has been deprecated.
    duplicate_ feature Two behaviors of the same type are inappropriately placed within the same rule.
    feature_ no_ prompt_ upgrade A new version of the behavior is available, requiring an upgrade.
    feature_ upgrade_ required The property needs to be upgraded to replace a deprecated behavior.
    feature_ upgrade_ required_ readonly The property needs to be upgraded to replace a deprecated behavior, but this version can’t be edited. Create a new version if necessary.
    feature_ upgrade_ required_ viewonly A new version of the behavior is available, requiring an upgrade.
    generic_ behavior_ issue. kss_ not_ object A new version of the behavior is available that may require a different set of options.
    generic_ behavior_ issue. netstorage_ group_ not_ available A specified NetStorage account isn’t assigned to this property’s group.
    generic_ behavior_ issue. origin_ missing_ auxlist_ subtitle Your auxiliary certificate list specifies trusted items not reflected in what your origin behavior specifies. Confirm they’re accurate, and contact your account team if there’s a problem.
    generic_ behavior_ issue. origin_ missing_ trust_ ca_ certs_ from_ underride Your auxiliary certificate list specifies trusted items not reflected in what your origin behavior specifies. Confirm they’re accurate, and contact your account team if there’s a problem.
    generic_ behavior_ issue. origin_ missing_ trust_ certs_ from_ underride Your auxiliary certificate list specifies trusted items not reflected in what your origin behavior specifies. Confirm they’re accurate, and contact your account team if there’s a problem.
    generic_ behavior_ issue. origin_ valid_ cn_ missing_ values_ from_ underride_ error The origin behavior’s customValidCnValues option is missing CN/SAN match values from the auxiliary certificates list, so an ordinarily trusted certificate may not be trusted, and may result in a service outage.
    generic_ behavior_ issue. origin_ valid_ cn_ missing_ values_ from_ underride_ warning Confirm the origin behavior’s customValidCnValues option includes all CN/SAN values from the auxiliary certificates list.
    generic_ behavior_ issue. origin_ valid_ cn_ wildcard Values in the origin behavior’s customValidCnValues option may contain a star ( * ) character, but it’s interpreted literally.
    incompatible_ condition There’s an incompatibility with a specific criteria within the same rule.
    incompatible_ features There’s an incompatibility with a specific behavior within the same rule.
    incompatible_ stages. multiple There’s an incompatibility with a set of match criteria.
    incompatible_ stages. none There’s an incompatibility with a criteria in a parent rule.
    incompatible_ stages. واحد There’s an incompatibility with a criteria that appears in the same rule.
    required_ feature The default rule requires a behavior for the property to work.
    too_ many_ instances There are more instances of the specified behavior than allowed within a property.
    unknown_ condition The criteria isn’t supported, and you need to remove it before activating your property.
    unknown_ feature The behavior isn’t supported, and you need to remove it before activating your property.
    unknown_ feature_ attribute The behavior or criteria specifies an unknown option.

    Option value errors

    These errors may be listed within Rule objects, and may prevent you from activating the property version:

    Type وصف
    generic_ behavior_ issue. table_ option_ dup_ row The option specifies duplicated items.
    illegal_ option_ value_ format. features A behavior option’s data type is invalid.
    illegal_ option_ value_ format. matches A criteria option’s data type is invalid.
    insecure_ string_ value Option values may not specify %( text.
    non_ ascii The option specifies non-ASCII characters.
    option_ empty The option may not specify an empty value.
    option_ required. features The behavior is missing a required option.
    option_ required. matches The criteria is missing a required option.
    option_ required_ when. features The behavior is missing an option that’s required when another of its options is set to a specific value.
    option_ required_ when. matches The criteria is missing an option that’s required when another of its options is set to a specific value.

    Variable-related errors

    These errors may be listed within Rule objects, and may prevent you from activating the property version:

    Type وصف
    cannot_ validate The option can’t be validated because the value of its embedded variable can only be known at runtime.
    duplicate_ variable There’s more than one declared variable with the same name.
    empty_ variable_ name The name of the variable can’t be empty.
    internal_ variable_ in_ xml An advanced behavior specifies a variable that uses a reserved prefix.
    no_ variable_ support Your contract doesn’t support use of variables.
    syntax_ error_ in_ variable_ expression. illegal_ expression There’s a format error in a variable expression.
    syntax_ error_ in_ variable_ expression. illegal_ prefix There’s an illegal prefix in a variable expression.
    syntax_ error_ in_ variable_ expression. missing_ end_ token There’s a missing end token in a variable expression.
    unknown_ variable_ name An undeclared variable name was invoked.

    Metadata errors

    These errors may be listed within Rule objects, and may prevent you from activating the property version:

    Type وصف
    advanced_ override_ badly_ formatted_ xml The advanced override metadata features invalid XML.
    advanced_ override_ metadata_ enabled A rule specifies advanced metadata that potentially overrides other configurations specified in previous rules.
    badly_ formatted_ xml The behavior specifies invalid XML metadata.
    conflicting_ xml A behavior may not work as expected because advanced metadata may cause conflicts.

    Contract, account, and CP code errors

    Code Type Problem
    400 problem-extracting-contract-group Unable to calculate the contract or group assigned to a property, in which case you need to provide both contractId and groupId as query parameters.
    403 cpcode/invalid-services The current product doesn’t allow you to create CP codes.
    429 cpcode/rate-limit-reached You made too many CP code requests. Try again later.

    These errors may be listed within Rule or Hostname objects, and may prevent you from activating the property version:

    Type وصف
    advanced_ cpcodes_ outside_ account_ cp_ validated_ false The property invokes a CP code not provisioned under this account, and Origin Domains will be enforced. Contact your account representative for more information.
    advanced_ cpcodes_ outside_ account_ cp_ validated_ true The property invokes a CP code not provisioned under this account, and Origin Domain enforcement is disabled. Choose different CP codes, or move them into the current account.
    advanced_ cpcodes_ outside_ group_ or_ contract The property invokes a CP code that doesn’t belong to its group or contract.
    fixed_ limit_ exceeded A limit has been exceeded for the property.
    generic_ behavior_ issue. cpcode_ created_ recently The property invokes a recently created CP code that may not have fully propagated across the network. Activating the property version may disrupt your service.
    generic_ behavior_ issue. cpcode_ not_ available The specified CP code can’t be used with this property. If you just created the CP code, try again later.
    limit_ key. elements_ per_ property The property exceeds the number of allowed behaviors and criteria.
    limit_ key. max_ nested_ rules The property exceeds the number of nested rules allowed.
    not_ granted_ by_ modules_ on_ contract Your current contract doesn’t include a necessary module.
    not_ granted_ by_ modules_ on_ contract_ readonly Your current contract doesn’t include a necessary module.
    product_ behavior_ issue. cpcode_ incorrect_ product The CP code isn’t configured for use with this property’s product, which may affect how traffic is reported.
    product_ not_ on_ contract The product isn’t available on your contract. Add the product to the contract, or switch the property to a different product or contract.

    Criteria-specific errors

    These errors relate to how specific match criteria execute. They may be listed within Rule objects, and may prevent you from activating the property version.

    Type وصف
    cloudlets_ origin_ group For cloudletsOrigin criteria to work, there must be an allowCloudletsOrigins placed within a parent rule.
    general_ warning The criteria match may negatively affect performance. Test thoroughly on staging before deploying to production .
    incompatible_ origin_ type The cloudletsOrigin criteria only works when the origin behavior’s originType is set to CUSTOMER , NET_STORAGE , or APPLICATION_LOAD_BALANCER .
    incompatible_ with_ any_ conditions Specifying cloudletsOrigin along with any other criteria may make the origin inaccessible during a client request.
    need_ allowpatch To use requestMethod to match PATCH requests, you need to enable the allowPatch behavior.
    need_ allowpost To use requestMethod to match POST requests, you need to enable the allowPost behavior.
    need_ token_ verify_ behavior The tokenAuthorization match requires a verifyTokenAuthorization behavior in a parent rule with its failureResponse option disabled.
    need_ webdav To use requestMethod to match the specified method, you need to enable the webdav behavior.
    onlyonedge Criteria such as clientIp , clientIpVersion , userLocation , and userNetwork only match on edge servers, not when requests are forwarded to other Akamai servers. Contact your Akamai representative for guidance.
    options_ with_ webdav Requests that specify the OPTIONS method are always passed to the origin, so you can’t use requestMethod to match them.
    origin_ is_ required The cloudletsOrigin behavior must be paired with an origin behavior.
    purge_ warning The requestMethod match on AKAMAI_PURGE or AKAMAI_TRANSLATE values requires familiarity with Akamai’s edge content purge system. Test thoroughly on staging before deploying to production .
    requires_ spdy The bucket criteria can only be used along with the spdy behavior.
    should_ vary_ by_ user_ agent When modifying content based on the deviceCharacteristic , you should use the modifyOutgoingResponseHeader behavior to specify a Vary: User-Agent header.
    suggest_ audiencesegmentation Rather than randomly segmenting your traffic, consider applying audienceSegmentation to divide users into different groups based on a persistent cookie.
    upper_ lower_ warning The match specifies a lowerBound value that’s greater than the upperBound .
    warn_ use_ headers Requests that don’t include an X-Forwarded-For header don’t match. Consider disabling the useOnlyFirstXForwardedForIp option.

    Behavior-specific errors

    These errors relate to how specific behaviors execute. They may be listed within Rule objects, and may prevent you from activating the property version.


    شاهد الفيديو: OpenLayers Add Vector Layer to Web Map