عیب یابی خطای زمان اجرا خط مشی XMLThreatProtection

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

اجرا ناموفق بود

کد خطا

steps.xmlthreatprotection.ExecutionFailed

بدنه پاسخ به خطا

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

مثال بدنه پاسخ به خطا

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

انواع خطاها و علل احتمالی

خط مشی XMLThreatProtection می تواند انواع مختلفی از خطاهای ExecutionFailed را ایجاد کند. جدول زیر انواع مختلف خطاها و علل احتمالی آنها را فهرست می کند:

خطا علت
ElementNameExceeded از حداکثر طول رشته مجاز در یک تگ XML فراتر رفته است.
ChildCount Exceeded از حداکثر تعداد عناصر فرزند مجاز در بارگذاری XML فراتر رفته است.
NodeDepthExceeded از حداکثر عمق عناصر XML مجاز در بارگذاری XML فراتر رفته است.
AttributeCountExceeded از حداکثر تعداد صفات در یک عنصر فراتر رفته است.
AttributeNameExceeded از حداکثر طول مجاز برای نام مشخصه فراتر رفته است.
AttributeValueExceeded از حداکثر طول مجاز برای مقدار مشخصه فراتر رفته است.
متن بیش از حد از حداکثر طول مجاز برای متن فراتر رفته است.
Comment Exceeded از حداکثر طول مجاز برای نظر فراتر رفته است.
PIData فراتر رفت از طول داده های دستورالعمل پردازش مجاز فراتر رفته است.
PITarget Exceeded از طول نام دستورالعمل فرآیند فراتر رفته است.
NSURIE فراتر رفت از طول URL فضای نام فراتر رفته است.
NSPrefix Exceeded از طول پیشوند فضای نام فراتر رفته است.
NSCountExceeded تعداد فضاهای نام استفاده شده در یک عنصر بیشتر شده است.
XML Payload نامعتبر است ورودی XML Payload نامعتبر است.

ElementNameExceeded

کد خطا

steps.xmlthreatprotection.ExecutionFailed

بدنه پاسخ به خطا

ترافیک Runtime کد پاسخ 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>

ChildCount Exceeded

کد خطا

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 و شماره خط در payload 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 و شماره خط در payload 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 Payload نشان داده شده در بالا در خط 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، اما بار ورودی دارای یک عنصر با بیش از 2 ویژگی است، سپس این خطا پرتاب می شود.

تشخیص

  1. پیام خطا را بررسی کنید تا نام خط مشی XMLThreatProtection و شماره خطی که در آن از تعداد مشخصه ها بیشتر شده است را شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام خط مشی XMLThreat-Protection-1 و شماره خط در payload 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 در خط مشی مشخص شده باشد، اما payload ورودی دارای یک نام ویژگی با بیش از 5 کاراکتر باشد، این خطا پرتاب می شود.

تشخیص

  1. پیام خطا را برای شناسایی نام خط مشی XMLThreatProtection و شماره خطی که در آن طول نام مشخصه بیشتر شده است، بررسی کنید. به عنوان مثال، در پیغام خطای زیر، نام خط مشی XML-Threat-Protection-1 و شماره خط در payload 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 Payload نشان داده شده در بالا در خط 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 مشخص شده باشد، اما payload ورودی دارای یک مقدار مشخصه با بیش از 10 کاراکتر باشد، این خطا پرتاب می شود.

تشخیص

  1. پیام خطا را بررسی کنید تا نام خط مشی XMLThreatProtection و شماره خطی که در آن از تعداد مشخصه ها بیشتر شده است را شناسایی کنید. به عنوان مثال، در پیغام خطای زیر، نام خط مشی XML-Threat-Protection-1 و شماره خط در payload 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 Payload نشان داده شده در بالا در خط 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>

متن بیش از حد

کد خطا

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 در خط مشی مشخص شده باشد، اما payload ورودی دارای متنی با بیش از 15 کاراکتر باشد، این خطا پرتاب می شود.

تشخیص

  1. پیام خطا را بررسی کنید تا نام خط مشی XMLThreatProtection و شماره خطی که در آن از تعداد مشخصه ها بیشتر شده است را شناسایی کنید. به عنوان مثال، در پیغام خطای زیر، نام خط مشی XML-Threat-Protection-1 و شماره خط در payload 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 Payload نشان داده شده در بالا در خط 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>

Comment Exceeded

کد خطا

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 در خط مشی مشخص شده باشد، اما payload ورودی دارای یک نظر با بیش از 10 کاراکتر باشد، این خطا پرتاب می شود.

تشخیص

  1. پیام خطا را بررسی کنید تا نام خط مشی XMLThreatProtection و شماره خطی که در آن از طول نظر فراتر رفته است را شناسایی کنید. به عنوان مثال، در پیغام خطای زیر، نام خط مشی XML-Threat-Protection-1 و شماره خط در payload 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 Payload نشان داده شده در بالا در خط 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>

PIData فراتر رفت

کد خطا

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 مشخص شده باشد، اما payload ورودی دارای یک دستورالعمل پردازشی با بیش از 10 کاراکتر باشد، این خطا پرتاب می شود.

