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

خطأ السبب
ElementNameExceeded تم تجاوز الحد الأقصى المسموح به لطول السلسلة في علامة XML.
ChildCountExceeded تم تجاوز الحد الأقصى لعدد العناصر الثانوية المسموح بها في حمولة XML.
NodeDepthExceeded تم تجاوز الحد الأقصى للعمق المسموح به لعناصر 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 على سمة (مطعم) يبلغ طولها 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 ورقم السطر الذي يتم فيه تجاوز طول معرّف الموارد المنتظم (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) من الحمولة المُدخلة وتحقَّق مما إذا كان طول معرّف الموارد المنتظم للمساحة الاسمية المحدّد هناك يتضمّن عددًا أكبر من الأحرف مقارنةً بالعدد المحدّد في عنصر <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> إلى قيمة مناسبة استنادًا إلى متطلباتك.

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

ومع ذلك، إذا تبيّن لك أنّه يمكن السماح ببادئة أطول لمعرّف الموارد المنتظم لمساحة الاسم، يمكنك تعديل العنصر الفرعي <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 ليس من النوع "Message" رسالة، ستظهر لك رسالة الخطأ:

    Variable message.content does not resolve to a Message
    

الدقة

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

لتصحيح السياسة، يمكنك تعديل العنصر <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>