XMLThreatProtection politikası çalışma zamanı hatasını giderme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

ExecutionFailed

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Hata türleri ve olası nedenleri

XMLThreatProtection politikası birçok farklı türde ExecutionFailed hatası verebilir. Aşağıdaki tabloda, farklı hata türleri ve olası nedenleri listelenmektedir:

Hata Neden
ElementNameExceeded Bir XML etiketinde izin verilen maksimum dize uzunluğu aşıldı.
ChildCountExceeded XML yükünde izin verilen maksimum alt öğe sayısı aşıldı.
NodeDepthExceeded Bir XML yükünde izin verilen maksimum XML öğesi derinliği aşıldı.
AttributeCountExceeded Tek bir öğedeki maksimum özellik sayısı aşıldı.
AttributeNameExceeded Bir özellik adı için izin verilen maksimum uzunluk aşıldı.
AttributeValueExceeded Bir özellik değeri için izin verilen maksimum uzunluk aşıldı.
TextExceeded Metin için izin verilen maksimum uzunluk aşıldı.
CommentExceeded Yorum için izin verilen maksimum uzunluk aşıldı.
PIDataExceeded İzin verilen işleme talimatı veri uzunluğu aşıldı.
PITargetExceeded İşlem talimatı adının uzunluğu aşıldı.
NSURIExceeded Ad alanı URL'sinin uzunluğu aşıldı.
NSPrefixExceeded Ad alanı ön eki uzunluğu aşıldı.
NSCountExceeded Tek bir öğede kullanılan ad alanlarının sayısı aşıldı.
Geçersiz XML yükü Giriş XML yükü geçersiz.

ElementNameExceeded

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

Çalışma zamanı trafiği, aşağıdaki hatayla birlikte 500 yanıt kodu döndürüyor:

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, politikanın <Source> öğesi tarafından belirtilen giriş yükünde, <NameLimits> öğesinin altındaki <Element> öğesinde belirtilen maksimum uzunluğu aşan XML öğeleri varsa oluşur.

Örneğin, XMLThreatProtection politikasında <Element> öğesi 5 olarak belirtilmişse ancak giriş yükünde 5'ten fazla karakter içeren bir öğe varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını, satır numarasını ve giriş yükünde öğe uzunluğunun aşıldığı olası karakter numarasını belirlemek için hata mesajını inceleyin.

    Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1,, yükteki satır numarası 1 ve olası karakter sayısı 9.'dir.

    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. Başarısız olan politikayı (1. adımda tanımlanmıştır) inceleyin ve <Element> öğesinde belirtilen değeri not edin.

    Örneğin, aşağıdaki XMLThreatProtection politikasında <Element>, 5 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda tanımlanır) inceleyin ve bu satırdaki öğenin uzunluğunun, <Element> öğesi için belirtilen değerden (2. adımda tanımlanır) büyük olup olmadığını kontrol edin. Öğenin uzunluğu bu değeri aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda gösterilen XML yükünde, 1. satırda 7 karakterli company adlı bir kök öğe var. Öğenin uzunluğu 5'ten (<Element> öğesi için belirtilen değer) büyük olduğundan aşağıdaki hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreadProtection politikası, tanımlanan değeri aşan öğe adlarına sahip yüklerden korunmak için tasarlanmışsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak, daha uzun öğelerin yükte herhangi bir sonuç olmadan belirtilebileceğini belirlerseniz <Element> değerini gereksinimlerinize göre uygun bir değerle değiştirin.

Örneğin, 10 birim uzunluğa kadar öğelere izin verebileceğinizi düşünüyorsanız XMLThreatProtection politikasını aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, <Source> öğesi tarafından belirtilen giriş mesajı yükünde, politikadaki <ChildCount> öğesinde belirtilen değerden daha fazla alt öğe içeren bir XML öğesi varsa oluşur.

