การแก้ปัญหาเกี่ยวกับรันไทม์ของนโยบาย XMLThreatProtection

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

ExecutionFailed

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

ประเภทของข้อผิดพลาดและสาเหตุที่เป็นไปได้

นโยบาย XMLThreatProtection อาจทำให้เกิดข้อผิดพลาด ExecutionFailed ได้หลายประเภท ตารางด้านล่างแสดงข้อผิดพลาดประเภทต่างๆ และสาเหตุที่เป็นไปได้

ข้อผิดพลาด สาเหตุ
ElementNameExceeded ความยาวสตริงสูงสุดที่อนุญาตในแท็ก XML เกิน
ChildCountExceeded จำนวนองค์ประกอบย่อยสูงสุดที่อนุญาตในเพย์โหลด XML เกิน
NodeDepthExceeded ความลึกสูงสุดขององค์ประกอบ XML ที่อนุญาตในเพย์โหลด XML เกินขีดจำกัด
AttributeCountExceeded จำนวนแอตทริบิวต์สูงสุดในองค์ประกอบเดียวเกินขีดจำกัดแล้ว
AttributeNameExceeded ชื่อแอตทริบิวต์มีความยาวเกินจำนวนสูงสุดที่อนุญาต
AttributeValueExceeded ค่าแอตทริบิวต์ยาวเกินความยาวสูงสุดที่อนุญาต
TextExceeded ข้อความมีความยาวเกินขีดจำกัดสูงสุดที่อนุญาต
CommentExceeded ความคิดเห็นมีความยาวเกินขีดจำกัดสูงสุดที่อนุญาต
PIDataExceeded ความยาวของข้อมูลคำสั่งการประมวลผลที่อนุญาตเกิน
PITargetExceeded ชื่อวิธีการประมวลผลยาวเกินไป
NSURIExceeded URL ของเนมสเปซยาวเกินไป
NSPrefixExceeded ความยาวของคำนำหน้าเนมสเปซเกินขีดจำกัด
NSCountExceeded จำนวนเนมสเปซที่ใช้ในองค์ประกอบเดียวเกินขีดจำกัด
เพย์โหลด XML ไม่ถูกต้อง เพย์โหลด XML ที่ป้อนไม่ถูกต้อง

ElementNameExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

การเข้าชมรันไทม์จะแสดงโค้ดตอบกลับ 500 พร้อมข้อผิดพลาดต่อไปนี้

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลดอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบายมีองค์ประกอบ XML ที่มีความยาวเกินความยาวสูงสุดที่ระบุไว้ในองค์ประกอบ <Element> ใต้องค์ประกอบ <NameLimits>

