تحديد مشاكل وقت التشغيل وحلّها في سياسة XMLThreatProtection

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

ExecutionFailed

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition policy_name:
        Execution failed. Reason: error_description at line line_num
        (possibly around char char_num)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: Premature end of document while parsing at line 5(possibly  around char 0)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

أنواع الأخطاء والأسباب المحتمَلة

يمكن أن تُعرِض سياسة XMLThreatProtection العديد من أنواع أخطاء ExecutionFailed المختلفة. يسرد الجدول أدناه الأنواع المختلفة من الأخطاء والأسباب المحتمَلة لها:

خطأ السبب
ElementNameExceeded تم تجاوز الحد الأقصى المسموح به لطول السلسلة في علامة XML.
ChildCountExceeded تم تجاوز الحد الأقصى لعدد العناصر الثانوية المسموح بها في حمولة XML.
NodeDepthExceeded تم تجاوز الحد الأقصى لعمق عناصر XML المسموح بها في حمولة XML.
AttributeCountExceeded تم تجاوز الحد الأقصى لعدد السمات في عنصر واحد.
AttributeNameExceeded تم تجاوز الحد الأقصى المسموح به لطول اسم السمة.
AttributeValueExceeded تم تجاوز الحد الأقصى للطول المسموح به لقيمة السمة.
TextExceeded تم تجاوز الحد الأقصى المسموح به لعدد الأحرف في النص.
CommentExceeded تم تجاوز الحد الأقصى المسموح به لعدد أحرف التعليق.
PIDataExceeded تم تجاوز الحدّ الأقصى المسموح به لطول بيانات تعليمات المعالجة.
PITargetExceeded تم تجاوز الحد الأقصى لطول اسم تعليمات العملية.
NSURIExceeded تجاوز طول عنوان URL لمساحة الاسم
NSPrefixExceeded تم تجاوز طول بادئة مساحة الاسم.
NSCountExceeded تم تجاوز عدد مساحات الأسماء المستخدَمة في عنصر واحد.
حمولة XML غير صالحة حمولة XML التي تم إدخالها غير صالحة.

ElementNameExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

تعرض حركة البيانات في بيئة التشغيل رمز الاستجابة 500 مع الخطأ التالي:

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition policy_name:
        Execution failed. reason: XMLThreatProtection stepDefinition policy_name:
        Element name length exceeded num at line line_num(possibly
        around char char_num)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Element name length exceeded 5 at line 1(possibly around char 9)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت حمولة الإدخال المحدّدة من خلال عنصر <Source> في السياسة تحتوي على عناصر XML تتجاوز الحد الأقصى للطول المحدّد في عنصر <Element> ضمن عنصر <NameLimits>.

على سبيل المثال، إذا تم تحديد العنصر <Element> على أنّه 5 في سياسة XMLThreatProtection، وكانت البيانات الأساسية للإدخال تحتوي على أكثر من 5 أحرف، سيتم عرض هذا الخطأ.

التشخيص

  1. راجِع رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر وعدد الأحرف المحتمَل في الحمولة المُدخلة التي تم تجاوز طول العنصر فيها.

    على سبيل المثال، في رسالة الخطأ التالية، اسم السياسة هو XML-Threat-Protection-1,رقم السطر في الحمولة هو 1، وعدد الأحرف المحتمَلة هو 9..

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Element name
    length exceeded 5 at line 1(possibly around char 9)
    
  2. راجِع السياسة التي تعذّر تطبيقها (التي تم تحديدها في الخطوة 1) وسجِّل القيمة المحدّدة في عنصر <Element>.

    على سبيل المثال، في سياسة XMLThreatProtection التالية، تم ضبط <Element> على 5:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>5</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>5</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. افحص رقم السطر المحدّد (المحدّد في الخطوة 1) لحمولة الإدخال وتحقَّق مما إذا كان طول العنصر في هذا السطر أكبر من القيمة المحدّدة للعنصر <Element> (الذي تم تحديده في الخطوة 2). إذا تجاوز طول العنصر هذه القيمة، هذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <company>
      <name>Google</name>
      <country>USA</country>
    </company>
    

    تحتوي حمولة XML الموضحة أعلاه على عنصر جذري باسم company في السطر 1 ويتألف من 7 أحرف. بما أنّ طول العنصر أكبر من 5 (القيمة المحدّدة للعنصر <Element>)، يظهر لك الخطأ التالي:

    XML-Threat-Protection-1: Execution failed. reason: XMLThreatProtection stepDefinition
    XML-Threat-Protection-1: Element name length exceeded 5 at line 1(possibly around char 9)
    

الدقة

إذا كانت سياسة XMLThreadProtection مخصّصة للحماية من الحمولات التي تتضمّن أسماء عناصر تتجاوز القيمة المحدَّدة، من المتوقع ظهور رسالة الخطأ. وفي هذه الحالة، لن يُطلب منك اتخاذ أي إجراء إضافي.

ومع ذلك، إذا تبيّن لك أنّه يمكن تحديد عناصر أطول في الحمولة بدون أي عواقب، يمكنك تعديل <Element>إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنّه يمكنك السماح بعناصر يصل طولها إلى 10، عليك تعديل سياسة XMLThreatProtection على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>5</NodeDepth>
        <AttributeCountPerElement>2</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

ChildCountExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition policy_name:
        Execution failed. reason: XMLThreatProtection stepDefinition policy_name:
        Children count exceeded num at line  num(possibly
        around char num)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Children count exceeded 3 at line 5(possibly around char 89)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت الحمولة في رسالة الإدخال المحدّدة من خلال العنصر <Source> تحتوي على عنصر XML يحتوي على عناصر فرعية أكثر من القيمة المحدّدة في العنصر <ChildCount> من السياسة.

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