Örneğin, <ChildCount> öğesi 3 ise ancak giriş XML yükünde 3'ten fazla alt öğe içeren bir öğe varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve giriş sayısının aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 5'dir:

    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. Başarısız olan politikayı (1. adımda tanımlanmıştır) inceleyin ve <ChildCount> öğesinde belirtilen değeri not edin.

    Aşağıdaki politika örneğinde <ChildCount>, 3 olarak ayarlanmıştır(yorumlar, dahil edilen öğeler ve diğerlerinin bu sınıra dahil edildiğini unutmayın):

    <?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. Giriş yükünün belirli satır numarasını (1. adımda belirlenir) inceleyin ve yükteki alt öğelerin sayısının (tüm yorumlar vb. dahil) <ChildCount> öğesi için belirtilen değerden (2. adımda belirlenir) büyük olup olmadığını kontrol edin. Alt öğe sayısı, alt öğe sayısını aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda gösterilen XML yükünde, 5. satırda kök öğenin <movie> dördüncü alt öğesi <director> yer alıyor. Giriş XML yükündeki alt öğe sayısı 3'ten (<ChildCount> öğesi için belirtilen değer) büyük olduğundan aşağıdaki hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, belirli bir eşiği aşan alt öğe sayısına sahip yüklerden korunmak için tasarlanmışsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak, daha fazla sayıda alt öğenin (yorumlar dahil) herhangi bir sonuç olmadan yükleme işlemine dahil edilebileceğini belirlerseniz <ChildCount> değerini gereksinimlerinize göre uygun bir değerle değiştirin.

Örneğin, en fazla 10 alt öğeye izin verebileceğinizi düşünüyorsanız XMLThreatProtection politikasını aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, <Source> öğesi tarafından belirtilen giriş mesajı yükünde, düğüm hiyerarşisinin XMLThreatProtection politikasının <NodeDepth> öğesinde belirtilen sayıyı aştığı bir XML belgesi varsa oluşur.

Örneğin, politikada <NodeDepth> öğesi 4 olarak belirtilmişse ancak giriş yükünde 4 değerini aşan bir düğüm derinliği varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve düğüm derinliğinin aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 6'dir:

    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. Başarısız olan XMLThreatProtection politikasını (1. adımda tanımlanmıştır) inceleyin ve <NodeDepth> öğesinde belirtilen değeri not edin.

    Aşağıdaki XMLThreatProtection politika örneğinde <NodeDepth>, 5 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda tanımlanmıştır) inceleyin ve orada belirtilen düğüm derinliğinin, <NodeDepth> öğesinde (2. adımda tanımlanmıştır) belirtilen sayıdan daha yüksek olup olmadığını kontrol edin. XML alt öğelerinin düzeyi sayıyı aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda 6. satırda gösterilen XML yükünün düğüm derinliği 6'dır..Düğüm derinliği 5'ten (<NodeDepth> öğesi için belirtilen değer) büyük olduğundan aşağıdaki hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, belirli düğüm derinliği eşiğine sahip yüklerden korunmak için tasarlanmışsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak daha fazla düğüm derinliğine izin verilebileceğini belirlerseniz <NodeDepth> değerini gereksinimlerinize uygun bir değerle değiştirin.

Örneğin, 10'a kadar düğüm derinliğine izin verebileceğinizi düşünüyorsanız politikayı aşağıdaki şekilde değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, XMLThreatProtection politikasının <Source> öğesi tarafından belirtilen giriş mesajı yükünde, tek bir öğenin özellik sayısının politikanın <AttributeCountPerElement> öğesinde belirtilen sayıyı aştığı bir XML belgesi varsa oluşur.

Örneğin, <AttributeCountPerElement> öğesi XMLThreatProtection politikasında 2 olarak belirtilmişse ancak giriş yükünde 2'den fazla özelliğe sahip bir öğe varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve özellik sayısının aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XMLThreat-Protection-1 ve yükteki satır numarası 3'dir:

    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. Başarısız olan politikayı (1. adımda tanımlanmıştır) inceleyin ve <AttributeCountPerElement> öğesinde belirtilen değeri not edin.

    Aşağıdaki politika örneğinde, <AttributeCountPerElement> değeri 2 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda tanımlanır) inceleyin ve belirtilen özellik sayısının, <AttributeCountPerElementh> öğesinde (2. adımda tanımlanır) belirtilen sayıyı aşıp aşmadığını kontrol edin. Özellik sayısı, izin verilen sayıyı aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda 3. satırda gösterilen XML yükünde üç özelliği olan bir öğe var. Özellik sayısı 2'den (<AttributeCountPerElement> öğesi için belirtilen değer) fazla olduğundan şu hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, belirli sayıda özelliği aşan yüklerden korunmak için tasarlanmışsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak daha fazla özelliğe izin verilebileceğini belirlerseniz <AttributeCountPerElement> değerini gereksinimlerinize uygun bir değerle değiştirin.

