Pemecahan masalah error runtime kebijakan XMLThreatProtection

Anda sedang melihat dokumentasi Apigee dan Apigee Hybrid.
Lihat dokumentasi Apigee Edge.

ExecutionFailed

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Jenis Error dan kemungkinan penyebabnya

Kebijakan XMLThreatProtection dapat menampilkan berbagai jenis error ExecutionFailed. Tabel di bawah ini mencantumkan berbagai jenis error dan kemungkinan penyebabnya:

Error Penyebab
ElementNameExceeded Panjang string maksimum yang diizinkan dalam tag XML terlampaui.
ChildCountExceeded Jumlah maksimum elemen turunan yang diizinkan dalam payload XML telah terlampaui.
NodeDepthExceeded Kedalaman maksimum elemen XML yang diizinkan dalam payload XML terlampaui.
AttributeCountExceeded Jumlah atribut maksimum dalam satu elemen terlampaui.
AttributeNameExceeded Panjang maksimum yang diizinkan untuk nama atribut terlampaui.
AttributeValueExceeded Panjang maksimum yang diizinkan untuk nilai atribut terlampaui.
TextExceeded Panjang maksimum yang diizinkan untuk teks terlampaui.
CommentExceeded Melebihi batas panjang maksimum yang diizinkan untuk komentar.
PIDataExceeded Panjang data petunjuk pemrosesan yang diizinkan terlampaui.
PITargetExceeded Panjang nama petunjuk proses terlampaui.
NSURIExceeded Panjang URL namespace terlampaui.
NSPrefixExceeded Panjang awalan namespace terlampaui.
NSCountExceeded Jumlah spasi nama yang digunakan dalam satu elemen terlampaui.
Payload XML tidak valid Payload XML input tidak valid.

ElementNameExceeded

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

Traffic runtime menampilkan kode respons 500 dengan error berikut:

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload input yang ditentukan oleh elemen <Source> kebijakan berisi elemen XML yang melebihi panjang maksimum yang ditentukan dalam elemen <Element> di bawah elemen <NameLimits>.