تشخیص

  1. پیام خطا را بررسی کنید تا نام خط مشی XMLThreatProtection و شماره خطی را که از طول دستورالعمل پردازش فراتر رفته است شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام خط مشی XML-Threat-Protection-1 و شماره خط در payload 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>

PITarget Exceeded

کد خطا

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 مشخص شده باشد، اما payload ورودی دارای یک هدف دستورالعمل فرآیند با بیش از 10 کاراکتر باشد، آنگاه این خطا پرتاب می شود.

تشخیص

  1. پیام خطا را برای شناسایی نام خط مشی XMLThreatProtection و شماره خطی که در آن از تعداد هدف دستورالعمل پردازش فراتر رفته است، بررسی کنید. به عنوان مثال، در پیغام خطای زیر، نام خط مشی XML-Threat-Protection-1 و شماره خط در payload 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 Payload نشان داده شده در بالا در خط 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> را به مقدار مناسب بر اساس نیاز خود تغییر دهید.

به عنوان مثال، اگر فکر می‌کنید می‌توانید اهداف دستورالعمل‌های پردازش حداکثر ۲۵ نویسه داشته باشید، خط‌مشی را به صورت زیر تغییر دهید:

  <?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>

NSURIE فراتر رفت

کد خطا

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 فضای نام از تعداد نویسه‌های تعیین‌شده در عنصر <NamespaceURI> عنصر <ValueLimits> سیاست بیشتر باشد.

به عنوان مثال، اگر عنصر <NamespaceURI> به عنوان 10 در خط مشی مشخص شده باشد، اما بار ورودی دارای یک URI فضای نام با بیش از 10 کاراکتر باشد، این خطا پرتاب می شود.

تشخیص

  1. برای شناسایی نام خط مشی XMLThreatProtection و شماره خطی که از طول URI فضای نام فراتر رفته است، پیام خطا را بررسی کنید. به عنوان مثال، در پیام خطای زیر، نام خط مشی XML-Threat-Protection-1 و شماره خط در payload 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 Payload نشان داده شده در بالا در خط 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>

NSPrefix Exceeded

کد خطا

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 و شماره خطی که از طول پیشوند URI فضای نام فراتر رفته است، پیام خطا را بررسی کنید. به عنوان مثال، در پیام خطای زیر، نام خط مشی XML-Threat-Protection-1 و شماره خط در payload 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 Payload که در بالا در خط 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 و شماره خط در payload 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 Payload نشان داده شده در بالا در خط 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 به هر پروکسی API که شامل خط‌مشی XMLThreatProtection است ارسال می‌شود.

برای تصحیح خطای مثالی که در بالا توضیح داده شد، ورودی XML payload را به صورت زیر تغییر دهید:

<?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>

منبع در دسترس نیست

کد خطا

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"
        }
    }
}

علت

این خطا در صورتی رخ می دهد که متغیر پیام مشخص شده در عنصر <Source> خط مشی XMLThreatProtection یکی از این موارد باشد:

  • خارج از محدوده (در جریان خاصی که سیاست در آن اجرا می شود موجود نیست)
  • یکی از مقادیر معتبر request ، response یا message نیست

به عنوان مثال، اگر عنصر <Source> در خط مشی روی متغیری تنظیم شود که در جریانی که سیاست اجرا می شود وجود نداشته باشد، این خطا رخ می دهد.

تشخیص

  1. نام خط مشی XMLThreatProtection و نام متغیر Source را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام خط مشی XMLThreatProtection XML-Threat-Protection-1 است و متغیر Source 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> از خط مشی XMLTreatProtection ناموفق روی request ، response یا message تنظیم شده است و در جریان جایی که سیاست اجرا می شود وجود دارد.

برای تصحیح خط مشی مثال نشان داده شده در بالا ، می توانید عنصر <Source> را برای استفاده از request تغییر دهید 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>

غیر قابل قبول

کد خطا

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> در خط مشی XMLTreatProtection روی متغیری تنظیم شود که از نوع پیام نیست.

متغیرهای نوع پیام، کل درخواست‌ها و پاسخ‌های HTTP را نشان می‌دهند. متغیرهای داخلی Edge Edge request ، response و message از نوع پیام است. برای کسب اطلاعات بیشتر در مورد متغیرهای پیام، به مرجع متغیرها مراجعه کنید.

تشخیص

  1. نام متغیری را که از طریق پیام خطا به نوع پیام متغیر برطرف می شود ، شناسایی کنید. به عنوان مثال ، در پیام خطای زیر نام متغیر message.content است.

    Variable message.content does not resolve to a Message
    
  2. تمام خط مشی های XMLTHREADPROTECTION را در پروکسی API که در آن خرابی رخ داده است ، بررسی کنید و خط مشی خاص XMLTHREADPROTECTION را که در آن عنصر <Source> با نام متغیر مشخص شده در مرحله 1 بالا مشخص شده است ، شناسایی کنید.

    در مثال خط مشی XMLTheTreatProtection زیر ، <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> در خط مشی XMLTheTreatProtection ناموفق روی یک متغیر جریان نوع پیام تنظیم شده است که در جریان جایی که سیاست اجرا می شود وجود دارد.

برای تصحیح خط مشی ، می توانید عنصر <Source> را تغییر دهید تا متغیری از پیام نوع باشد. به عنوان مثال ، در XMLTheTreatProtection ناموفق می توانید عنصر <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>