Örneğin, bir öğe başına en fazla 5 özelliğe izin verebileceğinizi düşünüyorsanız politikayı aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, XMLThreatProtection politikasının <Source> öğesi tarafından belirtilen giriş mesajı yükünde, bir özellik adının, politikanın <NameLimits> öğesinin <Attribute> alt öğesinde belirtilen karakter sayısını aştığı bir XML belgesi varsa oluşur.

Örneğin, politikada <Attribute> öğesi 5 olarak belirtilmişse ancak giriş yükünde 5'ten fazla karakter içeren bir özellik adı varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve özellik adı uzunluğunun aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 3'dir:

    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. Başarısız olan politikayı (1. adımda tanımlanmıştır) inceleyin ve <Attribute> öğesinde belirtilen değeri not edin.

    Aşağıdaki XMLThreatProtection politika örneğinde <Attribute>, 5 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda tanımlanmıştır) inceleyin ve orada belirtilen özelliğin uzunluğunun, <Attribute> öğesinde (2. adımda tanımlanmıştır) belirtilen sayıdan daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı özellik değerini aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda 3. satırda gösterilen XML yükünde, sırasıyla 8 ve 7 karakter uzunluğunda adlara sahip iki özellik (category ve cuisine) var.. Özellik adının uzunluğu 5'ten (<Attribute> öğesi için belirtilen değer) büyük olduğundan aşağıdaki hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, belirli bir özellik adı uzunluğunu aşan yüklerden korunmak için tasarlanmışsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak daha uzun bir özellik adı uzunluğuna izin verilebileceğini belirlerseniz <Attribute> değerini, gereksinimlerinize uygun bir değerle değiştirin.

Örneğin, özellik adlarının 10 karaktere kadar olabileceğini düşünüyorsanız politikayı aşağıdaki şekilde değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, politikanın <Source> öğesi tarafından belirtilen giriş mesajı yükü, bir özellik değerinin <ValueLimits> öğesinin <Attribute> alt öğesinde belirtilen karakter sayısını aştığı bir XML belgesi içeriyorsa oluşur.

Örneğin, XMLThreatProtection politikasında <Attribute> öğesi 10 olarak belirtilmişse ancak giriş yükünde 10'dan fazla karakter içeren bir özellik değeri varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve özellik sayısının aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 3'dir:

    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. Başarısız olan politikayı (1. adımda tanımlanmıştır) inceleyin ve <ValueLimits> öğesinin <Attribute> alt öğesinde belirtilen değeri not edin.

    Aşağıdaki XMLThreatProtection politika örneğinde <Attribute> değeri 10 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda tanımlanır) inceleyin ve orada belirtilen özellik değerinin uzunluğunun, <Attribute> öğesinde (2. adımda tanımlanır) belirtilen sayıdan daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı özellik değerini aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda 3. satırda gösterilen XML yükünde, 12 karakter uzunluğunda bir değere sahip bir özellik (mutfak) var. Özellik değeri uzunluğu 10'dan (<Attribute> öğesi için belirtilen değer) büyük olduğundan şu hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, belirli bir özellik değeri uzunluğunu aşan yüklerden korunmayı amaçlıyorsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak daha uzun özellik değerlerine izin verilebileceğini belirlerseniz <ValueLimits> öğesinin <Attribute>alt öğesini, gereksinimlerinize göre uygun bir değerle değiştirin.

Örneğin, 15 karaktere kadar olan değerleri ilişkilendirebileceğinizi düşünüyorsanız politikayı aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, XMLThreatProtection politikasının <Source> öğesi tarafından belirtilen giriş mesajı yükünde, bir öğenin metin uzunluğunun politikanın <ValueLimits> öğesinin <Text> alt öğesinde belirtilen karakter sayısını aştığı bir XML belgesi varsa oluşur.

