التحقق من صحة المحتوى

ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات

يتحقق النهج validate-content من صحة حجم أو محتوى نص طلب أو استجابة مقابل مخطط واحد أو أكثر من مخططات مدعومة.

يعرض الجدول التالي تنسيقات المخطط وأنواع محتوى الطلب أو الاستجابة التي يدعمها النهج. قيم نوع المحتوى غير حساسة لحالة الأحرف.

Format أنواع المحتوى
JSON أمثلة: application/json
application/hal+json
XML مثال: application/xml
SOAP القيم المسموح بها: application/soap+xml لواجهات برمجة تطبيقات SOAP 1.2
text/xml لواجهات برمجة تطبيقات SOAP 1.1

إشعار

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

المحتوى الذي تم التحقق من صحته

يتحقق النهج من صحة المحتوى التالي في الطلب أو الاستجابة مقابل المخطط:

  • وجود جميع الخصائص المطلوبة.
  • وجود أو عدم وجود خصائص إضافية، إذا كان المخطط به مجموعة الحقل additionalProperties. قد يتم تجاوزها باستخدام السمة allow-additional-properties .
  • أنواع جميع الخصائص. إذا كان مخطط يحدد خاصية كعدد صحيح على سبيل المثال، فيجب أن يتضمن الطلب (أو الاستجابة) عددا صحيحا وليس نوعا آخر مثل سلسلة.
  • إذا تم تحديد تنسيق الخصائص في المخطط، على سبيل المثال، regex (إذا تم تحديد الكلمة الأساسية pattern) minimum للأعداد الصحيحة، وهكذا.

تلميح

للحصول على أمثلة لقيود نمط regex التي يمكن استخدامها في المخططات، راجع OWASP Validation Regex Repository.

إشعار

تعيين عناصر النهج والعناصر التابعة بالترتيب الوارد في بيان النهج. لمساعدتك في تكوين هذا النهج، يتيح المدخل محررًا موجهًا يستند إلى النموذج. تعلم كيفية إعداد نُهج APIM أو تعديلها.

نهج السياسة

<validate-content unspecified-content-type-action="ignore | prevent | detect" max-size="size in bytes" size-exceeded-action="ignore | prevent | detect" errors-variable-name="variable name">
    <content-type-map any-content-type-value="content type string" missing-content-type-value="content type string">
        <type from | when="content type string" to="content type string" />
    </content-type-map>
    <content type="content type string" validate-as="json | xml | soap" schema-id="schema id" schema-ref="#/local/reference/path" action="ignore | prevent | detect" allow-additional-properties="true | false" case-insensitive-property-names="true | false"/>
</validate-content>

سمات

السمة ‏‏الوصف مطلوبة افتراضي
unspecified-content-type-action الإجراء الذي سيتم تنفيذه للطلبات أو للاستجابات ذات نوع المحتوى غير المحدد في مخطط واجهة برمجة التطبيقات. يتم السماح بتعبيرات النهج. ‏‏نعم‬ غير متوفر
الحد الأقصى للحجم الحد الأقصى لطول نص الطلب أو الاستجابة بالبايت، الذي تم التحقق منه مقابل العنوان Content-Length. إذا تم ضغط نص الطلب أو الاستجابة، تكون هذه القيمة هي الطول الذي أُلغي ضبطها. الحد الأقصى للقيمة المسموح بها: 4 ميغابايت. يتم السماح بتعبيرات النهج. ‏‏نعم‬ غير متوفر
size-exceeded-action الإجراء الذي سيتم تنفيذه للطلبات أو للاستجابات التي يتجاوز نصها الحجم المحدد في max-size. يتم السماح بتعبيرات النهج. ‏‏نعم‬ غير متوفر
errors-variable-name اسم المتغير في context.Variables لتسجيل أخطاء التحقق من الصحة فيه. تعبيرات النهج غير مسموح بها. لا ‏‫غير متاح

عناصر

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

سمات خريطة نوع المحتوى