التشخيص

  1. تحقَّق من رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي يتم فيه تجاوز عدد الإدخالات. على سبيل المثال، في رسالة الخطأ التالية، اسم السياسة هو XML-Threat-Protection-1 ورقم السطر في الحمولة هو 5:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Children
    count exceeded 3 at line 5(possibly around char 89)"
    
  2. تحقَّق من السياسة التي تعذّر تنفيذها (تم تحديدها في الخطوة 1) وراجِع القيمة المحدّدة في العنصر <ChildCount>.

    في مثال السياسة التالي، تم ضبط <ChildCount> على 3(يُرجى العِلم أنّ التعليقات والعناصر المضمّنة والعناصر الأخرى تُحتسَب ضمن هذا الحدّ):

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>5</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. راجِع رقم السطر المحدّد (الذي تم تحديده في الخطوة 1) من الحمولة المُدخلة وتحقّق مما إذا كان عدد العناصر الفرعية (بما في ذلك جميع التعليقات وما إلى ذلك) في الحمولة أكبر من القيمة المحدّدة للعنصر <ChildCount> (الذي تم تحديده في الخطوة 2). إذا كان عدد العناصر الفرعية يتجاوز عدد العناصر الفرعية، هذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <movie>
      <title>Jurassic Park</title>
      <language>English</language>
      <country>USA</country>
      <director>Steven Spielberg</director>
    </movie>
    

    في حمولة XML الموضّحة أعلاه، يحتوي السطر 5 على عنصر فرعي رابع <director>للعنصر الجذر <movie>. بما أنّ عدد العناصر الثانوية في حمولة XML المُدخلة أكبر من 3 (القيمة المحدّدة للعنصر <ChildCount>)، ستحصل على الخطأ التالي:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Children
    count exceeded 3 at line 5(possibly around char 89)
    

الدقة

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

ومع ذلك، إذا تبيّن لك أنّه يمكن تضمين عدد أكبر من العناصر الفرعية (بما في ذلك التعليقات وما إلى ذلك) في الحمولة بدون أي عواقب، يمكنك تعديل <ChildCount>إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنّه يمكنك السماح بما يصل إلى 10 عناصر فرعية، عليك تعديل سياسة XMLThreatProtection على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>5</NodeDepth>
        <AttributeCountPerElement>2</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">10</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

NodeDepthExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Node depth exceeded [num] at line [num](possibly around
        char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Node depth exceeded 5 at line 6(possibly around char 110)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت حمولة رسالة الإدخال التي يحدِّدها العنصر <Source> تحتوي على مستند XML حيث يتجاوز التسلسل الهرمي للعقد الرقم المحدَّد في العنصر <NodeDepth> من سياسة XMLThreatProtection.

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

التشخيص

  1. راجِع رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي تم فيه تجاوز عمق العقدة. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم السياسة هو XML-Threat-Protection-1 ورقم السطر في الحمولة هو 6:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Node depth
    exceeded 5 at line 6(possibly around char 109)
    
  2. راجِع سياسة XMLThreatProtection التي لم تجتَز عملية التحقّق (التي تم تحديدها في الخطوة 1) ولاحظ القيمة المحدّدة في العنصر <NodeDepth>.

    في المثال التالي لسياسة XMLThreatProtection، تم ضبط <NodeDepth> على 5:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>5</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. راجِع رقم السطر المحدّد (الذي تم تحديده في الخطوة 1) من الحمولة المُدخلة وتحقّق مما إذا كان عمق العقدة المحدّد فيه أعلى من العدد المحدّد في عنصر <NodeDepth> (الذي تم تحديده في الخطوة 2). إذا تجاوز مستوى العناصر الثانوية في ملف XML العدد المسموح به، هذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <hellos>
       <hello1>
           <wave1>
                <wave2>
                    <wave3>
                        <wave4>
                           <wave5>wave</wave5>
                        </wave4>
                    </wave3>
                </wave2>
           </wave1>
       </hello1>
       <hello2>world2</hello2>
       <hello3>world3</hello3>
       <hello4>world4</hello4>
       <hello5>world5</hello5>
       <hello6>world6</hello6>
    </hellos>
    

    يحتوي حمولة XML المعروضة أعلاه في السطر 6 على عمق عقدة يبلغ 6..بما أنّ عمق العقدة أكبر من 5 (القيمة المحدّدة للعنصر <NodeDepth>)، يظهر لك الخطأ التالي:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Node depth
    exceeded 5 at line 6(possibly around char 109)
    

الدقة

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

ومع ذلك، إذا تبيّن لك أنّه يمكن السماح بمستوى أعمق للعقد، يمكنك تعديل <NodeDepth>إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنه يمكنك السماح بعمق عُقدة يصل إلى 10، عدّل السياسة على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>2</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

AttributeCountExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Attribute count exceeded [num] at line [num](possibly around
        char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Attribute count exceeded 2 at line 3(possibly around char 105)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت حمولة رسالة الإدخال التي يحدِّدها العنصر <Source> في سياسة XMLThreatProtection تحتوي على مستند XML فيه تجاوز عدد سمات عنصر واحد الرقم المحدَّد في العنصر <AttributeCountPerElement> من السياسة.

على سبيل المثال، إذا تم تحديد العنصر <AttributeCountPerElement> على أنّه 2 في سياسةXMLThreatProtection، ولكن كانت البيانات الأساسية للإدخال تحتوي على عنصر أكثر من سمتَين، ستظهر رسالة الخطأ هذه.

التشخيص

  1. راجِع رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي تم فيه تجاوز عدد السمات. على سبيل المثال، في رسالة الخطأ التالية، اسم السياسة هو XMLThreat-Protection-1 ورقم السطر في الحمولة هو 3:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    count exceeded 2 at line 3(possibly around char 105)
    
  2. راجِع السياسة التي تعذّر تطبيقها (التي تم تحديدها في الخطوة 1)، وسجِّل القيمة المحدّدة في العنصر <AttributeCountPerElement>.

    في مثال السياسة التالي، تم ضبط <AttributeCountPerElement> على 2:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. راجِع رقم السطر المحدّد (الذي تم تحديده في الخطوة 1) من الحمولة المُدخلة وتحقّق مما إذا كان عدد السمات المحدّدة يتجاوز العدد المحدّد في عنصر <AttributeCountPerElementh> (الذي تم تحديده في الخطوة 2). إذا كان عدد السمات يتجاوز العدد، هذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <?xml version="1.0" encoding="UTF-8"?>
    <bookstore>
      <book category="cooking" cuisine="Indian" lang="en">
        <title>Easy Indian Cooking</title>
        <author>Suneeta</author>
        <year>2004</year>
        <price>300.00</price>
      </book>
    </bookstore>
    

    تتضمن حمولة XML الموضحة أعلاه في السطر 3 عنصرًا بثلاث سمات. بما أنّ عدد السمات أكبر من اثنين (القيمة المحدّدة للعنصر <AttributeCountPerElement>)، يظهر لك الخطأ التالي:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    count exceeded 2 at line 3(possibly around char 105)
    

الدقة

إذا كانت سياسة XMLThreatProtection تهدف إلى الحماية من حِزم البيانات التي تتجاوز عددًا محدّدًا من السمات، من المتوقّع ظهور رسالة الخطأ. وفي هذه الحالة، لن يُطلب منك اتخاذ أي إجراء إضافي.

ومع ذلك، إذا تبيّن لك أنّه يمكن السماح بعدد أكبر من السمات، يمكنك تعديل <AttributeCountPerElement>إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنّه يمكنك السماح بعدد سمات يصل إلى 5 لكل عنصر، يمكنك تعديل السياسة على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

AttributeNameExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Attribute name length exceeded [num] at line [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Attribute name length exceeded 5 at line 3(possibly around char 105)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت حمولة رسالة الإدخال التي يحدِّدها العنصر <Source> في سياسة XMLThreatProtection تحتوي على مستند XML حيث يتجاوز اسم السمة عدد الأحرف المحدَّد في العنصر <Attribute> الثانوي للعنصر <NameLimits> في السياسة.

على سبيل المثال، إذا تم تحديد عنصر <Attribute> على أنّه 5 في السياسة، ولكنّ الحمولة المُدخلة تحتوي على اسم سمة يتضمّن أكثر من 5 أحرف، يتم عرض هذا الخطأ.

التشخيص

  1. راجِع رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي تم فيه تجاوز طول اسم السمة. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم السياسة هو XML-Threat-Protection-1 ورقم السطر في الحمولة هو 3:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    name length exceeded 5 at line 3(possibly around char 105)
    
  2. راجِع السياسة التي تعذّر تطبيقها (التي تم تحديدها في الخطوة 1) وسجِّل القيمة المحدّدة في العنصر <Attribute>.

    في المثال التالي لسياسة XMLThreatProtection، تم ضبط <Attribute> على 5:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. افحص رقم السطر المحدّد (المحدّد في الخطوة 1) لحمولة الإدخال وتحقَّق مما إذا كان طول السمة المحدّد يحتوي على عدد أحرف أكبر من الرقم المحدّد في العنصر <Attribute> (الذي تم تحديده في الخطوة 2). إذا تجاوز عدد الأحرف قيمة السمة، يكون هذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <?xml version="1.0" encoding="UTF-8"?>
    <bookstore>
      <book category="cooking" cuisine="Indian" lang="en">
        <title>Easy Indian Cooking</title>
        <author>Suneeta</author>
        <year>2004</year>
        <price>300.00</price>
      </book>
    </bookstore>
    

    تتضمّن حمولة بيانات XML الموضحة أعلاه في السطر 3 السمتَين category وcuisine بطول اسمهما 8 و7 أحرف على التوالي. ولأن طول اسم السمة أكبر من 5 (القيمة المحدّدة للعنصر <Attribute>)، سيظهر لك الخطأ التالي:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    name length exceeded 5 at line 3(possibly around char 105)
    

الدقة

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

ومع ذلك، إذا تبيّن لك أنّه يمكن السماح بطول اسم سمة أطول، عدِّل <Attribute> إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنّه يمكن أن تتضمّن أسماء السمات ما يصل إلى 10 أحرف، يمكنك تعديل السياسة على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

AttributeValueExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:  Attribute value length exceeded [num] at line [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Attribute value length exceeded 10 at line 3(possibly around char 111)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت الحمولة لرسالة الإدخال المحدّدة من خلال عنصر <Source> في السياسة تحتوي على مستند XML حيث تتجاوز قيمة السمة عدد الأحرف المحدّدة في العنصر الفرعي <Attribute> للعنصر <ValueLimits>.

على سبيل المثال، إذا تم تحديد عنصر <Attribute> على أنّه 10 في سياسة XMLThreatProtection، ولكنّ الحمولة المُدخلة تحتوي على قيمة سمة تضمّ أكثر من 10 أحرف، يتمّ طرح هذا الخطأ.

التشخيص

  1. تحقَّق من رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي يتم فيه تجاوز عدد السمات. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم السياسة هو XML-Threat-Protection-1 ورقم السطر في الحمولة هو 3:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    value length exceeded 10 at line 3(possibly around char 111)
    
  2. راجِع السياسة التي تعذّر تطبيقها (التي تم تحديدها في الخطوة 1) وسجِّل القيمة المحدّدة في العنصر الفرعي <Attribute> للعنصر <ValueLimits>.

    في مثال سياسة XMLThreatProtection التالي، تم ضبط <Attribute> على 10:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. راجِع رقم السطر المحدّد (الذي تم تحديده في الخطوة 1) من الحمولة المُدخلة وتحقّق مما إذا كان طول قيمة السمة المحدّدة هناك يحتوي على أحرف أكثر من العدد المحدّد في عنصر <Attribute> (الذي تم تحديده في الخطوة 2). إذا كان عدد الأحرف يتجاوز قيمة السمة، هذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <?xml version="1.0" encoding="UTF-8"?>
    <bookstore>
      <book category="cooking" cuisine="South Indian" lang="en">
        <title>Easy Indian Cooking</title>
        <author>Suneeta</author>
        <year>2004</year>
        <price>300.00</price>
      </book>
    </bookstore>
    

    يحتوي حمولة XML المعروضة أعلاه في السطر 3 على سمة (cuisine) بطول قيمة 12 حرفًا. بما أنّ طول قيمة السمة أكبر من 10 (القيمة المحدّدة للعنصر <Attribute>)، يظهر لك الخطأ التالي:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    value length exceeded 10 at line 3(possibly around char 111)
    

الدقة

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

ومع ذلك، إذا قرّرت السماح بقيم سمات أطول، عليك تعديل <Attribute>العنصر الفرعي لعنصر <ValueLimits> إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنّه يمكنك تحديد قيم تصل إلى 15 حرفًا، يمكنك تعديل السياسة على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

TextExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:  Text length exceeded [num] at line [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Text length exceeded 15 at line 4(possibly around char 66)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }

السبب

يحدث هذا الخطأ إذا كانت الحمولة في رسالة الإدخال المحدّدة من خلال عنصر <Source> في سياسة XMLThreatProtection تحتوي على مستند XML حيث يتجاوز طول نص أحد العناصر عدد الأحرف المحدّد في العنصر الفرعي <Text> للعنصر <ValueLimits> في السياسة.

على سبيل المثال، إذا تم تحديد عنصر <Text> على أنّه 15 في السياسة، ولكنّ الحمولة المُدخلة تحتوي على نص يتألف من أكثر من 15 حرفًا، يتمّ طرح هذا الخطأ.

التشخيص

  1. راجِع رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي تم فيه تجاوز عدد السمات. على سبيل المثال، في رسالة الخطأ التالية، اسم السياسة هو XML-Threat-Protection-1 ورقم السطر في الحمولة هو 4:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Text length
    exceeded 15 at line 4(possibly around char 66)
    
  2. راجِع السياسة التي تعذّر تطبيقها (التي تم تحديدها في الخطوة 1) ولاحظ القيمة المحدّدة في العنصر الفرعي <Text> للعنصر <ValueLimits>.

    في المثال التالي لسياسة XMLThreatProtection، تم ضبط <Text> على 15:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. راجِع رقم السطر المحدّد (الذي تم تحديده في الخطوة 1) من الحمولة المُدخلة وتحقّق مما إذا كان طول قيمة السمة المحدّدة هناك يحتوي على أحرف أكثر من العدد المحدّد في عنصر <Text> (الذي تم تحديده في الخطوة 2). إذا كان عدد الأحرف يتجاوز قيمة السمة، هذا هو سبب الخطأ.

    <food>
      <name>Veg Sandwich</name>
      <price>$5.95</price>
      <description>Vegetarian Sandwich with onions, tomatoes and lettuce</description>
      <calories>650</calories>
    </food>
    

    يحتوي حمولة XML المعروضة أعلاه في السطر 4 على نص بطول 53 حرفًا. بما أنّ طول قيمة السمة أكبر من 15 (القيمة المحدّدة للعنصر <Text>)، يظهر لك الخطأ التالي:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Text length
    exceeded 15 at line 4(possibly around char 66)
    

الدقة

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

ومع ذلك، إذا قرّرت السماح بقيم نصية أطول، يمكنك تعديل <Text>العنصر الفرعي لعنصر <ValueLimits> إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنّه يمكنك تضمين قيم سمات في ما يصل إلى 60 حرفًا، يمكنك تعديل السياسة على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>60</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

CommentExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Comment length exceeded [num] at line [num](possibly around char
        [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Comment length exceeded 10 at line 2(possibly around char 48)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت الحمولة في رسالة الإدخال المحدّدة من خلال العنصر <Source> في سياسة XMLThreatProtection تحتوي على مستند XML حيث يتجاوز طول التعليق عدد الأحرف المحدّد في العنصر الفرعي <Comment> من العنصر <ValueLimits> في السياسة.

على سبيل المثال، إذا تم تحديد عنصر <Comment> على أنّه 10 في السياسة، ولكنّ الحمولة المُدخلة تتضمّن تعليقًا يحتوي على أكثر من 10 أحرف، يتم طرح هذا الخطأ.

التشخيص

  1. راجِع رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي تم فيه تجاوز طول التعليق. على سبيل المثال، في رسالة الخطأ التالية، اسم السياسة هو XML-Threat-Protection-1 ورقم السطر في الحمولة هو 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Comment length exceeded 10 at line 2(possibly around char 48)
    
  2. راجِع السياسة التي تعذّر تطبيقها (التي تم تحديدها في الخطوة 1) وسجِّل القيمة المحدّدة في العنصر الفرعي <Comment> للعنصر <ValueLimits>.

    في مثال سياسة XMLThreatProtection التالي، تم ضبط <Comment> على 10:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. راجِع رقم السطر المحدّد (الذي تم تحديده في الخطوة 1) من الحمولة المُدخلة وتحقّق مما إذا كان طول التعليق المحدّد فيه يحتوي على أحرف أكثر من العدد المحدّد في عنصر <Comment> (الذي تم تحديده في الخطوة 2). إذا كان عدد الأحرف يتجاوز قيمة السمة، هذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <food>
      <!--This is somewhat a long comment-->
      <name>Veg Sandwich</name>
      <price>$5.95</price>
      <description>Vegetarian Sandwich with onions, tomatoes and lettuce</description>
      <calories>650</calories>
    </food>
    

    يحتوي الحمّل بتنسيق XML المعروض أعلاه في السطر 2 على تعليق بطول قيمة 31 حرفًا.. وبما أنّ طول التعليق أكبر من 10 (القيمة المحدّدة للعنصر <Comment>)، يظهر لك الخطأ التالي:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Comment length
    exceeded 10 at line 2(possibly around char 48)
    

الدقة

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

وإذا رأيت أنّه يمكن السماح بتعليق أطول، يمكنك تعديل العنصر <Comment>الفرعي في العنصر<ValueLimits> إلى قيمة مناسبة بناءً على متطلّباتك.

على سبيل المثال، إذا كنت تعتقد أنّه يمكنك تحديد قيم تصل إلى 40 حرفًا، يمكنك تعديل السياسة على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>40</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

PIDataExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Processing Instruction data length exceeded [num] at line
        [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Processing Instruction data length exceeded 30 at line 2(possibly around char 109)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت حمولة رسالة الإدخال التي يحدِّدها العنصر <Source> في سياسة XMLThreatProtection تحتوي على مستند XML حيث تتجاوز تعليمات معالجة بيانات المعالجة عدد الأحرف المحدَّد في العنصر <ProcessingInstructionData> الفرعي <ValueLimits>لعنصر السياسة.

على سبيل المثال، إذا تم تحديد العنصر <ProcessingInstructionData> على أنّه 10 في سياسة XMLThreatProtection، وكانت البيانات الأساسية للإدخال تتضمّن تعليمات معالجة تحتوي على أكثر من 10 أحرف، سيتم عرض هذا الخطأ.

التشخيص

  1. راجِع رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي تم فيه تجاوز طول تعليمات المعالجة. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم السياسة هو XML-Threat-Protection-1 ورقم السطر في الحمولة هو 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction data length exceeded 30 at line 2(possibly around char 109)
    
  2. راجِع السياسة التي تعذّر تطبيقها (التي تم تحديدها في الخطوة 1) ولاحظ القيمة المحدّدة في العنصر الفرعي <ProcessingInstructionData> للعنصر <ValueLimits> .

    في المثال التالي لسياسة XMLThreatProtection، تم ضبط <ProcessingInstructionData> على 30:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. راجِع رقم السطر المحدّد (الذي تم تحديده في الخطوة 1) من الحمولة المُدخلة وتحقّق مما إذا كان طول بيانات تعليمات المعالجة المحدّدة هناك يتضمّن عددًا أكبر من الأحرف مقارنةً بالعدد المحدّد في عنصر <ProcessingInstructionData> (الذي تم تحديده في الخطوة 2). إذا كان عدد الأحرف يتجاوز بيانات تعليمات المعالجة، هذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <?xml-stylesheet type="text/xsl" href="mobilephones.xsl"?>
    <mobilephones>
      <mobilephone>
          <name>iPhone</name>
          <price>$600</price>
      </mobilephone>
      <mobilephone>
          <name>Samsung</name>
          <price>$500</price>
      </mobilephone>
    </mobilephones>
    

    تحتوي الحمولة البرمجية بتنسيق XML الموضّحة أعلاه في السطر 1 على عنصر بيانات تعليمات المعالجة (type="text/xsl" href="mobilephones.xsl"?)بطول 40 حرفًا.) وبما أنّ هذا الطول أكبر من 30 (القيمة المحدّدة للعنصر <ProcessingInstructionData>)، يظهر لك الخطأ التالي:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction data length exceeded 30 at line 2(possibly around char 109)
    

الدقة

إذا كانت سياسة XMLThreatProtection مخصّصة للحماية من الحمولات التي تتجاوز طولًا محدّدًا لبيانات تعليمات المعالجة، من المتوقّع ظهور رسالة الخطأ. وفي هذه الحالة، لن يُطلب منك اتخاذ أي إجراء إضافي.

ومع ذلك، إذا قرّرت أنّه يمكن السماح بعناصر بيانات تعليمات المعالجة الأطول، عدِّل العنصر الثانوي <ProcessingInstructionData> للعنصر <ValueLimits> إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنّه يمكنك الحصول على أطوال تعليمات معالجة البيانات تصل إلى 50 حرفًا، يمكنك تعديل السياسة على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>40</Comment>
        <ProcessingInstructionData>50</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

PITargetExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Processing Instruction target length exceeded [num] at line [num](possibly around
        char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Processing Instruction target length exceeded 10 at line 2(possibly around char 114)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت الحمولة في رسالة الإدخال المحدّدة من خلال عنصر <Source> في سياسة XMLThreatProtection تحتوي على مستند XML حيث يتجاوز هدف تعليمات العملية عدد الأحرف المحدّد في العنصر الفرعي <ProcessingInstructionTarget> من العنصر <NameLimits> في السياسة.

على سبيل المثال، إذا تم تحديد عنصر <ProcessingInstructionTarget> على أنّه 10 في سياسة XMLThreatProtection، ولكنّ الحمولة المُدخلة تحتوي على هدف تعليمات عملية يحتوي على أكثر من 10 أحرف، يتم طرح هذا الخطأ.

التشخيص

  1. تحقَّق من رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي يتم فيه تجاوز عدد التعليمات المستهدفة لتعليمات المعالجة. على سبيل المثال، في رسالة الخطأ التالية، اسم السياسة هو XML-Threat-Protection-1 ورقم السطر في الحمولة هو 1:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction target length exceeded 10 at line 2(possibly around char 114)
    
  2. راجِع سياسة XMLThreatProtection التي تعذّر تطبيقها (المحدّدة في الخطوة 1) وسجِّل القيمة المحدّدة في العنصر الفرعي <ProcessingInstructionTarget> للعنصر <NameLimits>.

    في المثال التالي لسياسة XMLThreatProtection، تم ضبط <ProcessingInstructionTarget> على 10:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. افحص رقم السطر المحدّد (المحدّد في الخطوة 1) لحمولة الإدخال وتحقَّق مما إذا كان طول هدف تعليمات المعالجة المحدّد يحتوي على عدد أحرف أكبر من الرقم المحدّد في العنصر <ProcessingInstructionTarget> (الذي تم تحديده في الخطوة 2). وإذا تجاوز عدد الأحرف الحدّ الأقصى للحجم المستهدَف، يكون هذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <?xml-stylesheet type="text/xsl" href="mobilephones.xsl"?>
    <mobilephones>
      <mobilephone>
          <name>iPhone</name>
          <price>$600</price>
      </mobilephone>
      <mobilephone>
          <name>Samsung</name>
          <price>$500</price>
      </mobilephone>
    </mobilephones>
    

    تحتوي حمولة XML المعروضة أعلاه في السطر 2 على اسم مستهدَف لتعليمات المعالجة "xml-stylesheet"" بطول 14 حرفًا. لأنّ اسم الهدف لتعليمات المعالجة أطول من 10 (القيمة المحدّدة لعنصر <ProcessingInstructionTarget>)، يظهر لك الخطأ التالي:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction target length exceeded 10 at line 2(possibly around char 114)
    

الدقة

إذا كانت سياسة XMLThreatProtection مخصّصة للحماية من الحمولات التي تتجاوز طولًا محدّدًا لتعليمات العملية، من المتوقّع ظهور رسالة الخطأ. وفي هذه الحالة، لن يُطلب منك اتخاذ أي إجراء إضافي.

ومع ذلك، إذا تبيّن لك أنّه يمكن أن يكون استهداف تعليمات المعالجة أطول، عليك تعديل العنصر <ProcessingInstructionTarget>الفرعي للعنصر <NameLimits> إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنّه يمكنك الحصول على استهدافات تعليمات العملية التي يصل طولها إلى 25 حرفًا، يمكنك تعديل السياسة على النحو التالي:

  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>15</NamespacePrefix>
    <ProcessingInstructionTarget>25</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>2</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>40</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
  </XMLThreatProtection>

NSURIExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:  Namespace uri length length exceeded [num] at line [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Namespace uri length exceeded 10 at line 2(possibly around char 97)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت حمولة رسالة الإدخال التي يحدّدها العنصر <Source> في سياسة XMLThreatProtection تحتوي على مستند XML حيث يتجاوز معرف الموارد المنتظم (URI) لـ Namespace عدد الأحرف المحددة في العنصر الفرعي <NamespaceURI> الخاص <ValueLimits>بعنصر السياسة.

على سبيل المثال، إذا تم تحديد عنصر <NamespaceURI> على أنّه 10 في السياسة، ولكنّ الحمولة المُدخلة تحتوي على معرّف موارد منتظم (URI) لنطاق معرِّف يضمّ أكثر من 10 أحرف، يتم عرض هذا الخطأ.

التشخيص

  1. راجِع رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي تم فيه تجاوز طول معرّف الموارد المنتظم لمساحة الاسم. على سبيل المثال، في رسالة الخطأ التالية، اسم السياسة هو XML-Threat-Protection-1 ورقم السطر في الحمولة هو 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    uri length exceeded 10 at line 2(possibly around char 97)
    
  2. تحقَّق من السياسة التي تعذّر تنفيذها (تم تحديدها في الخطوة 1) وراجِع القيمة المحدّدة في العنصر الفرعي <NamespaceURI> للعنصر <ValueLimits>.

    في المثال التالي لسياسة XMLThreatProtection، تم ضبط <NamespaceURI> على 10:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. راجِع رقم السطر المحدّد (الذي تم تحديده في الخطوة 1) من الحمولة المُدخلة وتحقَّق مما إذا كان طول معرّف الموارد المنتظم للمساحة الاسمية المحدّد هناك يتضمّن عددًا أكبر من الأحرف مقارنةً بالعدد المحدّد في عنصر <NamespaceURI> (الذي تم تحديده في الخطوة 2). إذا كان عدد الأحرف يتجاوز طول معرّف URI لمساحة الاسم، هذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <?xml version = "1.0" encoding = "UTF-8"?>
      <profile:user xmlns:profile = "www.google.com/profile">
      <profile:name>Rama Krishna</profile:name>
      <profile:company>Google</profile:company>
      <profile:phone>(91) 9876543210</profile:phone>
    </profile:user>
    

    تحتوي حمولة XML المعروضة أعلاه في السطر 2 على معرّف موارد منتظم لمساحة الاسم، وهو www.google.com/profile، بطول 22 حرفًا. نظرًا لأن طول معرّف الموارد المنتظم (URI) لمساحة الاسم أكبر من 10 (القيمة المحدّدة للعنصر <NamespaceURI>)، يظهر لك الخطأ التالي:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    uri length exceeded 10 at line 2(possibly around char 99)
    

الدقة

إذا كان الهدف من سياسة XMLThreatProtection هو الحماية من حِزم البيانات التي تجاوزت طول معرّف موارد منتظم (URI) لمساحة اسم معيّنة، من المتوقّع ظهور رسالة الخطأ. في هذه الحالة، ليس عليك اتّخاذ أي إجراء إضافي.

ومع ذلك، إذا تبيّن لك أنّه يمكن السماح بمعرّف موارد منتظم أطول للمساحة الاسمية، يمكنك تعديل العنصر الفرعي <NamespaceURI> للعنصر <ValueLimits> إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنّه يمكن أن يصل طول معرّف الموارد المنتظم الخاص بمساحة الاسم إلى 30 حرفًا، يمكنك تعديل السياسة على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>2</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>30</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

NSPrefixExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Namespace prefix length exceeded [num] at line [num](possibly
        around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Namespace prefix length exceeded 10 at line 2(possibly around char 105)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت الحمولة المسموح بها لرسالة الإدخال المحدّدة من خلال العنصر <Source> تحتوي على مستند XML تتجاوز فيه بادئة مساحة الاسم عدد الأحرف المحدّدة في العنصر الفرعي <NamespacePrefix> من العنصر <NameLimits> للسياسة.

على سبيل المثال، إذا تم تحديد عنصر <NamespacePrefix> على أنّه 10 في سياسة XMLThreatProtection، ولكنّ الحمولة المُدخلة تحتوي على بادئة مساحة اسم تضمّ أكثر من 10 أحرف، يتم طرح هذا الخطأ.

التشخيص

  1. راجِع رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي تم فيه تجاوز طول البادئة لمعرّف الموارد المنتظم لمساحة الاسم. على سبيل المثال، في رسالة الخطأ التالية، اسم السياسة هو XML-Threat-Protection-1 ورقم السطر في الحمولة هو 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    prefix length exceeded 10 at line 2(possibly around char 105)
    
  2. راجِع السياسة التي تعذّر تطبيقها (التي تم تحديدها في الخطوة 1) وسجِّل القيمة المحدّدة في العنصر الفرعي <NamespacePrefix> للعنصر <NameLimits>.

    في المثال التالي لسياسة XMLThreatProtection، تم ضبط <NamespacePrefix> على 10:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. راجِع رقم السطر المحدّد (الذي تم تحديده في الخطوة 1) من الحمولة المُدخلة وتحقّق مما إذا كان طول بادئة مساحة الاسم المحدّدة هناك يحتوي على أحرف أكثر من العدد المحدّد في عنصر <NamespacePrefix> (الذي تم تحديده في الخطوة 2). إذا تجاوز عدد الأحرف حد بادئة مساحة الاسم، فهذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <?xml version = "1.0" encoding = "UTF-8"?>
    <userprofile:user xmlns:userprofile = "www.googlecom/profile">
      <userprofile:name>Rama Krishna</userprofile:name>
      <userprofile:company>Google</userprofile:company>
      <userprofile:phone>(011) 123-4567</userprofile:phone>
    </userprofile:user>
    

    تحتوي "حمولة XML" المعروضة أعلاه في السطر 2 على بادئة مساحة اسم userprofile بطول 11 حرفًا. لأنّ طول بادئة معرّف الموارد المنتظم لمساحة الاسم أكبر من 10 (القيمة المحدّدة لعنصر <NamespacePrefix>)، ستظهر لك رسالة الخطأ التالية:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    prefix length exceeded 10 at line 2(possibly around char 105)
    

الدقة

إذا كان الغرض من سياسة XMLThreatProtection هو الحماية من حِزم البيانات التي تتجاوز طول بادئة معرّف موارد منتظم (URI) لمساحة اسم معيّنة، من المتوقّع ظهور رسالة الخطأ. في هذه الحالة، ليس عليك اتّخاذ أي إجراء إضافي.

ومع ذلك، إذا تبيّن لك أنّه يمكن السماح ببادئة أطول لمعرّف الموارد المنتظم لمساحة الاسم، يمكنك تعديل العنصر الفرعي <NamespacePrefix> للعنصر <NameLimits> إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنه يمكنك استخدام أطوال بادئة معرف موارد منتظم (URI) لمساحة الاسم بما يصل إلى 15 حرفًا، فعدِّل السياسة على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>15</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>2</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>40</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

NSCountExceeded

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Namespace count exceeded [num] at line [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace count exceeded 3 at line 2(possibly around char 234)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كانت الحمولة في رسالة الإدخال المحدّدة من خلال عنصر <Source> في سياسة XMLThreatProtection تحتوي على مستند XML حيث يتجاوز عدد مساحات الاسم المستخدَمة في عنصر واحد العدد المحدّد في العنصر الثانوي <NamespaceCountPerElement> من العنصر <StructureLimits> في السياسة.

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

التشخيص

  1. راجِع رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي تم فيه تجاوز عدد مساحات الاسم. على سبيل المثال، في رسالة الخطأ التالية، اسم السياسة هو XMLThreat-Protection-1 ورقم السطر في الحمولة هو 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace count
    exceeded 3 at line 2(possibly around char 234)
    
  2. راجِع السياسة التي تعذّر تطبيقها (التي تم تحديدها في الخطوة 1) وسجِّل القيمة المحدّدة في العنصر الفرعي <NamespaceCountPerElement> للعنصر <StructureLimits>.

    في المثال التالي لسياسة XMLThreatProtection، تم ضبط <NamespaceCountPerElement> على 3:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. راجِع رقم السطر المحدّد (الذي تم تحديده في الخطوة 1) من الحمولة المُدخلة وتحقّق مما إذا كان عدد مساحات الاسم المحدّدة هناك لعنصر واحد أعلى من العدد المحدّد في عنصر <NamespaceCountPerElement> (الذي تم تحديده في الخطوة 2). إذا تجاوز عدد مساحات الاسم عدد مساحات الاسم لكل حد عنصر، يكون هذا هو سبب الخطأ.

    في ما يلي مثال على حمولة الإدخال:

    <?xml version = "1.0" encoding = "UTF-8"?>
    <hellos xmlns:h="https://www.w3schools.com/greeting1" xmlns:a="https://www.w3schools.com/greeting2" xmlns:b="https://www.w3schols.com/greeting3" xmlns:c="https://www.w3schools.com/greeting4">
        <a:hello1>world1</a:hello1>
        <b:hello2>world2</b:hello2>
        <c:hello2>world2</c:hello2>
        <h:hello2>world2</h:hello2>
    </hellos>
    

    تحتوي "حمولة XML" المعروضة أعلاه في السطر 2 على أكثر من 3 مساحات أسماء. لأنّ عدد مساحات الاسم أكبر من 3 (القيمة المحدّدة للعنصر <NamespaceCountPerElement>)، ستظهر لك رسالة الخطأ التالية:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    count exceeded 3 at line 2(possibly around char 234)
    

الدقة

إذا كانت سياسة XMLThreatProtection مخصّصة للحماية من حِزم البيانات التي تتجاوز عددًا محدّدًا من مساحات الاسماء في عنصر واحد، من المتوقّع ظهور رسالة الخطأ. في هذه الحالة، ليس عليك اتّخاذ أي إجراء إضافي.

ومع ذلك، إذا تبيّن لك أنّه يمكن السماح بعدد أكبر من مساحات الاسماء، يمكنك تعديل العنصر الفرعي <NamespaceCountPerElement> من العنصر <StructureLimits> إلى قيمة مناسبة استنادًا إلى متطلباتك.

على سبيل المثال، إذا كنت تعتقد أنّه يمكنك الحصول على ما يصل إلى 5 مساحات أسماء في عنصر واحد، يمكنك تعديل السياسة على النحو التالي:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>5</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>20</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>40</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>30</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

InvalidXMLPayload

رمز الخطأ

steps.xmlthreatprotection.ExecutionFailed

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. Reason: [error_description]",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: Syntax error while parsing XML prologue",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

السبب

يحدث هذا الخطأ إذا لم تكن حمولة رسالة الإدخال المحدّدة من خلال عنصر <Source> في سياسة XMLProtectionPolicy مستند XML صالحًا.

التشخيص

  1. راجِع رسالة الخطأ لتحديد اسم السياسة التي حدث فيها الخطأ. في المثال التالي، اسم السياسة هو XML-Threat-Protection-1.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: Syntax error while parsing XML prologue
    
  2. راجِع بيانات الإدخال وتحقّق مما إذا كان ملف XML الذي تم تمريره في بيانات الإدخال هو ملف XML صحيح أم لا.

    في ما يلي مثال على حمولة الإدخال:

    <?xml version="1.0" encoding="UTF-8"?>
    <bookstore>
      <book category="cooking">
        <title lang="en">Easy Indian Cooking</title>
        <author>Suneeta</author>
        <year>2004</year>
        <price>300.00</price>
      </book>
    <bookstore>
    

    في الحمولة البرمجية بتنسيق XML الموضّحة أعلاه، لا يغلق السطر 9 العنصر الجذر بشكلٍ صحيح لأنّ / غير متوفّر. بسبب عدم صياغة ملف XML بشكل صحيح، يظهر لك الخطأ:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: Syntax error while parsing XML prologue
    

الدقة

تأكَّد من تمرير حمولة XML صالحة للدخل إلى أي خادم وكيل لواجهة برمجة التطبيقات يتضمّن سياسة XMLThreatProtection.

لتصحيح مثال الخطأ الموضّح أعلاه، عدِّل حمولة البيانات بتنسيق XML للإدخال على النحو التالي:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Easy Indian Cooking
    <author>Suneeta</author>
    <year>2004</year>
    <price>300.00</price>
  </book>
</bookstore>

SourceUnavailable

رمز الخطأ

steps.xmlthreatprotection.SourceUnavailable

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition[policy_name]: Source[var_name] is not available"
        "detail": {
            "errorcode": "steps.xmlthreatprotection.SourceUnavailable"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Source requests is not available",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.SourceUnavailable"
        }
    }
}

السبب

يحدث هذا الخطأ إذا كان المتغيّر message المحدّد في عنصر <Source> لسياسة XMLThreatProtection هو:

  • خارج النطاق (لا تتوفّر خلال المسار المحدّد الذي يتم فيه تنفيذ السياسة)
  • ليست إحدى القيم الصالحة request أو response أو message

على سبيل المثال، يحدث هذا الخطأ إذا تم ضبط عنصر <Source> في السياسة على متغيّر غير موجود في المسار الذي يتم تنفيذ السياسة فيه.

التشخيص

  1. حدِّد اسم سياسة XMLThreatProtection واسم متغيّر Source من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، اسم سياسة XMLThreatProtection هو XML-Threat-Protection-1ومتغيّر المصدر هو requests:.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    
  2. راجِع سياسة XMLThreatProtection التي تعذّر تطبيقها وتحقّق من القيمة المحدّدة لعنصر <Source> الذي تم تحديده في الخطوة 1.

    في مثال سياسة XMLThreatProtection التالي، تم ضبط العنصر <Source> على requests.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>requests</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    

    القيم الصالحة للعنصر <Source> هي request أو response أو message.. وبما أنّ requests ليست قيمة صالحة ولا تتوفّر في المسار الذي يتم تنفيذ السياسة فيه، يظهر لك الخطأ التالي:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    

الدقة

تأكَّد من ضبط المتغيّر في عنصر <Source> لسياسة XMLThreatProtection التي تعذّر تنفيذها على request أو response أو message وأنّه متوفّر في المسار الذي يتم تنفيذ السياسة فيه.

لتصحيح نموذج السياسة المعروض أعلاه، يمكنك تعديل العنصر <Source> لاستخدام المتغيّر request ، لأنّه متوفّر في مسار الطلب:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>20</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>40</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>30</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

NonMessageVariable

رمز الخطأ

steps.xmlthreatprotection.NonMessageVariable

نص استجابة الخطأ

{
    "fault": {
        "faultstring": "Variable var_name does not resolve to a Message"
        "detail": {
            "errorcode": "steps.xmlthreatprotection.NonMessageVariable"
        }
    }
}

مثال على نص استجابة الخطأ

{
    "fault": {
        "faultstring": "Variable message.content does not resolve to a Message",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.NonMessageVariable"
        }
    }
}

السبب

يحدث هذا الخطأ إذا تم ضبط عنصر <Source> في سياسة XMLThreatProtection على متغيّر ليس من النوع Message.

تمثّل متغيّرات أنواع الرسائل طلبات HTTP واستجاباتها بالكامل. أما متغيّرات مسار Apigee Edge المضمَّنة request وresponse وmessage، فهي من النوع "الرسائل". لمزيد من المعلومات عن متغيّرات الرسائل، اطّلِع على مرجع المتغيّرات.

التشخيص

  1. حدِّد اسم المتغيّر الذي يُحلّ إلى متغيّر من نوع Message من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، اسم المتغيّر هو message.content.

    Variable message.content does not resolve to a Message
    
  2. راجِع جميع سياسات XMLThreadProtection في خادم وكيل واجهة برمجة التطبيقات الذي حدث فيه العُطل وحدِّد سياسة XMLThreadProtection المحدّدة التي تم فيها تحديد عنصر <Source> باسم المتغيّر الذي تم تحديده في الخطوة 1 أعلاه.

    في المثال التالي لسياسة XMLThreatProtection، تم ضبط <Source> على message.content:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>message.content</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    

    لأنّ المتغيّر message.content ليس من النوع Message، يظهر لك الخطأ التالي:

    Variable message.content does not resolve to a Message
    

الدقة

تأكَّد من ضبط عنصر <Source> في سياسة XMLThreatProtection التي تعذّر تنفيذها على متغيّر تدفق من النوع Message والذي يتوفّر في التدفق الذي يتم تنفيذ السياسة فيه.

لتصحيح السياسة، يمكنك تعديل العنصر <Source> لتحديد متغيّر من النوع Message. على سبيل المثال، في XMLThreatProtection الذي تعذّر تحليله، يمكنك تحديد عنصر <Source> على أنّه message:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>message</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>20</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>40</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>30</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>