Örneğin, politikada <Text> öğesi 15 olarak belirtilmişse ancak giriş yükünde 15'ten fazla karakter içeren bir metin varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve özellik sayısının aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1, yükteki satır numarası ise 4'dir:

    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. Başarısız olan politikayı (1. adımda tanımlanmıştır) inceleyin ve <ValueLimits> öğesinin <Text> alt öğesinde belirtilen değeri not edin.

    Aşağıdaki XMLThreatProtection politika örneğinde <Text>, 15 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda tanımlanır) inceleyin ve orada belirtilen özellik değerinin uzunluğunun, <Text> öğesinde (2. adımda tanımlanır) belirtilen sayıdan daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı özellik değerini aşıyorsa hatanın nedeni budur.

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

    Yukarıda 4. satırda gösterilen XML yükünde 53 karakter uzunluğunda bir metin var. Özellik değeri uzunluğu 15'ten (<Text> öğesi için belirtilen değer) büyük olduğundan şu hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, belirli bir metin uzunluğunu aşan yüklerden korunmak için tasarlanmışsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak daha uzun metin uzunluklarına izin verilebileceğini düşünüyorsanız <ValueLimits> öğesinin <Text>alt öğesini gereksinimlerinize uygun bir değerle değiştirin.

Örneğin, özellik değerlerinin 60 karaktere kadar olabileceğini düşünüyorsanız politikayı aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, XMLThreatProtection politikasının <Source> öğesi tarafından belirtilen giriş mesajı yükünde, yorum uzunluğunun politikanın <ValueLimits> öğesinin <Comment> alt öğesinde belirtilen karakter sayısını aştığı bir XML belgesi varsa oluşur.

Örneğin, politikada <Comment> öğesi 10 olarak belirtilmişse ancak giriş yükünde 10'dan fazla karakter içeren bir yorum varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve yorum uzunluğunun aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 2'dir:

    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. Başarısız olan politikayı (1. adımda tanımlanmıştır) inceleyin ve <ValueLimits> öğesinin <Comment> alt öğesinde belirtilen değeri not edin.

    Aşağıdaki XMLThreatProtection politika örneğinde <Comment>, 10 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda belirlenir) inceleyin ve orada belirtilen yorumun uzunluğunun, <Comment> öğesinde (2. adımda belirlenir) belirtilen sayıdan daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı özellik değerini aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda gösterilen XML yükünün 2. satırında, 31 karakter uzunluğunda bir değer içeren yorum var.. Yorum uzunluğu 10'dan (<Comment> öğesi için belirtilen değer) büyük olduğundan şu hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, belirli bir yorum uzunluğunu aşan yüklerden korunmak için tasarlanmışsa hata mesajının gösterilmesi beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak daha uzun bir yoruma izin verilebileceğini düşünüyorsanız <Comment>child öğesini<ValueLimits>, gereksinimlerinize uygun bir değerle değiştirin.

Örneğin, 40 karaktere kadar olan değerleri ilişkilendirebileceğinizi düşünüyorsanız politikayı aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, XMLThreatProtection politikasının <Source> öğesi tarafından belirtilen giriş mesajı yükünde, bir işleme verileri talimatının, politikanın <ValueLimits> öğesinin <ProcessingInstructionData> alt öğesinde belirtilen karakter sayısını aştığı bir XML belgesi varsa oluşur.

Örneğin, XMLThreatProtection politikasında <ProcessingInstructionData> öğesi 10 olarak belirtilmişse ancak giriş yükünde 10'dan fazla karakter içeren bir işleme talimatı varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve işleme talimatı uzunluğunun aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 2'dir:

    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. Başarısız olan politikayı (1. adımda tanımlanmıştır) inceleyin ve <ValueLimits> öğesinin <ProcessingInstructionData> alt öğesinde belirtilen değeri not edin.

    Aşağıdaki XMLThreatProtection politika örneğinde <ProcessingInstructionData>, 30 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda tanımlanmıştır) inceleyin ve orada belirtilen işleme talimatı verilerinin uzunluğunun, <ProcessingInstructionData> öğesinde (2. adımda tanımlanmıştır) belirtilen sayıdan daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı, işleme talimatı verilerini aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda 1. satırda gösterilen XML yükünde, type="text/xsl" href="mobilephones.xsl"?) karakter uzunluğunda. bir işleme talimatı veri öğesi var. Bu uzunluk 30'dan (<ProcessingInstructionData> öğesi için belirtilen değer) büyük olduğundan aşağıdaki hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, belirli bir işleme talimatı veri uzunluğunu aşan yükleri korumak için tasarlanmışsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak daha uzun işleme talimatı veri öğelerine izin verilebileceğini belirlerseniz <ValueLimits> öğesinin <ProcessingInstructionData> alt öğesini, gereksinimlerinize uygun bir değerle değiştirin.

