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

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

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 إلى عدّة أنواع مختلفة من أخطاء التنفيذ الناجح. يسرد الجدول التالي الأنواع المختلفة من الأخطاء وأسبابها المحتملة:

خطأ السبب
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 على عنصر بثلاث سمات. بما أنّ عدد السمات أكبر من 2 (القيمة المحدّدة للعنصر <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 سمة (مطعم) يبلغ طولها 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 حيث يتجاوز معرّف الموارد المنتظم Namespace عدد الأحرف المحددة في العنصر الفرعي <NamespaceURI> للعنصر <ValueLimits> في السياسة.

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

التشخيص

  1. افحص رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي تم فيه تجاوز طول معرّف الموارد المنتظم (URI) لمساحة الاسم. على سبيل المثال، في رسالة الخطأ التالية، اسم السياسة هو 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) لحمولة الإدخال وتحقَّق ممّا إذا كان طول معرّف الموارد المنتظم (URI) لمساحة الاسم المحدَّد يحتوي على أحرف أكثر من الرقم المحدَّد في العنصر <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 على معرّف موارد منتظم (URI) لمساحة الاسم، 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) لمساحة الاسم، من المتوقّع أن تظهر رسالة الخطأ. في هذه الحالة، ليس عليك اتّخاذ أي إجراء إضافي.

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

على سبيل المثال، إذا كنت تعتقد أن طول معرف الموارد المنتظم (URI) لمساحة الاسم يصل إلى 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 حيث تتجاوز بادئة Namespace عدد الأحرف المحدَّدة في العنصر الفرعي <NamespacePrefix> في العنصر <NameLimits> الخاص بالسياسة.

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

التشخيص

  1. افحص رسالة الخطأ لتحديد اسم سياسة XMLThreatProtection ورقم السطر الذي تم فيه تجاوز طول بادئة معرّف الموارد المنتظم (URI) لمساحة الاسم. على سبيل المثال، في رسالة الخطأ التالية، اسم السياسة هو 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 حرفًا. بما أنّ طول بادئة معرّف الموارد المنتظم (URI) لمساحة الاسم أكبر من 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) لمساحة الاسم، من المتوقّع أن تظهر رسالة الخطأ. في هذه الحالة، ليس عليك اتّخاذ أي إجراء إضافي.

مع ذلك، إذا حدّدت أنّه يمكن السماح باستخدام بادئة معرّف موارد منتظمة (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 واسم متغير المصدر من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم سياسة 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 هي من النوع Message. لمعرفة المزيد من المعلومات عن متغيّرات الرسائل، اطّلِع على مرجع المتغيّرات.

التشخيص

  1. حدد اسم المتغير الذي يتم حله إلى نوع رسالة المتغير الوارد في رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم المتغيّر هو 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 ليس من نوع الرسالة، ستظهر لك رسالة الخطأ:

    Variable message.content does not resolve to a Message
    

درجة الدقّة

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

لتصحيح السياسة، يمكنك تعديل العنصر <Source> لتحديد متغيّر من النوع "الرسائل". على سبيل المثال، في ملف 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>