Misalnya, jika elemen <Element> ditetapkan sebagai 5 dalam kebijakan XMLThreatProtection, tetapi payload input memiliki elemen yang memiliki lebih dari 5 karakter, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection, nomor baris, dan kemungkinan nomor karakter dalam payload input dengan panjang elemen terlampaui.

    Misalnya, dalam pesan error berikut, nama kebijakan adalah XML-Threat-Protection-1,nomor baris dalam payload adalah 1, dan nomor karakter yang mungkin adalah 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. Periksa kebijakan yang gagal (yang teridentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen <Element>.

    Misalnya, dalam kebijakan XMLThreatProtection berikut, <Element> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah panjang elemen di baris tersebut lebih besar dari nilai yang ditentukan untuk elemen <Element> (yang diidentifikasi di Langkah 2). Jika panjang elemen melebihi nilai ini, maka itulah penyebab error.

    Berikut adalah contoh payload input:

    <company>
      <name>Example</name>
      <country>USA</country>
    </company>
    

    Payload XML yang ditampilkan di atas memiliki elemen root bernama company di baris 1 yang memiliki 7 karakter. Karena panjang elemen lebih besar dari 5 (nilai yang ditentukan untuk elemen <Element>), Anda mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreadProtection dimaksudkan untuk melindungi dari payload dengan nama elemen yang melebihi nilai yang ditentukan, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa elemen yang lebih panjang dapat ditentukan dalam payload tanpa konsekuensi, ubah <Element> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat mengizinkan elemen hingga 10 panjang, ubah kebijakan XMLThreatProtection sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> berisi elemen XML yang berisi lebih banyak elemen turunan daripada nilai yang ditetapkan dalam elemen <ChildCount> kebijakan.

Misalnya, jika elemen <ChildCount> adalah 3, tetapi payload XML input memiliki elemen dengan lebih dari 3 elemen turunan, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah entri terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XML-Threat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan yang gagal (yang teridentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen <ChildCount>.

    Pada contoh kebijakan berikut, <ChildCount> disetel ke 3(perlu diperhatikan bahwa komentar, sertakan elemen, dan elemen lainnya diperhitungkan dalam batas ini):

    <?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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah jumlah elemen turunan (termasuk semua komentar, dll.) dalam payload lebih besar dari nilai yang ditentukan untuk elemen <ChildCount> (yang diidentifikasi di Langkah 2). Jika jumlah elemen turunan melebihi jumlah turunan, maka itulah penyebab error.

    Berikut adalah contoh payload input:

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

    Dalam payload XML yang ditampilkan di atas, baris 5 berisi elemen turunan keempat <director>dari elemen root <movie>. Karena jumlah elemen turunan dalam payload XML input lebih besar dari 3 (nilai yang ditentukan untuk elemen <ChildCount>), Anda akan mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk melindungi dari payload dengan jumlah elemen turunan yang melebihi nilai minimum tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa jumlah elemen turunan yang lebih besar (termasuk komentar, dll.) dapat disertakan dalam payload tanpa konsekuensi apa pun, maka ubah <ChildCount> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat mengizinkan hingga 10 elemen turunan, ubah kebijakan XMLThreatProtection sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> berisi dokumen XML dengan hierarki node melebihi angka yang ditentukan dalam elemen <NodeDepth> di kebijakan XMLThreatProtection.

Misalnya, jika elemen <NodeDepth> ditetapkan sebagai 4 dalam kebijakan, tetapi payload input memiliki kedalaman node yang melebihi 4, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat kedalaman node terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XML-Threat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan XMLThreatProtection yang gagal (diidentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen <NodeDepth>.

    Dalam contoh kebijakan XMLThreatProtection berikut, <NodeDepth> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah kedalaman node yang ditentukan di sana memiliki jumlah yang lebih tinggi daripada jumlah yang ditentukan dalam elemen <NodeDepth> (yang diidentifikasi di Langkah 2). Jika tingkat elemen turunan XML melebihi jumlah, berarti itulah penyebab error.

    Berikut adalah contoh payload input:

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

    Payload XML yang ditampilkan di atas pada baris 6 memiliki kedalaman node 6.Karena kedalaman node lebih besar dari 5 (nilai yang ditentukan untuk elemen <NodeDepth>), Anda mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk melindungi dari payload dengan batas kedalaman node tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa kedalaman node yang lebih besar dapat diizinkan, ubah <NodeDepth> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat mengizinkan kedalaman node hingga 10, ubah kebijakan sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> kebijakan XMLThreatProtection berisi dokumen XML dengan jumlah atribut satu elemen melebihi jumlah yang ditentukan dalam elemen <AttributeCountPerElement> kebijakan.

Misalnya, jika elemen <AttributeCountPerElement> ditetapkan sebagai 2 dalam kebijakanXMLThreatProtection, tetapi payload input memiliki elemen dengan lebih dari 2 atribut, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah atribut terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XMLThreat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan yang gagal (yang teridentifikasi di Langkah 1), dan catat nilai yang ditentukan dalam elemen <AttributeCountPerElement>.

    Dalam contoh kebijakan berikut, <AttributeCountPerElement> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah jumlah atribut yang ditentukan melebihi jumlah yang ditentukan dalam elemen <AttributeCountPerElementh> (yang diidentifikasi di Langkah 2). Jika jumlah atribut melebihi jumlah, maka itulah penyebab error.

    Berikut adalah contoh payload input:

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

    Payload XML yang ditampilkan di atas pada baris 3 memiliki elemen dengan tiga atribut. Karena jumlah atribut lebih besar dari 2 (nilai yang ditentukan untuk elemen <AttributeCountPerElement>), Anda mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk memberikan perlindungan dari payload yang melebihi jumlah atribut tertentu, akan muncul pesan error. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa jumlah atribut yang lebih besar yang dapat diizinkan, ubah <AttributeCountPerElement> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat mengizinkan maksimal 5 atribut per elemen, ubah kebijakan sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> kebijakan XMLThreatProtection berisi dokumen XML dengan nama atribut melebihi jumlah karakter yang ditentukan dalam elemen turunan <Attribute> dari elemen <NameLimits> kebijakan.

Misalnya, jika elemen <Attribute> ditetapkan sebagai 5 dalam kebijakan, tetapi payload input memiliki nama atribut dengan lebih dari 5 karakter, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat panjang nama atribut terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XML-Threat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan yang gagal (yang teridentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen <Attribute>

    Dalam contoh kebijakan XMLThreatProtection berikut, <Attribute> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah panjang atribut yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen <Attribute> (yang diidentifikasi di Langkah 2). Jika jumlah karakter melebihi nilai atribut, berarti itulah penyebab error.

    Berikut adalah contoh payload input:

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

    Payload XML yang ditampilkan di atas pada baris 3 memiliki dua atribut category dan cuisine dengan panjang nama masing-masing 8 dan 7 karakter. Karena panjang nama atribut lebih besar dari 5 (nilai yang ditentukan untuk elemen <Attribute>), Anda mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk memberikan perlindungan dari payload yang melebihi panjang nama atribut tertentu, akan muncul pesan error. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa panjang nama atribut yang lebih panjang diperbolehkan, ubah <Attribute> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat memiliki nama atribut hingga 10 karakter, ubah kebijakan sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> kebijakan berisi dokumen XML dengan nilai atribut melebihi jumlah karakter yang ditetapkan dalam elemen turunan <Attribute> dari elemen <ValueLimits>.

Misalnya, jika elemen <Attribute> ditetapkan sebagai 10 dalam kebijakan XMLThreatProtection, tetapi payload input memiliki nilai atribut dengan lebih dari 10 karakter, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah atribut terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XML-Threat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan yang gagal (yang diidentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen turunan <Attribute> dari elemen <ValueLimits>.

    Dalam contoh kebijakan XMLThreatProtection berikut, <Attribute> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah panjang nilai atribut yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen <Attribute> (yang diidentifikasi di Langkah 2). Jika jumlah karakter melebihi nilai atribut, berarti itulah penyebab error.

    Berikut adalah contoh payload input:

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

    Payload XML yang ditunjukkan di atas pada baris 3 memiliki atribut (penentuan) dengan panjang nilai 12 karakter. Karena panjang nilai atribut lebih besar dari 10 (nilai yang ditentukan untuk elemen <Attribute>), Anda mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk memberikan perlindungan dari payload yang melebihi panjang nilai atribut tertentu, akan muncul pesan error. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa nilai atribut yang lebih panjang dapat diizinkan, ubah elemen turunan <Attribute> dari elemen <ValueLimits> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat mengatribusikan nilai hingga 15 karakter, ubah kebijakan sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> kebijakan XMLThreatProtection berisi dokumen XML dengan panjang teks suatu elemen melebihi jumlah karakter yang ditentukan dalam elemen turunan <Text> dari elemen <ValueLimits> kebijakan.

Misalnya, jika elemen <Text> ditetapkan sebagai 15 dalam kebijakan, tetapi payload input memiliki teks dengan lebih dari 15 karakter, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah atribut terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XML-Threat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan yang gagal (yang diidentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen turunan <Text> dari elemen <ValueLimits>.

    Dalam contoh kebijakan XMLThreatProtection berikut, <Text> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah panjang nilai atribut yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen <Text> (yang diidentifikasi di Langkah 2). Jika jumlah karakter melebihi nilai atribut, berarti itulah penyebab error.

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

    Payload XML yang ditunjukkan di atas pada baris 4 memiliki teks dengan panjang 53 karakter. Karena panjang nilai atribut lebih besar dari 15 (nilai yang ditentukan untuk elemen <Text>), Anda mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk memberikan perlindungan dari payload yang melebihi panjang teks tertentu, akan muncul pesan error. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa panjang teks yang lebih panjang dapat diizinkan, ubah elemen turunan <Text> dari elemen <ValueLimits> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat memiliki nilai atribut hingga 60 karakter, ubah kebijakan sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> kebijakan XMLThreatProtection berisi dokumen XML, dengan panjang komentar melebihi jumlah karakter yang ditentukan dalam elemen turunan <Comment> dari elemen <ValueLimits> kebijakan.

Misalnya, jika elemen <Comment> ditetapkan sebagai 10 dalam kebijakan, tetapi payload input memiliki komentar lebih dari 10 karakter, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat panjang komentar terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XML-Threat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan yang gagal (yang diidentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen turunan <Comment> dari elemen <ValueLimits>.

    Dalam contoh kebijakan XMLThreatProtection berikut, <Comment> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah panjang komentar yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen <Comment> (yang diidentifikasi di Langkah 2). Jika jumlah karakter melebihi nilai atribut, berarti itulah penyebab error.

    Berikut adalah contoh payload input:

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

    Payload XML yang ditampilkan di atas pada baris 2 memiliki komentar dengan panjang nilai 31 karakter. Karena panjang komentar lebih besar dari 10 (nilai yang ditentukan untuk elemen <Comment>), Anda mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk memberikan perlindungan dari payload yang melebihi panjang komentar tertentu, akan muncul pesan error. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa komentar yang lebih panjang dapat diizinkan, ubah <Comment>elemen turunan dari elemen<ValueLimits> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat mengatribusikan nilai hingga 40 karakter, ubah kebijakan sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> kebijakan XMLThreatProtection berisi dokumen XML tempat petunjuk pemrosesan data melebihi jumlah karakter yang ditentukan dalam elemen turunan <ProcessingInstructionData> pada elemen <ValueLimits> kebijakan.

Misalnya, jika elemen <ProcessingInstructionData> ditetapkan sebagai 10 dalam kebijakan XMLThreatProtection, tetapi payload input memiliki petunjuk pemrosesan dengan lebih dari 10 karakter, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat panjang petunjuk pemrosesan terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XML-Threat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan yang gagal (yang diidentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen turunan <ProcessingInstructionData> dari elemen <ValueLimits> .

    Dalam contoh kebijakan XMLThreatProtection berikut, <ProcessingInstructionData> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah panjang data petunjuk pemrosesan yang ditentukan memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen <ProcessingInstructionData> (diidentifikasi di Langkah 2). Jika jumlah karakter melebihi data instruksi pemrosesan, itulah penyebab error.

    Berikut adalah contoh payload input:

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

    Payload XML yang ditampilkan di atas pada baris 1 memiliki elemen data petunjuk pemrosesan (type="text/xsl" href="mobilephones.xsl"?)dengan panjang 40 karakter. Karena panjang ini lebih besar dari 30 (nilai yang ditentukan untuk elemen <ProcessingInstructionData>), Anda mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk memberikan perlindungan dari payload yang melebihi panjang data petunjuk pemrosesan tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa elemen data petunjuk pemrosesan yang lebih lama dapat diizinkan, ubah elemen turunan <ProcessingInstructionData> dari elemen <ValueLimits> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat memiliki instruksi pemrosesan data dengan panjang hingga 50 karakter, ubah kebijakan sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> kebijakan XMLThreatProtection berisi dokumen XML dengan target petunjuk proses melebihi jumlah karakter yang ditentukan dalam elemen turunan <ProcessingInstructionTarget> pada elemen <NameLimits> kebijakan.

Misalnya, jika elemen <ProcessingInstructionTarget> ditetapkan sebagai 10 dalam kebijakan XMLThreatProtection, tetapi payload input memiliki target petunjuk proses dengan lebih dari 10 karakter, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah target petunjuk pemrosesan terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XML-Threat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan XMLThreatProtection yang gagal (diidentifikasi di Langkah #1) dan catat nilai yang ditentukan dalam elemen turunan <ProcessingInstructionTarget> dari elemen <NameLimits>.

    Dalam contoh kebijakan XMLThreatProtection berikut, <ProcessingInstructionTarget> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah panjang target petunjuk pemrosesan yang ditentukan memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen <ProcessingInstructionTarget> (diidentifikasi di Langkah 2). Jika jumlah karakter melebihi batas ukuran target, berarti hal tersebut yang menyebabkan error.

    Berikut adalah contoh payload input:

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

    Payload XML yang ditampilkan di atas pada baris 2 memiliki nama target petunjuk pemrosesan "xml-stylesheet" dengan panjang 14 karakter. Karena nama target petunjuk pemrosesan lebih panjang dari 10 (nilai yang ditentukan untuk elemen <ProcessingInstructionTarget>), Anda mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk memberikan perlindungan dari payload yang melebihi panjang target petunjuk proses tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa target petunjuk proses bisa lebih panjang, ubah elemen turunan <ProcessingInstructionTarget> dari elemen <NameLimits> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat memiliki target petunjuk proses hingga 25 karakter, ubah kebijakan sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditetapkan oleh elemen <Source> kebijakan XMLThreatProtection berisi dokumen XML dengan URI Namespace melebihi jumlah karakter yang ditetapkan dalam elemen turunan <NamespaceURI> dari elemen <ValueLimits> kebijakan.

Misalnya, jika elemen <NamespaceURI> ditetapkan sebagai 10 dalam kebijakan, tetapi payload input memiliki URI namespace dengan lebih dari 10 karakter, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat panjang URI namespace terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XML-Threat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan yang gagal (yang diidentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen turunan <NamespaceURI> dari elemen <ValueLimits>.

    Dalam contoh kebijakan XMLThreatProtection berikut, <NamespaceURI> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah panjang URI namespace yang ditentukan memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen <NamespaceURI> (yang diidentifikasi di Langkah 2). Jika jumlah karakter melebihi panjang URI namespace, itulah penyebab error.

    Berikut adalah contoh payload input:

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

    Payload XML yang ditampilkan di atas pada baris 2 memiliki URI namespace, http://www.example/profile, dengan panjang 22 karakter. Karena panjang URI namespace lebih besar dari 10 (nilai yang ditentukan untuk elemen <NamespaceURI>), Anda mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk melindungi dari payload yang melebihi panjang URI namespace tertentu, akan muncul pesan error. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa URI namespace yang lebih panjang dapat diizinkan, ubah elemen turunan <NamespaceURI> dari elemen <ValueLimits> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa bisa memiliki panjang URI namespace hingga 30 karakter, ubah kebijakan sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> berisi dokumen XML dengan awalan Namespace melebihi jumlah karakter yang ditetapkan dalam elemen turunan <NamespacePrefix> dari elemen <NameLimits> kebijakan.

Misalnya, jika elemen <NamespacePrefix> ditetapkan sebagai 10 dalam kebijakan XMLThreatProtection, tetapi payload input memiliki awalan namespace dengan lebih dari 10 karakter, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat panjang awalan URI namespace terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XML-Threat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan yang gagal (yang diidentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen turunan <NamespacePrefix> dari elemen <NameLimits>.

    Dalam contoh kebijakan XMLThreatProtection berikut, <NamespacePrefix> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah panjang awalan namespace yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen <NamespacePrefix> (yang diidentifikasi di Langkah 2). Jika jumlah karakter melebihi batas awalan namespace, itulah penyebab error.

    Berikut adalah contoh payload input:

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

    Payload XML yang ditampilkan di atas pada baris 2 memiliki awalan namespace userprofile dengan panjang 11 karakter. Karena panjang awalan URI namespace lebih besar dari 10 (nilai yang ditentukan untuk elemen <NamespacePrefix>), Anda akan mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk melindungi dari payload yang melebihi panjang awalan URI namespace tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa awalan URI namespace yang lebih panjang dapat diizinkan, ubah elemen turunan <NamespacePrefix> dari elemen <NameLimits> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat memiliki panjang awalan URI namespace hingga 15 karakter, ubah kebijakan sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika payload pesan input yang ditetapkan oleh elemen <Source> kebijakan XMLThreatProtection berisi dokumen XML dengan jumlah namespace yang digunakan dalam satu elemen melebihi jumlah yang ditetapkan dalam elemen turunan <NamespaceCountPerElement> elemen <StructureLimits> kebijakan.

Misalnya, jika elemen <NamespaceCountPerElement> ditetapkan sebagai 3 dalam kebijakan, tetapi payload input memiliki elemen dengan lebih dari 3 namespace, error ini akan ditampilkan.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah namespace terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah XMLThreat-Protection-1 dan nomor baris dalam payload adalah 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. Periksa kebijakan yang gagal (yang diidentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen turunan <NamespaceCountPerElement> dari elemen <StructureLimits>.

    Dalam contoh kebijakan XMLThreatProtection berikut, <NamespaceCountPerElement> disetel ke 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. Periksa nomor baris spesifik (yang diidentifikasi di Langkah 1) payload input dan periksa apakah jumlah namespace yang ditentukan di sana untuk satu elemen lebih tinggi dari jumlah yang ditentukan dalam elemen <NamespaceCountPerElement> (yang diidentifikasi di Langkah 2). Jika jumlah namespace melebihi batas jumlah namespace per elemen, itulah penyebab error.

    Berikut adalah contoh payload input:

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

    Payload XML yang ditunjukkan di atas pada baris 2 memiliki lebih dari 3 namespace. Karena jumlah namespace lebih besar dari 3 (nilai yang ditentukan untuk elemen <NamespaceCountPerElement>), Anda mendapatkan error berikut:

    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)
    

Resolusi

Jika kebijakan XMLThreatProtection ditujukan untuk memberikan perlindungan dari payload yang melebihi jumlah namespace tertentu dalam satu elemen, akan muncul pesan error. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan.

Namun, jika Anda menentukan bahwa jumlah namespace yang lebih besar dapat diizinkan, ubah elemen turunan <NamespaceCountPerElement> dari elemen <StructureLimits> ke nilai yang sesuai berdasarkan persyaratan Anda.

Misalnya, jika Anda merasa dapat memiliki hingga 5 namespace dalam satu elemen, ubah kebijakan sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.ExecutionFailed

Isi respons error

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. Reason: [error_description]",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Contoh isi respons Error

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: Syntax error while parsing XML prologue",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Penyebab

Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> kebijakan XMLProtectionPolicy bukan Dokumen XML yang valid.

Diagnosis

  1. Periksa pesan error untuk mengidentifikasi nama kebijakan tempat error terjadi. Pada contoh berikut, nama kebijakan adalah XML-Threat-Protection-1.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: Syntax error while parsing XML prologue
    
  2. Periksa payload input dan periksa apakah dokumen XML yang diteruskan dalam payload memang dokumen XML yang tersusun dengan baik atau bukan.

    Berikut adalah contoh payload input:

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

    Dalam payload XML yang ditampilkan di atas, baris 9 tidak menutup elemen root dengan benar karena / tidak ada. Karena XML tidak diformat dengan baik, Anda mendapatkan error:

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

Resolusi

Pastikan payload XML input yang valid diteruskan ke proxy API apa pun yang menyertakan kebijakan XMLThreatProtection.

Untuk memperbaiki contoh error yang dijelaskan di atas, ubah payload XML input sebagai berikut:

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

Kode Error

steps.xmlthreatprotection.SourceUnavailable

Isi respons error

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition[policy_name]: Source[var_name] is not available"
        "detail": {
            "errorcode": "steps.xmlthreatprotection.SourceUnavailable"
        }
    }
}

Contoh isi respons Error

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Source requests is not available",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.SourceUnavailable"
        }
    }
}

Penyebab

Error ini terjadi jika variabel message yang ditetapkan dalam elemen <Source> kebijakan XMLThreatProtection adalah:

  • Di luar cakupan (tidak tersedia di alur tertentu tempat kebijakan sedang dijalankan)
  • Bukan salah satu nilai yang valid request, response, atau message

Misalnya, error ini terjadi jika elemen <Source> dalam kebijakan disetel ke variabel yang tidak ada dalam alur tempat kebijakan dijalankan.

Diagnosis

  1. Identifikasi nama kebijakan XMLThreatProtection dan nama variabel Sumber dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan XMLThreatProtection adalah XML-Threat-Protection-1dan variabel Sumber adalah requests:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    
  2. Periksa kebijakan XMLThreatProtection yang gagal dan periksa nilai yang ditentukan untuk elemen <Source> yang diidentifikasi di Langkah 1.

    Dalam contoh kebijakan XMLThreatProtection berikut, elemen <Source> disetel ke 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>
    

    Nilai yang valid untuk elemen <Source> adalah request, response, atau message.. Anda akan mendapatkan error karena requests bukan nilai yang valid dan tidak ada dalam alur tempat kebijakan dijalankan.

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

Resolusi

Pastikan variabel yang ditetapkan di elemen <Source> kebijakan XMLThreatProtection yang gagal disetel ke request, response, atau message dan ada di alur tempat kebijakan dijalankan.

Untuk memperbaiki contoh kebijakan yang ditampilkan di atas, Anda dapat mengubah elemen <Source> untuk menggunakan variabel request , karena variabel tersebut ada dalam alur permintaan:

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

Kode Error

steps.xmlthreatprotection.NonMessageVariable

Isi respons error

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

Contoh isi respons Error

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

Penyebab

Error ini terjadi jika elemen <Source> dalam kebijakan XMLThreatProtection disetel ke variabel yang bukan jenis message.

Variabel jenis pesan mewakili keseluruhan respons dan permintaan HTTP. Variabel alur Apigee bawaan request, response, dan message adalah jenis Message. Untuk mempelajari variabel pesan lebih lanjut, lihat Referensi variabel alur.

Diagnosis

  1. Identifikasi nama variabel yang menyelesaikan jenis Pesan variabel dari pesan error. Misalnya, dalam pesan error berikut, nama variabelnya adalah message.content

    Variable message.content does not resolve to a Message
    
  2. Periksa semua kebijakan XMLThreadProtection di proxy API yang menyebabkan kegagalan dan identifikasi kebijakan XMLThreadProtection tertentu tempat elemen <Source> ditentukan dengan nama variabel yang diidentifikasi pada Langkah 1 di atas.

    Dalam contoh kebijakan XMLThreatProtection berikut, <Source> disetel ke 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>
    

    Karena variabel message.content bukan berjenis Message, Anda akan mendapatkan error:

    Variable message.content does not resolve to a Message
    

Resolusi

Pastikan elemen <Source> dalam kebijakan XMLThreatProtection yang gagal disetel ke variabel alur message yang ada dalam alur tempat kebijakan dijalankan.

Untuk memperbaiki kebijakan, Anda dapat mengubah elemen <Source> untuk menentukan variabel yang berjenis Message. Misalnya, dalam XMLThreatProtection yang gagal, Anda dapat menentukan elemen <Source> sebagai 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>