السمة ‏‏الوصف مطلوبة افتراضي
any-content-type-value نوع المحتوى المستخدم للتحقق من صحة نص الطلب أو الاستجابة بغض النظر عن نوع المحتوى الوارد. تعبيرات النهج غير مسموح بها. لا ‏‫غير متاح
missing-content-type-value نوع المحتوى المستخدم للتحقق من صحة نص الطلب أو الاستجابة عندما يكون نوع المحتوى الوارد مفقودا أو فارغا. تعبيرات النهج غير مسموح بها. لا ‏‫غير متاح

عناصر خريطة نوع المحتوى

Name ‏‏الوصف مطلوب
النوع أضف عنصرا واحدا أو أكثر من هذه العناصر لتعيين نوع محتوى وارد إلى نوع محتوى يستخدم للتحقق من صحة نص الطلب أو الاستجابة. استخدم from لتحديد نوع محتوى وارد معروف، أو استخدم when مع تعبير نهج لتحديد أي نوع محتوى وارد يطابق شرطا. يتجاوز التعيين في any-content-type-value وmissing-content-type-value، إذا تم تحديدهما. لا

سمات المحتوى

السمة ‏‏الوصف مطلوبة افتراضي
النوع نوع المحتوى للتحقق من صحة النص الأساسي له والتحقق منه مقابل رأس نوع المحتوى أو القيمة المعينة في content-type-mapping إذا تم تحديد ذلك. إذا كانت فارغة، فإنها تنطبق على كل نوع محتوى محدد في مخطط واجهة برمجة التطبيقات.

للتحقق من صحة طلبات SOAP والاستجابات (عين السمة validate-as إلى "soap")، وعيّن type على application/soap+xml لواجهات برمجة تطبيقات SOAP 1.2 أو text/xml لواجهات برمجة تطبيقات SOAP 1.1.
لا ‏‫غير متاح
validate-as محرك التحقق من الصحة الذي يتم استخدامه للتحقق من صحة نص طلب أو استجابة مع نوع محتوى بمطابقة type. القيم المدعومة: "json", "xml", "soap".

عند تحديد "soap"، يتم استخراج XML من الطلب أو الاستجابة من مغلف SOAP والتحقق من صحته مقابل مخطط XML.
‏‏نعم‬ غير متوفر
schema-id اسم مخطط موجود تمت إضافته إلى مثيل APIM للتحقق من صحة المحتوى. إذا لم يتم تحديده، فسيتم استخدام المخطط الافتراضي من تعريف واجهة برمجة التطبيقات. لا ‏‫غير متاح
schema-ref بالنسبة لمخطط JSON المحدد في schema-id، مرجع اختياري لمسار مرجع محلي صالح في مستند JSON. مثال:#/components/schemas/address. يجب أن ترجع السمة كائن JSON الذي يتعامل معه APIM كمخطط JSON صالح.

بالنسبة لمخطط XML، schema-ref غير مدعوم ويمكن استخدام أي عنصر لمخطط عالي المستوى كجذر لطلب XML أو حمولة الاستجابة. يعمل التحقق من الصحة على التأكد من التزام جميع العناصر بدءا من طلب XML أو جذر حمولة الاستجابة بمخطط XML المتوفر.
لا ‏‫غير متاح
السماح بالخصائص الإضافية منطقي. بالنسبة لمخطط JSON، يحدد ما إذا كان يجب تنفيذ تجاوز وقت التشغيل للقيمة additionalProperties المكونة في المخطط:
- true: السماح بخصائص إضافية في نص الطلب أو الاستجابة، حتى إذا تم تكوين حقل additionalProperties في مخطط JSON لعدم السماح بخصائص إضافية.
- false: عدم السماح بخصائص إضافية في نص الطلب أو الاستجابة، حتى إذا تم تكوين حقل additionalProperties في مخطط JSON للسماح بخصائص إضافية.

إذا لم يتم تحديد السمة، يتحقق النهج من صحة الخصائص الإضافية وفقاً لتكوين الحقل additionalProperties في المخطط.
لا ‏‫غير متاح
أسماء خصائص غير حساسة لحالة الأحرف منطقي. بالنسبة لمخطط JSON، يحدد ما إذا كان يجب مقارنة أسماء خصائص كائنات JSON بغض النظر عن الحالة.
- true: قارن حالة أسماء الخصائص بشكل غير حساس.
- false: قارن حالة أسماء الخصائص بشكل حساس.
لا true