เช่น หากระบุองค์ประกอบ <Element> เป็น 5 ในนโยบาย XMLThreatProtection แต่เพย์โหลดอินพุตมีองค์ประกอบที่มีอักขระมากกว่า 5 ตัว ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection, หมายเลขบรรทัด และหมายเลขอักขระที่เป็นไปได้ในเพย์โหลดอินพุตที่ความยาวขององค์ประกอบเกิน

    ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XML-Threat-Protection-1,หมายเลขบรรทัดในเพย์โหลดคือ 1 และหมายเลขอักขระที่เป็นไปได้คือ 9.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Element name
    length exceeded 5 at line 1(possibly around char 9)
    
  2. ตรวจสอบนโยบายที่ไม่ผ่าน (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุในองค์ประกอบ <Element>

    ตัวอย่างเช่น ในนโยบาย XMLThreatProtection ต่อไปนี้ <Element> จะตั้งค่าเป็น 5

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>5</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>5</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่าความยาวขององค์ประกอบในบรรทัดนั้นมากกว่าค่าที่ระบุสำหรับองค์ประกอบ <Element> (ระบุในขั้นตอนที่ 2) หรือไม่ หากความยาวขององค์ประกอบเกินค่านี้ แสดงว่าค่านี้เป็นสาเหตุของข้อผิดพลาด

    ตัวอย่างเพย์โหลดอินพุตมีดังนี้

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

    เพย์โหลด XML ที่แสดงด้านบนมีองค์ประกอบรูทชื่อ company ที่บรรทัดที่ 1 ซึ่งมีอักขระ 7 ตัว เนื่องจากความยาวขององค์ประกอบมากกว่า 5 (ค่าที่ระบุสำหรับองค์ประกอบ <Element>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreadProtection มีไว้เพื่อป้องกันเพย์โหลดที่มีชื่อองค์ประกอบเกินค่าที่กำหนด ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากคุณพิจารณาแล้วว่าสามารถระบุองค์ประกอบที่ยาวขึ้นในเพย์โหลดได้โดยไม่มีผลกระทบใดๆ ให้แก้ไข <Element> เป็นค่าที่เหมาะสมตามข้อกำหนดของคุณ

ตัวอย่างเช่น หากคุณคิดว่าอนุญาตองค์ประกอบได้สูงสุด 10 รายการ ให้แก้ไขนโยบาย XMLThreatProtection ดังนี้

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

ChildCountExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากเพย์โหลดของข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> มีองค์ประกอบ XML ที่มีองค์ประกอบย่อยมากกว่าค่าที่ระบุในองค์ประกอบ <ChildCount> ของนโยบาย

เช่น หาก <ChildCount> มีค่าเป็น 3 แต่เพย์โหลด XML อินพุตมีองค์ประกอบที่มีองค์ประกอบย่อยมากกว่า 3 รายการ ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection และหมายเลขบรรทัดที่มีการเกินจำนวนรายการ ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XML-Threat-Protection-1และหมายเลขบรรทัดในเพย์โหลดคือ 5

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Children
    count exceeded 3 at line 5(possibly around char 89)"
    
  2. ตรวจสอบนโยบายที่ไม่ผ่าน (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุในองค์ประกอบ <ChildCount>

    ในตัวอย่างนโยบายต่อไปนี้ <ChildCount> จะตั้งค่าเป็น 3(โปรดทราบว่าความคิดเห็น องค์ประกอบที่รวม และอื่นๆ จะนับรวมในขีดจำกัดนี้)

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>5</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่าจำนวนองค์ประกอบย่อย (รวมถึงความคิดเห็นทั้งหมด ฯลฯ) ในเพย์โหลดมากกว่าค่าที่ระบุสำหรับองค์ประกอบ <ChildCount> (ระบุในขั้นตอนที่ 2) หรือไม่ หากจำนวนองค์ประกอบย่อยเกินจำนวนย่อย นั่นคือสาเหตุของข้อผิดพลาด

    ตัวอย่างเพย์โหลดอินพุตมีดังนี้

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

    ในเพย์โหลด XML ที่แสดงด้านบน บรรทัดที่ 5 มีองค์ประกอบย่อยที่ 4 <director> ขององค์ประกอบรูท <movie> เนื่องจากจำนวนองค์ประกอบย่อยในเพย์โหลด XML ของอินพุตมากกว่า 3 (ค่าที่ระบุสำหรับองค์ประกอบ <ChildCount>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีไว้เพื่อป้องกันเพย์โหลดที่มีจำนวนองค์ประกอบย่อยเกินเกณฑ์ที่เฉพาะเจาะจง คุณจะเห็นข้อความแสดงข้อผิดพลาด ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากคุณพิจารณาแล้วว่าสามารถรวมองค์ประกอบสำหรับเด็กจำนวนมากขึ้น (รวมถึงความคิดเห็น ฯลฯ) ไว้ในเพย์โหลดได้โดยไม่มีผลกระทบใดๆ ให้แก้ไข<ChildCount>เป็นค่าที่เหมาะสมตามข้อกำหนดของคุณ

ตัวอย่างเช่น หากคุณคิดว่าอนุญาตองค์ประกอบย่อยได้สูงสุด 10 รายการ ให้แก้ไขนโยบาย XMLThreatProtection ดังนี้

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

NodeDepthExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลดของข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> มีเอกสาร XML ที่ลำดับชั้นของโหนดเกินจำนวนที่ระบุในองค์ประกอบ <NodeDepth> ของนโยบาย XMLThreatProtection

เช่น หากองค์ประกอบ <NodeDepth> ระบุเป็น 4 ในนโยบาย แต่เพย์โหลดอินพุตมีระดับโหนดที่เกิน 4 ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection และหมายเลขบรรทัดที่เกินความลึกของโหนด ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XML-Threat-Protection-1และหมายเลขบรรทัดในเพย์โหลดคือ 6

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Node depth
    exceeded 5 at line 6(possibly around char 109)
    
  2. ตรวจสอบนโยบาย XMLThreatProtection ที่ล้มเหลว (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุในองค์ประกอบ <NodeDepth>

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ <NodeDepth> จะตั้งค่าเป็น 5

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>5</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่าความลึกของโหนดที่ระบุมีจำนวนมากกว่าจำนวนที่ระบุในองค์ประกอบ <NodeDepth> (ระบุในขั้นตอนที่ 2) หรือไม่ หากระดับขององค์ประกอบย่อย XML เกินจำนวน ก็จะเป็นสาเหตุของข้อผิดพลาด

    ตัวอย่างเพย์โหลดอินพุตมีดังนี้

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

    เพย์โหลด XML ที่แสดงด้านบนในบรรทัดที่ 6 มีระดับโหนดเป็น 6. เนื่องจากระดับโหนดมากกว่า 5 (ค่าที่ระบุสำหรับองค์ประกอบ <NodeDepth>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีไว้เพื่อป้องกันเพย์โหลดที่มีเกณฑ์ความลึกของโหนดที่เฉพาะเจาะจง ก็คาดว่าข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากพิจารณาแล้วว่าอนุญาตให้ใช้ความลึกของโหนดที่มากขึ้นได้ ให้แก้ไข <NodeDepth> เป็นค่าที่เหมาะสมตามข้อกำหนดของคุณ

เช่น หากคิดว่าอนุญาตให้มีระดับโหนดได้สูงสุด 10 ระดับ ให้แก้ไขนโยบายดังนี้

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

AttributeCountExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลดข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบาย XMLThreatProtection มีเอกสาร XML ซึ่งจำนวนแอตทริบิวต์ขององค์ประกอบเดียวเกินจำนวนที่ระบุไว้ในองค์ประกอบ <AttributeCountPerElement> ของนโยบาย

เช่น หากระบุองค์ประกอบ <AttributeCountPerElement> เป็น 2 ในนโยบาย XMLThreatProtection แต่เพย์โหลดอินพุตมีองค์ประกอบที่มีแอตทริบิวต์มากกว่า 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. ตรวจสอบนโยบายที่ไม่ผ่าน (ระบุในขั้นตอนที่ 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 มีองค์ประกอบที่มีแอตทริบิวต์ 3 รายการ เนื่องจากจำนวนแอตทริบิวต์มากกว่า 2 (ค่าที่ระบุสำหรับองค์ประกอบ <AttributeCountPerElement>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีไว้เพื่อป้องกันเพย์โหลดที่มีแอตทริบิวต์เกินจำนวนที่เฉพาะเจาะจง คุณจะเห็นข้อความแสดงข้อผิดพลาด ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากพิจารณาแล้วว่าอนุญาตแอตทริบิวต์ได้มากขึ้น ให้แก้ไข <AttributeCountPerElement> เป็นค่าที่เหมาะสมตามข้อกำหนด

เช่น หากคุณคิดว่าสามารถอนุญาตแอตทริบิวต์ต่อองค์ประกอบได้สูงสุด 5 รายการ ให้แก้ไขนโยบายดังนี้

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

AttributeNameExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากเพย์โหลดของข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบาย XMLThreatProtection มีเอกสาร XML ที่ชื่อแอตทริบิวต์เกินจำนวนอักขระที่ระบุไว้ในองค์ประกอบย่อย <Attribute> ขององค์ประกอบ <NameLimits> ของนโยบาย

เช่น หากระบุองค์ประกอบ <Attribute> เป็น 5 ในนโยบาย แต่เพย์โหลดอินพุตมีชื่อแอตทริบิวต์ที่มีอักขระมากกว่า 5 ตัว ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection และหมายเลขบรรทัดที่ความยาวชื่อแอตทริบิวต์เกิน ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XML-Threat-Protection-1และหมายเลขบรรทัดในเพย์โหลดคือ 3

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    name length exceeded 5 at line 3(possibly around char 105)
    
  2. ตรวจสอบนโยบายที่ไม่ผ่าน (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุในองค์ประกอบ <Attribute>

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ <Attribute> จะตั้งค่าเป็น 5

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่าความยาวของแอตทริบิวต์ที่ระบุไว้มีอักขระมากกว่าจำนวนที่ระบุในองค์ประกอบ <Attribute> (ระบุในขั้นตอนที่ 2) หรือไม่ หากจำนวนอักขระเกินค่าแอตทริบิวต์ นั่นคือสาเหตุของข้อผิดพลาด

    ตัวอย่างเพย์โหลดอินพุตมีดังนี้

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

    เพย์โหลด XML ที่แสดงด้านบนในบรรทัดที่ 3 มีแอตทริบิวต์ 2 รายการ category และ cuisine โดยมีความยาวของชื่อ 8 และ 7 อักขระตามลำดับ. เนื่องจากความยาวของชื่อแอตทริบิวต์มากกว่า 5 (ค่าที่ระบุสำหรับองค์ประกอบ <Attribute>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีจุดประสงค์เพื่อป้องกันเพย์โหลดที่มีชื่อแอตทริบิวต์ยาวเกินกว่าที่กำหนด ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากพิจารณาแล้วว่าอนุญาตให้ใช้ชื่อแอตทริบิวต์ที่ยาวขึ้นได้ ให้แก้ไข <Attribute> เป็นค่าที่เหมาะสมตามข้อกำหนด

ตัวอย่างเช่น หากคุณคิดว่าชื่อแอตทริบิวต์มีความยาวได้สูงสุด 10 อักขระ ให้แก้ไขนโยบายดังนี้

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

AttributeValueExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลดของข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบายมีเอกสาร XML ที่ค่าแอตทริบิวต์เกินจำนวนอักขระที่ระบุในองค์ประกอบย่อย <Attribute> ขององค์ประกอบ <ValueLimits>

เช่น หากระบุองค์ประกอบ <Attribute> เป็น 10 ในนโยบาย XMLThreatProtection แต่เพย์โหลดอินพุตมีค่าแอตทริบิวต์ที่มีอักขระมากกว่า 10 ตัว ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection และหมายเลขบรรทัดที่จำนวนแอตทริบิวต์เกิน ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XML-Threat-Protection-1และหมายเลขบรรทัดในเพย์โหลดคือ 3

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    value length exceeded 10 at line 3(possibly around char 111)
    
  2. ตรวจสอบนโยบายที่ไม่ผ่าน (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุใน<Attribute>องค์ประกอบย่อยขององค์ประกอบ<ValueLimits>

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ <Attribute> มีการตั้งค่าเป็น 10

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่าค่าแอตทริบิวต์ที่ระบุมีความยาวมากกว่าจำนวนที่ระบุในองค์ประกอบ <Attribute> (ระบุในขั้นตอนที่ 2) หรือไม่ หากจำนวนอักขระเกินค่าแอตทริบิวต์ นั่นคือสาเหตุของข้อผิดพลาด

    ตัวอย่างเพย์โหลดอินพุตมีดังนี้

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

    เพย์โหลด XML ที่แสดงด้านบนในบรรทัดที่ 3 มีแอตทริบิวต์ (cuisine) ที่มีความยาวค่า 12 อักขระ เนื่องจากความยาวค่าแอตทริบิวต์มากกว่า 10 (ค่าที่ระบุสำหรับองค์ประกอบ <Attribute>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีจุดประสงค์เพื่อป้องกันเพย์โหลดที่มีความยาวของค่าแอตทริบิวต์หนึ่งๆ เกินกว่าที่กำหนดไว้ ก็ถือว่าข้อความแสดงข้อผิดพลาดเป็นไปตามที่คาดไว้ ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากพิจารณาแล้วว่าอนุญาตให้ใช้ค่าแอตทริบิวต์ที่ยาวขึ้นได้ ให้แก้ไข<Attribute>องค์ประกอบย่อยขององค์ประกอบ <ValueLimits> เป็นค่าที่เหมาะสมตามข้อกำหนด

ตัวอย่างเช่น หากคุณคิดว่าสามารถระบุค่าที่มีอักขระได้สูงสุด 15 ตัว ให้แก้ไขนโยบายดังนี้

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

TextExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากเพย์โหลดของข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบาย XMLThreatProtection มีเอกสาร XML ที่ความยาวของข้อความขององค์ประกอบเกินจำนวนอักขระที่ระบุไว้ในองค์ประกอบย่อย <Text> ขององค์ประกอบ <ValueLimits> ของนโยบาย

เช่น หากระบุองค์ประกอบ <Text> เป็น 15 ในนโยบาย แต่เพย์โหลดอินพุตมีข้อความที่มีอักขระมากกว่า 15 ตัว ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection และหมายเลขบรรทัดที่จำนวนแอตทริบิวต์เกิน ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XML-Threat-Protection-1 และหมายเลขบรรทัดในเพย์โหลดคือ 4

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Text length
    exceeded 15 at line 4(possibly around char 66)
    
  2. ตรวจสอบนโยบายที่ไม่ผ่าน (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุในองค์ประกอบย่อย <Text> ขององค์ประกอบ <ValueLimits>

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ <Text> จะตั้งค่าเป็น 15

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่าค่าแอตทริบิวต์ที่ระบุมีความยาวมากกว่าจำนวนที่ระบุในองค์ประกอบ <Text> (ระบุในขั้นตอนที่ 2) หรือไม่ หากจำนวนอักขระเกินค่าแอตทริบิวต์ นั่นคือสาเหตุของข้อผิดพลาด

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

    เพย์โหลด XML ที่แสดงด้านบนในบรรทัดที่ 4 มีข้อความที่มีความยาว 53 อักขระ เนื่องจากความยาวค่าแอตทริบิวต์มากกว่า 15 (ค่าที่ระบุสำหรับองค์ประกอบ <Text>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีจุดประสงค์เพื่อป้องกันเพย์โหลดที่มีความยาวของข้อความเกินกว่าที่กำหนด คุณจะเห็นข้อความแสดงข้อผิดพลาด ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากคุณพิจารณาแล้วว่าอนุญาตให้ใช้ข้อความที่มีความยาวมากขึ้นได้ ให้แก้ไข<Text>องค์ประกอบย่อยขององค์ประกอบ <ValueLimits> เป็นค่าที่เหมาะสมตามข้อกำหนดของคุณ

ตัวอย่างเช่น หากคุณคิดว่าค่าแอตทริบิวต์มีอักขระได้สูงสุด 60 ตัว ให้แก้ไขนโยบายดังนี้

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

CommentExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลดของข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบาย XMLThreatProtection มีเอกสาร XML ที่ความยาวของความคิดเห็นเกินจำนวนอักขระที่ระบุไว้ในองค์ประกอบย่อย <Comment> ขององค์ประกอบ <ValueLimits> ของนโยบาย

เช่น หากองค์ประกอบ <Comment> ระบุเป็น 10 ในนโยบาย แต่เพย์โหลดอินพุตมีความคิดเห็นที่มีอักขระมากกว่า 10 ตัว ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection และหมายเลขบรรทัดที่ความยาวของความคิดเห็นเกิน ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XML-Threat-Protection-1 และหมายเลขบรรทัดในเพย์โหลดคือ 2

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Comment length exceeded 10 at line 2(possibly around char 48)
    
  2. ตรวจสอบนโยบายที่ไม่ผ่าน (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุใน<Comment>องค์ประกอบย่อยขององค์ประกอบ<ValueLimits>

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ <Comment> จะตั้งค่าเป็น 10

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุไว้ในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่าความยาวของความคิดเห็นที่ระบุไว้มีจำนวนอักขระมากกว่าจำนวนที่ระบุไว้ในองค์ประกอบ <Comment> (ระบุไว้ในขั้นตอนที่ 2) หรือไม่ หากจำนวนอักขระเกินค่าแอตทริบิวต์ นั่นคือสาเหตุของข้อผิดพลาด

    ตัวอย่างเพย์โหลดอินพุตมีดังนี้

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

    เพย์โหลด XML ที่แสดงด้านบนในบรรทัดที่ 2 มีความคิดเห็นที่มีความยาวค่า 31 อักขระ. เนื่องจากความยาวของความคิดเห็นมากกว่า 10 (ค่าที่ระบุสำหรับองค์ประกอบ <Comment>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีจุดประสงค์เพื่อป้องกันเพย์โหลดที่มีความยาวเกินกว่าความคิดเห็นที่เฉพาะเจาะจง ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นตามที่คาดไว้ ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากพิจารณาแล้วว่าอนุญาตให้แสดงความคิดเห็นที่ยาวขึ้นได้ ให้แก้ไข<Comment>องค์ประกอบย่อยของ<ValueLimits>องค์ประกอบเป็นค่าที่เหมาะสมตามข้อกำหนดของคุณ

ตัวอย่างเช่น หากคุณคิดว่าสามารถระบุค่าที่มีอักขระได้สูงสุด 40 ตัว ให้แก้ไขนโยบายดังนี้

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

PIDataExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลดข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบาย XMLThreatProtection มีเอกสาร XML ซึ่งคำสั่งการประมวลผลข้อมูลมีจำนวนอักขระเกินจำนวนที่ระบุไว้ในองค์ประกอบย่อย <ProcessingInstructionData> ขององค์ประกอบ <ValueLimits> ของนโยบาย

ตัวอย่างเช่น หากระบุองค์ประกอบ <ProcessingInstructionData> เป็น 10 ในนโยบาย XMLThreatProtection แต่เพย์โหลดอินพุตมีคำสั่งประมวลผลที่มีอักขระมากกว่า 10 ตัว ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection และหมายเลขบรรทัดที่มีความยาวของคำสั่งการประมวลผลเกิน ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XML-Threat-Protection-1และหมายเลขบรรทัดในเพย์โหลดคือ 2

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction data length exceeded 30 at line 2(possibly around char 109)
    
  2. ตรวจสอบนโยบายที่ไม่ผ่าน (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุใน<ProcessingInstructionData>องค์ประกอบย่อยขององค์ประกอบ<ValueLimits>

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ <ProcessingInstructionData> จะตั้งค่าเป็น 30

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่าความยาวของข้อมูลคำสั่งการประมวลผลที่ระบุไว้มีอักขระมากกว่าจำนวนที่ระบุในองค์ประกอบ <ProcessingInstructionData> (ระบุในขั้นตอนที่ 2) หรือไม่ หากจำนวนอักขระเกินข้อมูลคำสั่งในการประมวลผล นั่นคือสาเหตุของข้อผิดพลาด

    ตัวอย่างเพย์โหลดอินพุตมีดังนี้

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

    เพย์โหลด XML ที่แสดงด้านบนในบรรทัดที่ 1 มีองค์ประกอบข้อมูลคำสั่งการประมวลผล (type="text/xsl" href="mobilephones.xsl"?)มีความยาว 40 อักขระ. เนื่องจากความยาวนี้มากกว่า 30 (ค่าที่ระบุสำหรับองค์ประกอบ <ProcessingInstructionData>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีไว้เพื่อป้องกันเพย์โหลดที่มีความยาวของข้อมูลคำสั่งการประมวลผลเกินกว่าที่กำหนดไว้ ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากพิจารณาแล้วว่าอนุญาตให้ใช้ข้อมูลองค์ประกอบของคำสั่งการประมวลผลที่ยาวขึ้นได้ ให้แก้ไของค์ประกอบย่อย <ProcessingInstructionData> ขององค์ประกอบ <ValueLimits> เป็นค่าที่เหมาะสมตามข้อกำหนดของคุณ

ตัวอย่างเช่น หากคุณคิดว่าสามารถมีคำสั่งการประมวลผลข้อมูลที่มีความยาวไม่เกิน 50 อักขระ ให้แก้ไขนโยบายดังนี้

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

PITargetExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลดของข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบาย XMLThreatProtection มีเอกสาร XML ที่เป้าหมายของคำสั่งประมวลผลเกินจำนวนอักขระที่ระบุไว้ในองค์ประกอบย่อย <ProcessingInstructionTarget> ขององค์ประกอบ <NameLimits> ของนโยบาย

ตัวอย่างเช่น หากระบุองค์ประกอบ <ProcessingInstructionTarget> เป็น 10 ในนโยบาย XMLThreatProtection แต่เพย์โหลดอินพุตมีเป้าหมายคำสั่งประมวลผลที่มีอักขระมากกว่า 10 ตัว ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection และหมายเลขบรรทัดที่จำนวนเป้าหมายของคำสั่งการประมวลผลเกิน ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XML-Threat-Protection-1และหมายเลขบรรทัดในเพย์โหลดคือ 1

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction target length exceeded 10 at line 2(possibly around char 114)
    
  2. ตรวจสอบนโยบาย XMLThreatProtection ที่ล้มเหลว (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุในองค์ประกอบย่อย <ProcessingInstructionTarget> ขององค์ประกอบ <NameLimits>

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ <ProcessingInstructionTarget> จะตั้งค่าเป็น 10

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่าความยาวของเป้าหมายคำสั่งการประมวลผลที่ระบุไว้มีอักขระมากกว่าจำนวนที่ระบุในองค์ประกอบ <ProcessingInstructionTarget> (ระบุในขั้นตอนที่ 2) หรือไม่ หากจำนวนอักขระเกินขีดจำกัดขนาดเป้าหมาย นั่นคือสาเหตุของข้อผิดพลาด

    ตัวอย่างเพย์โหลดอินพุตมีดังนี้

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

    เพย์โหลด XML ที่แสดงด้านบนในบรรทัดที่ 2 มีชื่อเป้าหมายของคำสั่งการประมวลผล "xml-stylesheet"มีความยาว 14 อักขระ เนื่องจากชื่อเป้าหมายของคำสั่งการประมวลผลยาวกว่า 10 (ค่าที่ระบุสำหรับองค์ประกอบ <ProcessingInstructionTarget>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีจุดประสงค์เพื่อป้องกันเพย์โหลดที่มีความยาวเกินเป้าหมายของคำสั่งกระบวนการที่เฉพาะเจาะจง คุณจะเห็นข้อความแสดงข้อผิดพลาด ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากพิจารณาแล้วว่าเป้าหมายคำสั่งกระบวนการยาวขึ้นได้ ให้แก้ไข<ProcessingInstructionTarget>องค์ประกอบย่อยขององค์ประกอบ <NameLimits> เป็นค่าที่เหมาะสมตามข้อกำหนด

เช่น หากคุณคิดว่าสามารถมีเป้าหมายคำสั่งกระบวนการได้สูงสุด 25 อักขระ ให้แก้ไขนโยบายดังนี้

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

NSURIExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลดข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบาย XMLThreatProtection มีเอกสาร XML ที่ URI ของ Namespace เกินจำนวนอักขระที่ระบุไว้ในองค์ประกอบย่อย <NamespaceURI> ขององค์ประกอบ <ValueLimits> ของนโยบาย

เช่น หากระบุองค์ประกอบ <NamespaceURI> เป็น 10 ในนโยบาย แต่เพย์โหลดอินพุตมี URI ของเนมสเปซที่มีอักขระมากกว่า 10 ตัว ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection และหมายเลขบรรทัดที่ความยาว URI ของเนมสเปซเกิน ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XML-Threat-Protection-1และหมายเลขบรรทัดในเพย์โหลดคือ 2

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    uri length exceeded 10 at line 2(possibly around char 97)
    
  2. ตรวจสอบนโยบายที่ไม่ผ่าน (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุในองค์ประกอบย่อย <NamespaceURI> ขององค์ประกอบ <ValueLimits>

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ <NamespaceURI> จะตั้งค่าเป็น 10

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่า URI ของเนมสเปซที่ระบุมีความยาวมากกว่าจำนวนที่ระบุในองค์ประกอบ <NamespaceURI> (ระบุในขั้นตอนที่ 2) หรือไม่ หากจำนวนอักขระเกินความยาว URI ของเนมสเปซ นั่นคือสาเหตุของข้อผิดพลาด

    ตัวอย่างเพย์โหลดอินพุตมีดังนี้

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

    เพย์โหลด XML ที่แสดงด้านบนในบรรทัดที่ 2 มี URI เนมสเปซ www.google.com/profile ซึ่งมีความยาว 22 อักขระ เนื่องจากความยาว URI ของเนมสเปซมากกว่า 10 (ค่าที่ระบุสำหรับองค์ประกอบ <NamespaceURI>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีจุดประสงค์เพื่อป้องกันเพย์โหลดที่เกินความยาว URI ของเนมสเปซที่เฉพาะเจาะจง คุณจะเห็นข้อความแสดงข้อผิดพลาด ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากคุณพิจารณาแล้วว่าอนุญาตให้ใช้ URI ของเนมสเปซที่ยาวขึ้นได้ ให้แก้ไของค์ประกอบย่อย <NamespaceURI> ขององค์ประกอบ <ValueLimits> เป็นค่าที่เหมาะสมตามข้อกำหนด

ตัวอย่างเช่น หากคุณคิดว่า URI ของเนมสเปซมีความยาวได้สูงสุด 30 อักขระ ให้แก้ไขนโยบายดังนี้

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

NSPrefixExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากเพย์โหลดของข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> มีเอกสาร XML ซึ่งคำนำหน้า Namespace มีจำนวนอักขระเกินจำนวนที่ระบุไว้ในองค์ประกอบย่อย <NamespacePrefix> ขององค์ประกอบ <NameLimits> ของนโยบาย

เช่น หากระบุองค์ประกอบ <NamespacePrefix> เป็น 10 ในนโยบาย XMLThreatProtection แต่เพย์โหลดอินพุตมีคำนำหน้าเนมสเปซที่มีอักขระมากกว่า 10 ตัว ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection และหมายเลขบรรทัดที่ความยาวของคำนำหน้า URI ของเนมสเปซเกิน ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XML-Threat-Protection-1 และหมายเลขบรรทัดในเพย์โหลดคือ 2

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    prefix length exceeded 10 at line 2(possibly around char 105)
    
  2. ตรวจสอบนโยบายที่ไม่ผ่าน (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุในองค์ประกอบย่อย <NamespacePrefix> ขององค์ประกอบ <NameLimits>

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ <NamespacePrefix> จะตั้งค่าเป็น 10

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่าคำนำหน้าเนมสเปซที่ระบุมีความยาวมากกว่าจำนวนที่ระบุในองค์ประกอบ <NamespacePrefix> (ระบุในขั้นตอนที่ 2) หรือไม่ หากจำนวนอักขระเกินขีดจำกัดของคำนำหน้าเนมสเปซ นั่นคือสาเหตุของข้อผิดพลาด

    ตัวอย่างเพย์โหลดอินพุตมีดังนี้

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

    เพย์โหลด XML ที่แสดงด้านบนในบรรทัดที่ 2 มีคำนำหน้าเนมสเปซ userprofile ที่มีความยาว 11 อักขระ เนื่องจากความยาวของคำนำหน้า URI ของเนมสเปซมากกว่า 10 (ค่าที่ระบุสำหรับองค์ประกอบ <NamespacePrefix>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีไว้เพื่อป้องกันเพย์โหลดที่มีความยาวคำนำหน้า URI ของเนมสเปซที่เฉพาะเจาะจงเกินกว่าที่กำหนด ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นตามที่คาดไว้ ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากคุณพิจารณาว่าอนุญาตให้ใช้คำนำหน้า URI ของเนมสเปซที่ยาวขึ้นได้ ให้แก้ไของค์ประกอบย่อย <NamespacePrefix> ขององค์ประกอบ <NameLimits> เป็นค่าที่เหมาะสมตามข้อกำหนดของคุณ

ตัวอย่างเช่น หากคุณคิดว่าคุณสามารถมีคำนำหน้า URI ของเนมสเปซที่มีความยาวได้สูงสุด 15 อักขระ ให้แก้ไขนโยบายดังนี้

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

NSCountExceeded

รหัสข้อผิดพลาด

steps.xmlthreatprotection.ExecutionFailed

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากเพย์โหลดข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบาย XMLThreatProtection มีเอกสาร XML ที่จำนวนเนมสเปซที่ใช้ในองค์ประกอบเดียวเกินจำนวนที่ระบุไว้ในองค์ประกอบย่อย <NamespaceCountPerElement> ขององค์ประกอบ <StructureLimits> ของนโยบาย

เช่น หากมีการระบุองค์ประกอบ <NamespaceCountPerElement> เป็น 3 ในนโยบาย แต่เพย์โหลดอินพุตมีองค์ประกอบที่มีเนมสเปซมากกว่า 3 รายการ ระบบจะแสดงข้อผิดพลาดนี้

การวินิจฉัย

  1. ตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อระบุชื่อนโยบาย XMLThreatProtection และหมายเลขบรรทัดที่มีการใช้เนมสเปซเกินจำนวน ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ XMLThreat-Protection-1และหมายเลขบรรทัดในเพย์โหลดคือ 2

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace count
    exceeded 3 at line 2(possibly around char 234)
    
  2. ตรวจสอบนโยบายที่ไม่ผ่าน (ระบุในขั้นตอนที่ 1) และจดค่าที่ระบุในองค์ประกอบย่อย <NamespaceCountPerElement> ขององค์ประกอบ <StructureLimits>

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ <NamespaceCountPerElement> จะตั้งค่าเป็น 3

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ตรวจสอบหมายเลขบรรทัดที่เฉพาะเจาะจง (ระบุในขั้นตอนที่ 1) ของเพย์โหลดอินพุต และดูว่าจำนวนเนมสเปซที่ระบุไว้สำหรับองค์ประกอบเดียวสูงกว่าจำนวนที่ระบุไว้ในองค์ประกอบ <NamespaceCountPerElement> (ระบุในขั้นตอนที่ 2) หรือไม่ หากจำนวนเนมสเปซเกินขีดจำกัดจำนวนเนมสเปซต่อองค์ประกอบ นั่นคือสาเหตุของข้อผิดพลาด

    ตัวอย่างเพย์โหลดอินพุตมีดังนี้

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

    เพย์โหลด XML ที่แสดงด้านบนในบรรทัดที่ 2 มีเนมสเปซมากกว่า 3 รายการ เนื่องจากจำนวนเนมสเปซมากกว่า 3 (ค่าที่ระบุสำหรับองค์ประกอบ <NamespaceCountPerElement>) คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

หากนโยบาย XMLThreatProtection มีไว้เพื่อป้องกันเพย์โหลดที่มีเนมสเปซเกินจำนวนที่เฉพาะเจาะจงในองค์ประกอบเดียว คุณจะเห็นข้อความแสดงข้อผิดพลาด ในกรณีนี้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

อย่างไรก็ตาม หากพิจารณาแล้วว่าอนุญาตให้ใช้เนมสเปซจำนวนมากขึ้นได้ ให้แก้ไข<NamespaceCountPerElement>องค์ประกอบย่อยขององค์ประกอบ <StructureLimits> เป็นค่าที่เหมาะสมตามข้อกำหนดของคุณ

ตัวอย่างเช่น หากคุณคิดว่ามี Namespace ได้สูงสุด 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 ของอินพุตดังนี้

<?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> ที่ระบุในขั้นตอนที่ 1

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ องค์ประกอบ <Source> จะตั้งค่าเป็น requests

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

    ค่าที่ถูกต้องสำหรับองค์ประกอบ <Source> คือ request, response หรือ message. เนื่องจาก requests ไม่ใช่ค่าที่ถูกต้องและไม่มีอยู่ในโฟลว์ที่กำลังดำเนินการตามนโยบาย คุณจึงได้รับข้อผิดพลาดต่อไปนี้

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

ความละเอียด

ตรวจสอบว่าตัวแปรที่ตั้งค่าไว้ในองค์ประกอบ <Source> ของนโยบาย XMLThreatProtection ที่ล้มเหลวตั้งค่าเป็น request, response หรือ message และมีอยู่ในโฟลว์ที่นโยบายดำเนินการ

หากต้องการแก้ไขนโยบายตัวอย่างที่แสดงด้านบน คุณสามารถแก้ไของค์ประกอบ <Source> เพื่อใช้request ตัวแปรได้ เนื่องจากมีอยู่ในโฟลว์คำขอ

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

NonMessageVariable

รหัสข้อผิดพลาด

steps.xmlthreatprotection.NonMessageVariable

เนื้อหาการตอบกลับข้อผิดพลาด

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

ตัวอย่างเนื้อหาการตอบกลับข้อผิดพลาด

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากตั้งค่าองค์ประกอบ <Source> ในนโยบาย XMLThreatProtection เป็นตัวแปรที่ไม่ใช่ประเภท Message

ตัวแปรประเภทข้อความแสดงถึงคำขอและการตอบกลับ HTTP ทั้งหมด ตัวแปรโฟลว์ Apigee Edge แบบบิวท์อิน request, response และ message มีประเภทเป็นข้อความ ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวแปรข้อความได้ที่ข้อมูลอ้างอิงตัวแปร

การวินิจฉัย

  1. ระบุชื่อของตัวแปรที่แปลงเป็นตัวแปรประเภทข้อความจากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของตัวแปรคือ message.content

    Variable message.content does not resolve to a Message
    
  2. ตรวจสอบนโยบาย XMLThreadProtection ทั้งหมดในพร็อกซี API ที่เกิดข้อผิดพลาด และระบุนโยบาย XMLThreadProtection ที่เฉพาะเจาะจงซึ่งมีการระบุองค์ประกอบ <Source> พร้อมชื่อตัวแปรที่ระบุในขั้นตอนที่ 1 ด้านบน

    ในตัวอย่างนโยบาย XMLThreatProtection ต่อไปนี้ <Source> จะตั้งค่าเป็น message.content

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

    เนื่องจากตัวแปร message.content ไม่ใช่ประเภทข้อความ คุณจึงได้รับข้อผิดพลาดต่อไปนี้

    Variable message.content does not resolve to a Message
    

ความละเอียด

ตรวจสอบว่าองค์ประกอบ <Source> ในนโยบาย XMLThreatProtection ที่ล้มเหลวได้รับการตั้งค่าเป็นตัวแปรโฟลว์ประเภท Message ที่มีอยู่ในโฟลว์ที่นโยบายดำเนินการ

หากต้องการแก้ไขนโยบาย คุณสามารถแก้ไของค์ประกอบ <Source> เพื่อระบุตัวแปรประเภทข้อความ เช่น ใน XMLThreatProtection ที่ล้มเหลว คุณสามารถระบุองค์ประกอบ <Source> เป็น message ได้

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