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

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

ExecutionFailed

کد خطا

steps.xmlthreatprotection.ExecutionFailed

متن پاسخ خطا

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

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

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

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

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

خطا علت
ElementNameExceeded طول رشته از حداکثر طول مجاز در برچسب XML فراتر رفته است.
ChildCountExceeded تعداد عناصر فرزند مجاز در یک بار XML از حداکثر مجاز فراتر رفته است.
NodeDepthExceeded از حداکثر عمق مجاز عناصر زبان نشانه‌گذاری توسعه‌پذیر در یک بار زبان نشانه‌گذاری توسعه‌پذیر فراتر رفته است.
AttributeCountExceeded تعداد ویژگی‌ها در یک عنصر از حداکثر مجاز بیشتر شده است.
AttributeNameExceeded حداکثر طول مجاز برای نام مشخصه ازحد مجاز فراتر رفته است.
AttributeValueExceeded حداکثر طول مجاز برای مقدار مشخصه ازحد مجاز فراتر رفته است.
TextExceeded از حداکثر طول مجاز برای نوشتار فراتر رفته‌اید.
CommentExceeded از حداکثر طول مجاز برای نظر فراتر رفته‌اید.
PIDataExceeded طول داده‌های دستورالعمل پردازش مجاز از حد مجاز فراتر رفته است.
PITargetExceeded طول نام دستورالعمل پردازش از حد مجاز بیشتر است.
NSURIExceeded طول نشانی وب فضای نام از حد مجاز بیشتر است.
NSPrefixExceeded طول پیشوند فضای نام از حد مجاز بیشتر است.
NSCountExceeded تعداد فضاهای نام استفاده‌شده در یک عنصر از حد مجاز فراتر رفته است.
بار XML نامعتبر «بار XML» ورودی نامعتبر است.

ElementNameExceeded

کد خطا

steps.xmlthreatprotection.ExecutionFailed

متن پاسخ خطا

ترافیک زمان اجرا کد پاسخ ۵۰۰ را با خطای زیر برمی‌گرداند:

{
    "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> در خط‌مشی 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. خط‌مشی ناموفق (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر <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. شماره خط خاص (شناسایی‌شده در «مرحله ۱») بار داده ورودی را بررسی کنید و ببینید طول عنصر در آن خط بیشتر از مقدار مشخص‌شده برای عنصر <Element> (شناسایی‌شده در «مرحله ۲») است یا نه. اگر طول عنصر از این مقدار بیشتر باشد، دلیل خطا همین است.

    در اینجا یک نمونه از محتوای ورودی آورده شده است:

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

    بار XML نشان‌داده‌شده در بالا عنصر ریشه‌ای به‌نام company در خط ۱ دارد که ۷ نویسه دارد. ازآنجایی‌که طول عنصر از ۵ (مقدار مشخص‌شده برای عنصر <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> را براساس الزاماتتان به مقدار مناسبی تغییر دهید.

برای مثال، اگر فکر می‌کنید می‌توانید عناصر را تا طول ۱۰ مجاز کنید، خط‌مشی 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> برابر با ۳ باشد، اما بار XML ورودی عنصری با بیش‌از ۳ عنصر فرزند داشته باشد، این خطا ایجاد می‌شود.

تشخیص

  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. خط‌مشی ناموفق (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر <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. شماره خط خاص (شناسایی‌شده در مرحله ۱) بار ورودی را بررسی کنید و ببینید آیا تعداد عناصر فرزند (شامل همه نظرات و غیره) در بار بیش‌از مقدار مشخص‌شده برای عنصر <ChildCount> (شناسایی‌شده در مرحله ۲) است یا نه. اگر تعداد عناصر فرزند از تعداد فرزند بیشتر باشد، این دلیل خطا است.

    در اینجا یک بار داده ورودی نمونه آورده شده است:

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

    در بار XML نشان‌داده‌شده در بالا، خط ۵ حاوی چهارمین عنصر فرزند <director>عنصر ریشه <movie> است. ازآنجایی‌که تعداد عنصر فرزند در محتوای XML ورودی بیشتر از ۳ است (مقدار مشخص‌شده برای عنصر <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> را براساس الزامات خود به مقدار مناسبی تغییر دهید.

برای مثال، اگر فکر می‌کنید می‌توانید تا ۱۰ عنصر فرزند را مجاز کنید، خط‌مشی 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 (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر <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. شماره خط خاص (شناسایی‌شده در مرحله ۱) از پایه‌بار ورودی را بررسی کنید و ببینید آیا عمق گره مشخص‌شده در آنجا تعداد بیشتری نسبت‌به تعداد مشخص‌شده در عنصر <NodeDepth> (شناسایی‌شده در مرحله ۲) دارد یا نه. اگر سطح عناصر فرزند 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» نشان‌داده‌شده در بالا در خط ۶ دارای عمق گره ۶ است.چون عمق گره از ۵ (مقدار مشخص‌شده برای عنصر <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> را براساس الزاماتتان به مقدار مناسبی تغییر دهید.

برای مثال، اگر فکر می‌کنید می‌توانید عمق گره را تا ۱۰ مجاز کنید، خط‌مشی را به‌صورت زیر اصلاح کنید:

<?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> در خط‌مشی XMLThreatProtection به‌عنوان 2 مشخص شده باشد، اما بار ورودی عنصری با بیش‌از ۲ مشخصه داشته باشد، این خطا ایجاد می‌شود.

تشخیص

  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. خط‌مشی ناموفق (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر <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. شماره خط مشخص (شناسایی‌شده در مرحله ۱) از پایه‌بار ورودی را بررسی کنید و ببینید آیا تعداد مشخصه‌های تعیین‌شده از تعداد مشخص‌شده در عنصر <AttributeCountPerElementh> (شناسایی‌شده در مرحله ۲) فراتر می‌رود یا نه. اگر تعداد مشخصه‌ها از تعداد مجاز بیشتر باشد، این دلیل خطا است.

    در اینجا یک نمونه از محتوای ورودی آورده شده است:

    <?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 نشان‌داده‌شده در بالا در خط ۳ عنصری با سه مشخصه دارد. چون تعداد مشخصه از ۲ (مقدار مشخص‌شده برای عنصر <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> را براساس الزاماتتان به مقدار مناسبی تغییر دهید.

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

<?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 مشخص شده باشد، اما نام مشخصه در داده‌بار ورودی بیش‌از ۵ نویسه داشته باشد، این خطا ایجاد می‌شود.

تشخیص

  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. خط‌مشی ناموفق (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر <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. شماره خط خاص (شناسایی‌شده در «مرحله ۱») بار ورودی را بررسی کنید و ببینید آیا طول مشخصه تعیین‌شده در آنجا نویسه‌های بیشتری نسبت‌به تعداد مشخص‌شده در عنصر <Attribute> (شناسایی‌شده در «مرحله ۲») دارد یا نه. اگر تعداد نویسه‌ها از مقدار مشخصه بیشتر باشد، این دلیل خطا است.

    در اینجا یک بار داده ورودی نمونه آورده شده است:

    <?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» نشان‌داده‌شده در بالا در خط ۳ دو مشخصه category و cuisine با طول نام ۸ و ۷ نویسه دارد. چون طول نام مشخصه از ۵ (مقدار مشخص‌شده برای عنصر <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> را براساس الزاماتتان به مقدار مناسبی تغییر دهید.

برای مثال، اگر فکر می‌کنید می‌توانید نام مشخصه‌هایی با حداکثر ۱۰ نویسه داشته باشید، خط‌مشی را به‌صورت زیر اصلاح کنید:

<?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> در خط‌مشی 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. خط‌مشی ناموفق (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر فرزند <Attribute> عنصر <ValueLimits> را یادداشت کنید.

    در مثال خط‌مشی XMLThreatProtection زیر، <Attribute> روی ۱۰ تنظیم شده است:

    <?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. شماره خط خاص (شناسایی‌شده در «مرحله ۱») بار ورودی را بررسی کنید و ببینید آیا طول مقدار مشخصه در آنجا نویسه‌های بیشتری از تعداد مشخص‌شده در عنصر <Attribute> (شناسایی‌شده در «مرحله ۲») دارد یا نه. اگر تعداد نویسه‌ها از مقدار مشخصه بیشتر باشد، این دلیل خطا است.

    در اینجا یک بار داده ورودی نمونه آورده شده است:

    <?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» نشان‌داده‌شده در بالا در خط ۳ دارای مشخصه‌ای (غذا) با مقدار طول ۱۲ نویسه است. چون طول مقدار مشخصه بیشتر از ۱۰ است (مقدار مشخص‌شده برای عنصر <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> را براساس الزاماتتان به مقدار مناسبی تغییر دهید.

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

<?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 مشخص شده باشد، اما پیام ورودی نوشتاری با بیش‌از ۱۵ نویسه داشته باشد، این خطا ایجاد می‌شود.

تشخیص

  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. خط‌مشی ناموفق (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر فرزند <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. شماره خط خاص (شناسایی‌شده در «مرحله ۱») بار ورودی را بررسی کنید و ببینید آیا طول مقدار مشخصه در آنجا نویسه‌های بیشتری از تعداد مشخص‌شده در عنصر <Text> (شناسایی‌شده در «مرحله ۲») دارد یا نه. اگر تعداد نویسه‌ها از مقدار مشخصه بیشتر باشد، این دلیل خطا است.

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

    «بار XML» نشان‌داده‌شده در بالا در خط ۴ نوشتاری با طول ۵۳ نویسه دارد. چون طول مقدار مشخصه بیشتر از ۱۵ است (مقدار مشخص‌شده برای عنصر <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> را براساس الزاماتتان به مقدار مناسبی تغییر دهید.

برای مثال، اگر فکر می‌کنید می‌توانید مقادیر مشخصه را تا ۶۰ نویسه داشته باشید، خط‌مشی را به‌صورت زیر اصلاح کنید:

<?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 مشخص شده باشد، اما بار ورودی دارای نظری با بیش‌از ۱۰ نویسه باشد، این خطا ایجاد می‌شود.

تشخیص

  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. خط‌مشی ناموفق (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر فرزند <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. شماره خط خاص (شناسایی‌شده در مرحله ۱) پایه‌بار ورودی را بررسی کنید و ببینید آیا طول نظر مشخص‌شده در آنجا نویسه‌های بیشتری از تعداد مشخص‌شده در عنصر <Comment> (شناسایی‌شده در مرحله ۲) دارد یا نه. اگر تعداد نویسه‌ها از مقدار مشخصه بیشتر باشد، این دلیل خطا است.

    در اینجا یک نمونه از محتوای ورودی آورده شده است:

    <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» نشان‌داده‌شده در بالا در خط ۲ دارای نظر با طول مقدار ۳۱ نویسه است. چون طول نظر از ۱۰ (مقدار مشخص‌شده برای عنصر <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> را براساس الزامات خود به مقدار مناسبی تغییر دهید.

برای مثال، اگر فکر می‌کنید می‌توانید مقادیر را تا ۴۰ نویسه نسبت دهید، خط‌مشی را به‌صورت زیر اصلاح کنید:

<?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> در خط‌مشی 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. خط‌مشی ناموفق (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر فرزند <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. شماره خط خاص (شناسایی‌شده در مرحله ۱) بار ورودی را بررسی کنید و ببینید آیا طول داده‌های دستورالعمل پردازش مشخص‌شده در آنجا نویسه‌های بیشتری نسبت‌به تعداد مشخص‌شده در عنصر <ProcessingInstructionData> (شناسایی‌شده در مرحله ۲) دارد یا نه. اگر تعداد نویسه‌ها از داده‌های دستورالعمل پردازش فراتر رود، این دلیل خطا است.

    در اینجا یک بار داده ورودی نمونه آورده شده است:

    <?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 نشان‌داده‌شده در بالا در خط ۱ عنصر داده دستورالعمل پردازش (type="text/xsl" href="mobilephones.xsl"?)با طول ۴۰ نویسه. دارد. ازآنجایی‌که این طول بیشتر از ۳۰ (مقدار مشخص‌شده برای عنصر <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> را به مقدار مناسبی براساس الزاماتتان تغییر دهید.

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

<?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> در خط‌مشی 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 (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر فرزند <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. شماره خط مشخص (شناسایی‌شده در «مرحله ۱») از محتوای ورودی را بررسی کنید و ببینید آیا طول هدف دستورالعمل پردازش مشخص‌شده در آنجا نویسه‌های بیشتری نسبت‌به تعداد مشخص‌شده در عنصر <ProcessingInstructionTarget> (شناسایی‌شده در «مرحله ۲») دارد یا نه. اگر تعداد نویسه‌ها از حد مجاز اندازه هدف فراتر رود، این دلیل خطا است.

    در اینجا یک نمونه از محتوای ورودی آورده شده است:

    <?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» نشان‌داده‌شده در بالا در خط ۲ دارای نام هدف دستورالعمل پردازش «xml-stylesheet"» با طول ۱۴ نویسه است. چون نام هدف دستورالعمل پردازش از ۱۰ (مقدار مشخص‌شده برای عنصر <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>

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

برای مثال، اگر عنصر <NamespaceURI> در خط‌مشی به‌عنوان 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. خط‌مشی ناموفق (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر فرزند <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. شماره خط خاص (شناسایی‌شده در مرحله ۱) بار داده ورودی را بررسی کنید و ببینید آیا طول نشانی وب فضای نام مشخص‌شده در آنجا نویسه‌های بیشتری نسبت‌به تعداد مشخص‌شده در عنصر <NamespaceURI> (شناسایی‌شده در مرحله ۲) دارد یا نه. اگر تعداد نویسه‌ها از طول نشانی وب فضای نام فراتر رود، این دلیل خطا است.

    در اینجا یک بار داده ورودی نمونه آورده شده است:

    <?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» نشان‌داده‌شده در بالا در خط ۲ دارای نشانی وب فضای نام، www.google.com/profile، با طول ۲۲ نویسه است. چون طول نشانی وب فضای نام بیشتر از ۱۰ است (مقدار مشخص‌شده برای عنصر <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> را براساس الزاماتتان به مقدار مناسبی تغییر دهید.

برای مثال، اگر فکر می‌کنید می‌توانید طول نشانی وب فضای نام را تا ۳۰ نویسه داشته باشید، خط‌مشی را به‌صورت زیر اصلاح کنید:

<?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> در خط‌مشی XMLThreatProtection به‌عنوان 10 مشخص شده باشد، اما بار ورودی پیشوند فضای نامی با بیش‌از ۱۰ نویسه داشته باشد، این خطا ایجاد می‌شود.

تشخیص

  1. پیام خطا را بررسی کنید تا نام خطمشی XMLThreatProtection و شماره سطری را که پیشوند URI فضای نام از طول مجاز فراتر رفته است شناسایی کنید. برای مثال، در پیام خطای زیر، نام خط‌مشی XML-Threat-Protection-1 و شماره خط در بار 2 است:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    prefix length exceeded 10 at line 2(possibly around char 105)
    
  2. خط‌مشی ناموفق (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر فرزند <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. شماره خط خاص (شناسایی‌شده در «مرحله ۱») بار ورودی را بررسی کنید و ببینید آیا طول پیشوند فضای نام مشخص‌شده در آنجا نویسه‌های بیشتری نسبت‌به تعداد مشخص‌شده در عنصر <NamespacePrefix> (شناسایی‌شده در «مرحله ۲») دارد یا نه. اگر تعداد نویسه‌ها از حد پیشوند فضای نام بیشتر شود، این دلیل خطا است.

    در اینجا یک نمونه از محتوای ورودی آورده شده است:

    <?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» نشان‌داده‌شده در بالا در خط ۲ پیشوند فضای نام userprofile با طول ۱۱ نویسه دارد. چون طول پیشوند نشانی وب فضای نام بزرگ‌تر از ۱۰ است (مقدار مشخص‌شده برای عنصر <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> را براساس الزاماتتان به مقدار مناسبی تغییر دهید.

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

<?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 مشخص شده باشد، اما بار ورودی عنصری با بیش‌از ۳ فضای نام داشته باشد، این خطا ایجاد می‌شود.

تشخیص

  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. خط‌مشی ناموفق (شناسایی‌شده در «مرحله ۱») را بررسی کنید و مقدار مشخص‌شده در عنصر فرزند <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. شماره خط خاص (شناسایی‌شده در مرحله ۱) از محتوای ورودی را بررسی کنید و ببینید آیا تعداد فضای نام‌های مشخص‌شده در آن برای یک عنصر واحد بیشتر از تعداد مشخص‌شده در عنصر <NamespaceCountPerElement> (شناسایی‌شده در مرحله ۲) است یا نه. اگر تعداد فضای نام از حد مجاز تعداد فضای نام در هر عنصر بیشتر شود، این دلیل خطا است.

    در اینجا یک بار داده ورودی نمونه آورده شده است:

    <?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» نشان‌داده‌شده در بالا در خط ۲ بیش‌از ۳ فضای نام دارد. چون تعداد فضای نام بیشتر از ۳ است (مقدار مشخص‌شده برای عنصر <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> را براساس الزاماتتان به مقدار مناسبی تغییر دهید.

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

<?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 یک «سند زبان نشانه‌گذاری توسعه‌پذیر» معتبر نباشد.

تشخیص

  1. پیام خطا را بررسی کنید تا نام خط‌مشی‌ای را که خطا در آن رخ داده است شناسایی کنید. در مثال زیر، نام خط‌مشی XML-Threat-Protection-1 است.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: Syntax error while parsing XML prologue
    
  2. بار ورودی را بررسی کنید و ببینید سند «زبان نشانه‌گذاری توسعه‌پذیر» (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 نشان‌داده‌شده در بالا، خط ۹ عنصر ریشه را به‌درستی نمی‌بندد زیرا / وجود ندارد. چون این XML قالب درست ندارد، این خطا را دریافت می‌کنید:

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

وضوح

مطمئن شوید که یک بار XML ورودی معتبر به هر پراکسی API که شامل خط‌مشی 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"
        }
    }
}

علت

این خطا زمانی رخ می‌دهد که متغیر پیام مشخص‌شده در عنصر <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> را که در «مرحله ۱» شناسایی شده است بررسی کنید.

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

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

تشخیص

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

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

    در مثال خط‌مشی XMLThreatProtection زیر، <Source> روی message.content تنظیم شده است:

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

    چون متغیر message.content از نوع «پیام» نیست، این خطا را دریافت می‌کنید:

    Variable message.content does not resolve to a Message
    

وضوح

مطمئن شوید عنصر <Source> در خط‌مشی ناموفق XMLThreatProtection روی متغیر جاری‌سازی نوع پیام تنظیم شده باشد که در جاری‌سازی‌ای که خط‌مشی در آن اجرا می‌شود وجود دارد.

برای اصلاح خط‌مشی، می‌توانید عنصر <Source> را تغییر دهید تا متغیری را که از نوع «پیام» است مشخص کنید. برای مثال، در XMLThreatProtection ناموفق می‌توانید عنصر <Source> را به‌عنوان message مشخص کنید:

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