الإجراءات

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

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

  • يتجاوز الإجراء المحدد في العنصر التابع للنهج الإجراء المحدد للعنصر الأصل.

الإجراءات المتوفرة:

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

الاستخدام

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

السجلات

يتم تسجيل تفاصيل حول أخطاء التحقق من الصحة أثناء تنفيذ النهج إلى المتغير في context.Variables المحدد في السمة errors-variable-name في العنصر الجذر للنهج. عند تكوينه في إجراء prevent، يحظر خطأ التحقق من الصحة المعالجة الإضافية للطلب أو للاستجابة إضافية ويتم أيضاً نشره في الخاصية context.LastError.

للتحقيق في الأخطاء، استخدم نهج تتبع لتسجيل الأخطاء من متغيرات السياق إلى Application Insights.

الآثار المترتبة على الأداء

قد تؤثر إضافة نهج التحقق من الصحة على معدل نقل واجهة برمجة التطبيقات. تنطبق المبادئ العامة التالية:

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

نوصي بإجراء اختبارات التحميل مع أحمال عملك المتوقعة لتقييم تأثير نُهج التحقق من الصحة في معدل النقل في واجهة برمجة التطبيقات.

مخططات للتحقق من صحة المحتوى

يستخدم التحقق من صحة محتوى الطلب أو الاستجابة بشكل افتراضي مخططات JSON أو XML من تعريف واجهة برمجة التطبيقات. يمكن تحديد هذه المخططات يدويا أو إنشاؤها تلقائيا عند استيراد واجهة برمجة تطبيقات من مواصفات OpenAPI أو WSDL إلى APIM.

يمكنك، باستخدام النهج validate-content، التحقق اختياريا مقابل واحد أو أكثر من مخططات JSON أو XML تمت إضافته إلى مثيل APIM لديك والذي ليس جزءا من تعريف واجهة برمجة التطبيقات. يمكن إعادة استخدام المخطط الذي تضيفه إلى APIM عبر العديد من واجهات برمجة التطبيقات.

لإضافة مخطط إلى مثيل APIM باستخدام مدخل Microsoft Azure:

  1. في المدخل، انتقل إلى مثيل API Management.

  2. في قسم واجهات برمجة التطبيقات في القائمة اليسرى، حدد «مخططات»>+ Add.

  3. في نافذة «إنشاء مخطط»، نفذ بما يلي:

    1. أدخل اسما (معرف) للمخطط.
    2. في نوع المخطط، حدد JSON أو XML.
    3. أدخِل الوصف.
    4. في Create method، قم بأحد الإجراءات التالية:
      • حدد «إنشاء جديد» وأدخل المخطط أو ألصقه.
      • حدد «استيراد من ملف» أو «استيراد من عنوان URL» وأدخل موقع مخطط.

        إشعار

        لاستيراد مخطط من عنوان URL، يجب أن يكون المخطط متاحا عبر الإنترنت من المستعرض.

    5. حدد حفظ.

    إنشاء مخطط

يضيف APIM مورد المخطط في URI النسبي /schemas/<schemaId>، ويظهر المخطط في القائمة على صفحة «المخططات». حدد مخططا لعرض خصائصه أو لتحريره في محرر مخطط.

إشعار

قد يقوم المخطط بالإسناد الترافقي لمخطط آخر تتم إضافته إلى مثيل APIM. يمكنك، على سبيل المثال، تضمين مخطط XML تمت إضافته إلى APIM باستخدام عنصر مشابه لما يلي:

<xs:include schemaLocation="/schemas/myschema" />

تلميح

تتوفر أدوات مفتوحة المصدر لحل مراجع مخطط WSDL وXSD والمخططات المنشأة لاستيراد الدفعات إلى APIM على GitHub.

الأمثلة

التحقق من صحة مخطط JSON

يفسر APIM في المثال التالي الطلبات ذات رأس نوع محتوى فارغ أو طلبات ذات رأس نوع محتوى application/hal+json كطلبات بنوع المحتوى application/json. ثم يبدأ APIM بإجراء التحقق من الصحة في وضع الكشف مقابل مخطط معرف لنوع المحتوى application/json في تعريف واجهة برمجة التطبيقات. تُحظر الرسائل التي تحتوي على حمولات حجمها أكبر من 100 كيلوبايت. يتم منع الطلبات التي تحتوي على خصائص إضافية، حتى إذا تم تكوين حقل المخطط additionalProperties للسماح بخصائص إضافية.

<validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="requestBodyValidation">
    <content-type-map missing-content-type-value="application/json">
        <type from="application/hal+json" to="application/json" />
    </content-type-map>
    <content type="application/json" validate-as="json" action="detect" allow-additional-properties="false" />
</validate-content>

التحقق من صحة مخطط SOAP

يفسر APIM في المثال التالي أي طلب على أنه طلب بنوع المحتوى application/soap+xml (نوع المحتوى المستخدم بواسطة واجهات برمجة تطبيقات SOAP 1.2) بغض النظر عن نوع المحتوى الوارد. قد يصل الطلب برأس نوع محتوى فارغ أو رأس نوع المحتوى text/xml (الذي تستخدمه واجهات برمجة تطبيقات SOAP 1.1) أو رأس نوع محتوى آخر. ثم يستخرج APIM حمولة XML من مغلف SOAP وتتحقق من الصحة في وضع المنع مقابل المخطط المسمى "myschema". تُحظر الرسائل التي تحتوي على حمولات حجمها أكبر من 100 كيلوبايت.

<validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="requestBodyValidation">
    <content-type-map any-content-type-value="application/soap+xml" />
    <content type="application/soap+xml" validate-as="soap" schema-id="myschema" action="prevent" /> 
</validate-content>

أخطاء التحقق من الصحة

تنشئ إدارة واجهة برمجة التطبيقات أخطاء التحقق من صحة المحتوى بالتنسيق التالي:

{
 "Name": string,
 "Type": string,
 "ValidationRule": string,
 "Details": string,
 "Action": string
}

يسرد الجدول التالي جميع الأخطاء المحتملة من نُهج التحقق من الصحة.

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

عندما يحدد نهج التحقق من الصحة الإجراء prevent وينتج خطأ، تتضمن الاستجابة من إدارة API تعليمة الحالة البرمجية HTTP: 400 عند تطبيق النهج في القسم الوارد، و502 عند تطبيق النهج في القسم الصادر.

الاسم النوع قاعدة التحقق من الصحة التفاصيل الاستجابة العامة الإجراء
validate-content
RequestBody SizeLimit إن طول نص الطلب {size} ما يتجاوز الحد المكون وهو {maxSize} بايت. إن طول نص الطلب {size} ما يتجاوز الحد وهو {maxSize} بايت. كشف / منع
ResponseBody SizeLimit إن طول نص الطلب {size} ما يتجاوز الحد المكون وهو {maxSize} بايت. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
{messageContentType} RequestBody غير محدد نوع المحتوى غير المحدد {messageContentType} غير مسموح به. نوع المحتوى غير المحدد {messageContentType} غير مسموح به. كشف / منع
{messageContentType} ResponseBody غير محدد نوع المحتوى غير المحدد {messageContentType} غير مسموح به. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
ApiSchema مخطط واجهة برمجة التطبيقات غير موجود أو تعذر حله. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
ApiSchema لا يحدد مخطط واجهة برمجة التطبيقات التعريفات. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
{messageContentType} RequestBody / ResponseBody MissingDefinition لا يحتوي مخطط واجهة برمجة التطبيقات على تعريف {definitionName} المرتبط بنوع المحتوى {messageContentType}. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
{messageContentType} RequestBody IncorrectMessage لا يحتوي نص الطلب على تعريف {definitionName}، المرتبط بنوع المحتوى {messageContentType}.

{valError.Message} سطر: {valError.LineNumber}، موضع: {valError.LinePosition}
لا يحتوي نص الطلب على تعريف {definitionName}، المرتبط بنوع المحتوى {messageContentType}.

{valError.Message} سطر: {valError.LineNumber}، موضع: {valError.LinePosition}
كشف / منع
{messageContentType} ResponseBody IncorrectMessage لا يتوافق نص الاستجابة مع التعريف {definitionName} المرتبط بنوع المحتوى {messageContentType}.