Örneğin, veri işleme talimatı uzunluklarının 50 karaktere kadar olabileceğini düşünüyorsanız politikayı aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, XMLThreatProtection politikasının <Source> öğesi tarafından belirtilen giriş mesajı yükünde, bir işlem talimatı hedefinin, politikanın <NameLimits> öğesinin <ProcessingInstructionTarget> alt öğesinde belirtilen karakter sayısını aştığı bir XML belgesi varsa oluşur.

Örneğin, XMLThreatProtection politikasında <ProcessingInstructionTarget> öğesi 10 olarak belirtilmişse ancak giriş yükünde 10'dan fazla karakter içeren bir işlem talimatı hedefi varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve işleme talimatı hedef sayısının aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 1'dir:

    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. Başarısız olan XMLThreatProtection politikasını (1. adımda tanımlanmıştır) inceleyin ve <NameLimits> öğesinin <ProcessingInstructionTarget> alt öğesinde belirtilen değeri not edin.

    Aşağıdaki XMLThreatProtection politika örneğinde <ProcessingInstructionTarget>, 10 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda tanımlanır) inceleyin ve orada belirtilen işleme talimatı hedefinin uzunluğunun, <ProcessingInstructionTarget> öğesinde (2. adımda tanımlanır) belirtilen sayıdan daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı hedef boyut sınırını aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda 2. satırda gösterilen XML yükünde, 14 karakter uzunluğunda bir işleme talimatı hedef adı "xml-stylesheet"" var. İşleme talimatı hedef adı 10'dan uzun olduğu için (<ProcessingInstructionTarget> öğesi için belirtilen değer) şu hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, belirli bir işlem talimatı hedef uzunluğunu aşan yükleri korumak için tasarlanmışsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak bir işlem talimatı hedefinin daha uzun olabileceğini belirlerseniz <ProcessingInstructionTarget>öğesinin <NameLimits>alt öğesini, gereksinimlerinize uygun bir değerle değiştirin.

Örneğin, 25 karaktere kadar işlem talimatı hedefi belirleyebileceğinizi düşünüyorsanız politikayı aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, XMLThreatProtection politikasının <Source> öğesi tarafından belirtilen giriş mesajı yükünde, <ValueLimits> öğesinin <NamespaceURI> alt öğesinde belirtilen karakter sayısını aşan bir Namespace URI'si içeren bir XML belgesi varsa oluşur.

Örneğin, politikada <NamespaceURI> öğesi 10 olarak belirtilmişse ancak giriş yükünde 10'dan fazla karakter içeren bir ad alanı URI'si varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve ad alanı URI uzunluğunun aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 2'dir:

    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. Başarısız olan politikayı (1. adımda tanımlanmıştır) inceleyin ve <ValueLimits> öğesinin <NamespaceURI> alt öğesinde belirtilen değeri not edin.

    Aşağıdaki XMLThreatProtection politika örneğinde <NamespaceURI>, 10 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda tanımlanmıştır) inceleyin ve orada belirtilen ad alanı URI'sinin uzunluğunun, <NamespaceURI> öğesinde (2. adımda tanımlanmıştır) belirtilen sayıdan daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı ad alanı URI'sinin uzunluğunu aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda 2. satırda gösterilen XML yükünde, 22 karakter uzunluğunda bir ad alanı URI'si (www.google.com/profile) var. Ad alanı URI uzunluğu 10'dan (<NamespaceURI> öğesi için belirtilen değer) büyük olduğu için şu hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, belirli bir ad alanı URI uzunluğunu aşan yüklerden korunmak için tasarlanmışsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak daha uzun bir ad alanı URI'sinin kullanılabileceğini belirlerseniz <ValueLimits> öğesinin <NamespaceURI> alt öğesini, gereksinimlerinize uygun bir değerle değiştirin.

Örneğin, ad alanı URI uzunluklarının 30 karaktere kadar olabileceğini düşünüyorsanız politikayı aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, <Source> öğesi tarafından belirtilen giriş mesajı yükünde, Namespace ön ekinin, politikanın <NameLimits> öğesinin <NamespacePrefix> alt öğesinde belirtilen karakter sayısını aştığı bir XML belgesi varsa oluşur.

Örneğin, XMLThreatProtection politikasında <NamespacePrefix> öğesi 10 olarak belirtilmişse ancak giriş yükünde 10'dan fazla karakter içeren bir ad alanı öneki varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve ad alanı URI ön eki uzunluğunun aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 2'dir:

    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. Başarısız olan politikayı (1. adımda tanımlanmıştır) inceleyin ve <NameLimits> öğesinin <NamespacePrefix> alt öğesinde belirtilen değeri not edin.

    Aşağıdaki XMLThreatProtection politika örneğinde <NamespacePrefix>, 10 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda tanımlanmıştır) inceleyin ve orada belirtilen ad alanı önek uzunluğunun, <NamespacePrefix> öğesinde (2. adımda tanımlanmıştır) belirtilen sayıdan daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı ad alanı önek sınırını aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda 2. satırda gösterilen XML yükünde, 11 karakter uzunluğunda bir userprofile ad alanı öneki var. Ad alanı URI'si önek uzunluğu 10'dan (<NamespacePrefix> öğesi için belirtilen değer) büyük olduğundan şu hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, belirli bir ad alanı URI ön eki uzunluğunu aşan yüklerden korunmak için tasarlanmışsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak daha uzun bir ad alanı URI ön ekine izin verilebileceğini belirlerseniz <NameLimits> öğesinin <NamespacePrefix> alt öğesini, gereksinimlerinize uygun bir değerle değiştirin.

Örneğin, ad alanı URI ön ek uzunluklarının 15 karaktere kadar olabileceğini düşünüyorsanız politikayı aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, XMLThreatProtection politikasının <Source> öğesi tarafından belirtilen giriş mesajı yükünde, tek bir öğede kullanılan ad alanlarının sayısının, politikanın <StructureLimits> öğesinin <NamespaceCountPerElement> alt öğesinde belirtilen sayıyı aşan bir XML belgesi varsa oluşur.

Örneğin, politikada <NamespaceCountPerElement> öğesi 3 olarak belirtilmişse ancak giriş yükünde 3'ten fazla ad alanına sahip bir öğe varsa bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve ad alanı sayısının aşıldığı satır numarasını belirlemek için hata mesajını inceleyin. Örneğin, aşağıdaki hata mesajında politika adı XMLThreat-Protection-1 ve yükteki satır numarası 2'dir:

    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. Başarısız olan politikayı (1. adımda tanımlanmıştır) inceleyin ve <StructureLimits> öğesinin <NamespaceCountPerElement> alt öğesinde belirtilen değeri not edin.

    Aşağıdaki XMLThreatProtection politika örneğinde <NamespaceCountPerElement>, 3 olarak ayarlanmıştır:

    <?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. Giriş yükünün belirli satır numarasını (1. adımda tanımlanır) inceleyin ve tek bir öğe için orada belirtilen ad alanlarının sayısının <NamespaceCountPerElement> öğesinde (2. adımda tanımlanır) belirtilen sayıdan yüksek olup olmadığını kontrol edin. Ad alanlarının sayısı, öğe başına ad alanı sayısı sınırını aşıyorsa hatanın nedeni budur.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda 2. satırda gösterilen XML yükünde 3'ten fazla ad alanı var. Ad alanı sayısı 3'ten (<NamespaceCountPerElement> öğesi için belirtilen değer) büyük olduğundan şu hatayı alırsınız:

    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)
    

Çözünürlük

XMLThreatProtection politikası, tek bir öğede belirli sayıda ad alanını aşan yüklerden korumayı amaçlıyorsa hata mesajı beklenir. Bu durumda başka bir işlem yapmanız gerekmez.

Ancak daha fazla ad alanına izin verilebileceğini düşünüyorsanız <NamespaceCountPerElement> öğesinin <StructureLimits> alt öğesini gereksinimlerinize uygun bir değerle değiştirin.

Örneğin, tek bir öğede en fazla 5 ad alanı olabileceğini düşünüyorsanız politikayı aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.ExecutionFailed

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, XMLProtectionPolicy politikasının <Source> öğesi tarafından belirtilen giriş mesajı yükü geçerli bir XML belgesi değilse oluşur.

Teşhis

  1. Hatayı inceleyerek hatanın oluştuğu politika adını belirleyin. Aşağıdaki örnekte politika adı XML-Threat-Protection-1'dır.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: Syntax error while parsing XML prologue
    
  2. Giriş yükünü inceleyin ve yükte iletilen XML belgesinin gerçekten iyi biçimlendirilmiş bir XML belgesi olup olmadığını kontrol edin.

    Aşağıda örnek bir giriş yükü verilmiştir:

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

    Yukarıda gösterilen XML yükünde, 9. satırda / eksik olduğundan kök öğe doğru şekilde kapatılmıyor. Bu, iyi biçimlendirilmiş bir XML olmadığı için şu hatayı alırsınız:

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

Çözünürlük

XMLThreatProtection politikasını içeren herhangi bir API proxy'sine geçerli bir giriş XML yükünün iletildiğinden emin olun.

Yukarıda açıklanan örnek hatayı düzeltmek için giriş XML yükünü aşağıdaki gibi değiştirin:

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

Hata Kodu

steps.xmlthreatprotection.SourceUnavailable

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, XMLThreatProtection politikasının <Source> öğesinde belirtilen message değişkeni şu durumlarda oluşur:

  • Kapsam dışı (politikanın yürütüldüğü belirli akışta kullanılamaz)
  • request, response veya message geçerli değerlerinden biri değil

Örneğin, politikadaki <Source> öğesi, politikanın yürütüldüğü akışta bulunmayan bir değişkene ayarlanırsa bu hata oluşur.

Teşhis

  1. Hata mesajından XMLThreatProtection politika adını ve Kaynak değişkeninin adını belirleyin. Örneğin, aşağıdaki hata mesajında XMLThreatProtection politika adı XML-Threat-Protection-1 ve Kaynak değişkeni requests:'dir.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    
  2. Başarısız olan XMLThreatProtection politikasını inceleyin ve 1. adımda tanımlanan <Source> öğesi için belirtilen değeri kontrol edin.

    Aşağıdaki XMLThreatProtection politika örneğinde, <Source> öğesi requests olarak ayarlanmıştır.

    <?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> öğesi için geçerli değerler request, response veya message.'dir. requests geçerli bir değer olmadığından ve politikanın yürütüldüğü akışta bulunmadığından şu hatayı alırsınız:

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

Çözünürlük

Başarısız olan XMLThreatProtection politikasının <Source> öğesinde ayarlanan değişkenin request, response veya message olarak ayarlandığından ve politikanın yürütüldüğü akışta bulunduğundan emin olun.

Yukarıda gösterilen örnek politikayı düzeltmek için <Source> öğesini, istek akışında mevcut olduğu için request değişkenini kullanacak şekilde değiştirebilirsiniz:

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

Hata Kodu

steps.xmlthreatprotection.NonMessageVariable

Hata yanıtı gövdesi

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

Örnek hata yanıtı gövdesi

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

Neden

Bu hata, XMLThreatProtection politikasındaki <Source> öğesi Message türünde olmayan bir değişkene ayarlanırsa oluşur.

Mesaj türü değişkenleri, HTTP isteklerinin ve yanıtlarının tamamını temsil eder. Yerleşik Apigee Edge akış değişkenleri request, response ve message, Message türündedir. Mesaj değişkenleri hakkında daha fazla bilgi edinmek için Değişkenler referansı bölümüne bakın.

Teşhis

  1. Hata mesajından, ileti türü değişkenine çözümlenen değişkenin adını belirleyin. Örneğin, aşağıdaki hata mesajında değişkenin adı message.content'dır.

    Variable message.content does not resolve to a Message
    
  2. Hatayı içeren API proxy'sindeki tüm XMLThreadProtection politikalarını inceleyin ve <Source> öğesinin yukarıdaki 1. adımda tanımlanan değişken adıyla belirtildiği XMLThreadProtection politikasını belirleyin.

    Aşağıdaki XMLThreatProtection politika örneğinde <Source>, message.content olarak ayarlanmıştır:

    <?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 değişkeni Message türünde olmadığından şu hatayı alırsınız:

    Variable message.content does not resolve to a Message
    

Çözünürlük

Başarısız olan XMLThreatProtection politikasındaki <Source> öğesinin, politikanın yürütüldüğü akışta bulunan bir Message türü akış değişkenine ayarlandığından emin olun.

Politikayı düzeltmek için <Source> öğesini değiştirerek Message türünde bir değişken belirtebilirsiniz. Örneğin, başarısız olan XMLThreatProtection'da <Source> öğesini message olarak belirtebilirsiniz:

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