{valError.Message} سطر: {valError.LineNumber}، موضع: {valError.LinePosition}
تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
RequestBody ValidationException يتعذر التحقق من صحة نص الطلب لنوع المحتوى {messageContentType}.

{تفاصيل الاستثناء}
تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
ResponseBody ValidationException يتعذر التحقق من صحة نص الاستجابة لنوع المحتوى {messageContentType}.

{تفاصيل الاستثناء}
تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
validate-parameters / validate-headers
{paramName} / {headerName} QueryParameter / PathParameter / RequestHeader غير محدد {معلمة المسار / معلمة الاستعلام / العنوان} غير المحدد {paramName} غير مسموح به. {معلمة المسار / معلمة الاستعلام / العنوان} غير المحدد {paramName} غير مسموح به. كشف / منع
{headerName} ResponseHeader غير محدد عنوان غير محدد {headerName} غير مسموح به. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
ApiSchema مخطط واجهة برمجة التطبيقات غير موجود أو تعذر حله. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
ApiSchema لا يحدد مخطط واجهة برمجة التطبيقات التعريفات. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
{paramName} QueryParameter / PathParameter / RequestHeader / ResponseHeader MissingDefinition لا يحتوي مخطط واجهة برمجة التطبيقات على تعريف {definitionName} المرتبط بـ {معلمة الاستعلام / معلمة المسار / العنوان} {paramName}. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
{paramName} QueryParameter / PathParameter / RequestHeader IncorrectMessage لا يمكن أن يحتوي الطلب على قيم متعددة لـ{معلمة الاستعلام / معلمة المسار / العنوان} {paramName}. لا يمكن أن يحتوي الطلب على قيم متعددة لـ{معلمة الاستعلام / معلمة المسار / العنوان} {paramName}. كشف / منع
{headerName} ResponseHeader IncorrectMessage لا يمكن أن تحتوي الاستجابة على قيم متعددة للعنوان {headerName}. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
{paramName} QueryParameter / PathParameter / RequestHeader IncorrectMessage لا تتوافق قيمة {معلمة الاستعلام / معلمة المسار / العنوان} {paramName} مع التعريف.

{valError.Message} سطر: {valError.LineNumber}، موضع: {valError.LinePosition}
لا تتوافق قيمة {معلمة الاستعلام / معلمة المسار / العنوان} {paramName} مع التعريف.

{valError.Message} سطر: {valError.LineNumber}، موضع: {valError.LinePosition}
كشف / منع
{headerName} ResponseHeader IncorrectMessage لا تتوافق قيمة العنوان {headerName} مع التعريف.

{valError.Message} سطر: {valError.LineNumber}، موضع: {valError.LinePosition}
تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
{paramName} QueryParameter / PathParameter / RequestHeader IncorrectMessage يتعذر توزيع قيمة {معلمة الاستعلام / معلمة المسار / العنوان} {paramName} وفقاً للتعريف.

{ex.Message}
تعذر توزيع قيمة {معلمة الاستعلام / معلمة المسار / العنوان} {paramName} وفقاً للتعريف.

{ex.Message}
كشف / منع
{headerName} ResponseHeader IncorrectMessage تعذر توزيع قيمة العنوان {headerName} وفقاً للتعريف. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
{paramName} QueryParameter / PathParameter / RequestHeader ValidationError يتعذر التحقق من صحة {معلمة الاستعلام / معلمة المسار / العنوان} {paramName}.

{تفاصيل الاستثناء}
تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
{headerName} ResponseHeader ValidationError يتعذر التحقق من صحة العنوان {headerName}.

{تفاصيل الاستثناء}
تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع
validate-status-code
{status-code} StatusCode غير محدد التعليمة البرمجية للاستجابة {status-code} غير مسموح بها. تعذرت معالجة الطلب بسبب خطأ داخلي. تواصل مع مالك واجهة برمجة التطبيقات. كشف / منع

يسرد الجدول التالي جميع قيم "السبب" المحتملة لخطأ التحقق من الصحة مع قيم "الرسالة" المحتملة:

السبب رسالة
طلب غير صالح {Details} لمتغير السياق، {Public response} للعميل
الاستجابة غير مسموح بها {Details} لمتغير السياق، {Public response} للعميل

لمزيد من المعلومات حول العمل مع النُهج، راجع: