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ı ExecutionFailed hatası verebilir. Aşağıdaki tabloda farklı hata türleri ve olası nedenleri listelenmiştir:

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 XML yükünde izin verilen maksimum XML 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 Bir yorum için izin verilen maksimum uzunluk aşıldı.
PIDataExceeded İzin verilen işleme talimatı veri uzunluğu aşıldı.
PITargetExceeded İşlem talimatı adı uzunluğu aşıldı.
NSURIExceeded Ad alanı URL uzunluğu aşıldı.
NSPrefixExceeded Ad alanı öneki uzunluğu aşıldı.
NSCountExceeded Tek bir öğede kullanılan ad boşluklarının sayısı aşıldı.
Geçersiz XML Yükü Girilen 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 bir 500 yanıt kodu döndürür:

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

Politikanın <Source> öğesi tarafından belirtilen giriş yükü, <NameLimits> öğesinin altındaki <Element> öğesinde belirtilen maksimum uzunluğu aşan XML öğeleri içeriyorsa bu hata oluşur.

Örneğin, XMLThreatProtection politikasında <Element> öğesi 5 olarak belirtilmişse ancak giriş yükü 5 karakterden uzun bir öğeye sahipse bu hata verilir.

Teşhis

  1. Hata mesajını inceleyerek XMLThreatProtection politika adını, satır numarasını ve öğe uzunluğunun aşıldığı giriş yükündeki olası karakter numarasını tespit edin.

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

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

    Giriş yükü örneği:

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

    Yukarıda gösterilen XML yükü 1. satırda company adlı bir kök öğeye sahip ve 7 karakter içeriyor. Öğ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üke karşı koruma sağlamayı amaçlarsa hata mesajı beklenir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

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

Örneğin, 10 karaktere 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ü politikanın <ChildCount> öğesinde belirtilen değerden daha fazla alt öğe içeren bir XML öğesi içeriyorsa ortaya çıkar.

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

Teşhis

  1. Hata mesajını inceleyerek XMLThreatProtection politika adını ve giriş sayısının aşıldığı satır numarasını tespit edin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 5 şeklindedir:

    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 politikayı (1. adımda tanımlanır) inceleyin ve <ChildCount> öğesinde belirtilen değere not edin.

    Aşağıdaki politika örneğinde <ChildCount>, 3 olarak ayarlanmıştır(yorumlar, öğe dahil etme ve diğer öğelerin 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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve yükteki alt öğelerin sayısının (tüm yorumlar dahil), <ChildCount> öğesi için belirtilen değerden (2. adımda tanımlanır) büyük olup olmadığını kontrol edin. Alt öğelerin sayısı alt öğe sayısını aşıyorsa hatanın nedeni budur.

    Giriş yükü örneği:

    <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ır <movie> kök öğesinin dördüncü <director> alt öğesini içeriyor. 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ı, alt öğe sayısı belirli bir eşiği aşan yüklere karşı koruma sağlamayı amaçlarsa hata mesajı gösterilir. Bu durumda, başka işlem yapmanıza gerek yoktur.

Bununla birlikte, herhangi bir sonuç olmadan daha fazla sayıda alt öğenin (yorumlar dahil) yüke dahil edilebileceğini belirlerseniz <ChildCount> öğesini, 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ü, düğüm hiyerarşisinin XMLThreatProtection politikasının <NodeDepth> öğesinde belirtilen sayıyı aştığı bir XML belgesi içeriyorsa ortaya çıkar.

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

Teşhis

  1. Hata mesajını inceleyerek XMLThreatProtection politika adını ve düğüm derinliğinin aşıldığı satır numarasını belirleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 6 şeklindedir:

    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 XMLThreatProtection politikasını (1. adımda tanımlanı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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen düğüm derinliğinin <NodeDepth> öğesinde belirtilen sayıdan (2. Adım'da tanımlanır) daha yüksek bir sayıya sahip olup olmadığını kontrol edin. XML alt öğelerinin düzeyi sayıyı aşıyorsa hatanın nedeni budur.

    Giriş yükü örneği:

    <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ğu için 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ğiyle yüke karşı koruma sağlamayı amaçlarsa hata mesajı gösterilir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

Ancak daha yüksek bir düğüm derinliğine izin verilebileceğini belirlerseniz <NodeDepth> öğesini gereksinimlerinize göre uygun bir değerle değiştirin.

Örneğin, en fazla 10 düğüm derinliğine 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>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ü, tek bir öğenin özellik sayısının politikanın <AttributeCountPerElement> öğesinde belirtilen sayıyı aştığı bir XML dokümanı içeriyorsa ortaya çıkar.

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

Teşhis

  1. Hata mesajını inceleyerek XMLThreatProtection politika adını ve özellik sayısının aşıldığı satır numarasını belirleyin. Örneğin, aşağıdaki hata mesajında politika adı XMLThreat-Protection-1 ve yükteki satır numarası 3 şeklindedir:

    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 politikayı (1. adımda tanımlanır) inceleyin ve <AttributeCountPerElement> öğesinde belirtilen değeri not edin.

    Aşağıdaki politika örneğinde <AttributeCountPerElement>, 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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen özellik sayısının, <AttributeCountPerElementh> öğesinde belirtilen sayıyı (2. Adım'da tanımlanır) aşıp aşmadığını kontrol edin. Öznitelik sayısı, sayıyı aşıyorsa hatanın nedeni budur.

    Giriş yükü örneği:

    <?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ü üç özelliğe sahip bir öğeye sahiptir. Özellik sayısı 2'den (<AttributeCountPerElement> öğ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
    count exceeded 2 at line 3(possibly around char 105)
    

Çözünürlük

XMLThreatProtection politikası, belirli bir özellik sayısını aşan yüklere karşı koruma sağlamayı amaçlarsa hata mesajı gösterilir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

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

Örneğin, öğ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ü, bir özellik adının politikanın <NameLimits> öğesinin <Attribute> alt öğesinde belirtilen karakter sayısını aştığı bir XML dokümanı içeriyorsa ortaya çıkar.

Örneğin, politikada <Attribute> öğesi 5 olarak belirtilmişse ancak giriş yükü 5 karakterden uzun bir özellik adına sahipse bu hata verilir.

Teşhis

  1. Hata mesajını inceleyerek XMLThreatProtection politika adını ve özellik adı uzunluğunun aşıldığı satır numarasını belirleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 3 şeklindedir:

    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 politikayı (1. adımda tanımlanır) inceleyin ve <Attribute> öğesinde belirtilen değere 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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen özelliğin uzunluğunun, <Attribute> öğesinde belirtilen sayıdan (2. Adım'da tanımlanır) daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı özellik değerini aşıyorsa hatanın nedeni budur.

    Giriş yükü örneği:

    <?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ıdaki satır 3'te gösterilen XML yükü sırasıyla 8 ve 7 karakter uzunluğunda iki cuisine ve category özelliğine sahip. Özellik adı uzunluğu 5'ten (<Attribute> öğesi için belirtilen değer) büyük olduğu için 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üklere karşı koruma sağlamayı amaçlarsa hata mesajı gösterilir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

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

Örneğin, en fazla 10 karakterden oluşan özellik adlarına sahip olabileceğ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>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 dokümanı içeriyorsa ortaya çıkar.

Örneğin, XMLThreatProtection politikasında <Attribute> öğesi 10 olarak belirtilmişse ancak giriş yükü 10 karakterden uzun bir özellik değerine sahipse bu hata verilir.

Teşhis

  1. Hata mesajını inceleyerek XMLThreatProtection politika adını ve özellik sayısının aşıldığı satır numarasını belirleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 3 şeklindedir:

    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 politikayı (1. Adım'da tanımlanır) inceleyin ve <ValueLimits> öğesinin <Attribute> alt öğesinde belirtilen değere dikkat edin.

    Aşağıdaki XMLThreatProtection politika örneğinde <Attribute> 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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen özellik değerinin uzunluğunun, <Attribute> öğesinde belirtilen sayıdan (2. Adım'da tanımlanır) daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı özellik değerini aşıyorsa hatanın nedeni budur.

    Giriş yükü örneği:

    <?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ü, 12 karakter uzunluğundaki bir özelliğe (mutfak) sahip. Özellik değeri uzunluğu 10'dan (<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
    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üklere karşı koruma sağlamayı amaçlarsa hata mesajı gösterilir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

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

Örneğin, 15 karaktere kadar değer atayabileceğ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>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ü, bir öğenin metin uzunluğunun politikanın <ValueLimits> öğesinin <Text> alt öğesinde belirtilen karakter sayısını aştığı bir XML dokümanı içerirse ortaya çıkar.

Örneğin, politikada <Text> öğesi 15 olarak belirtilmişse ancak giriş yükünde 15 karakterden uzun bir metin varsa bu hata verilir.

Teşhis

  1. Hata mesajını inceleyerek XMLThreatProtection politika adını ve özellik sayısının aşıldığı satır numarasını belirleyin. Ö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 politikayı (1. Adım'da tanımlanı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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen özellik değerinin uzunluğunun, <Text> öğesinde belirtilen sayıdan (2. Adım'da tanımlanır) 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ü, 53 karakter uzunluğunda metin içermektedir. Özellik değeri uzunluğu 15'ten (<Text> öğ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: 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üklere karşı koruma sağlamayı amaçlarsa hata mesajı gösterilir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

Ancak daha uzun metin uzunluklarına izin verilebileceğini belirlerseniz <ValueLimits> öğesinin <Text> alt öğesini, gereksinimlerinize göre uygun bir değerle değiştirin.

Örneğin, 60 karaktere kadar özellik değerlerine sahip olabileceğ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>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ü, yorum uzunluğunun politikanın <ValueLimits> öğesinin <Comment> alt öğesinde belirtilen karakter sayısını aştığı bir XML dokümanı içeriyorsa ortaya çıkar.

Örneğin, politikada <Comment> öğesi 10 olarak belirtilmişse ancak giriş yükünde 10 karakterden uzun bir yorum varsa bu hata verilir.

Teşhis

  1. Hata mesajını inceleyerek XMLThreatProtection politika adını ve yorum uzunluğunun aşıldığı satır numarasını tespit edin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 2 şeklindedir:

    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 politikayı (1. Adım'da tanımlanır) inceleyin ve <ValueLimits> öğesinin <Comment> alt öğesinde belirtilen değere dikkat 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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen yorum uzunluğunun, <Comment> öğesinde belirtilen sayıdan (2. Adım'da tanımlanır) karakter sayısı olup olmadığını kontrol edin. Karakter sayısı özellik değerini aşıyorsa hatanın nedeni budur.

    Giriş yükü örneği:

    <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ıdaki satır 2'de gösterilen XML yükü 31 karakter uzunluğunda bir yorum içeriyor. Yorum uzunluğu 10'dan (<Comment> öğesi için belirtilen değer) büyük olduğu için aşağıdaki 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üklere karşı koruma sağlamayı amaçlarsa hata mesajı gösterilir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

Bununla birlikte, daha uzun bir yoruma izin verilebileceğini düşünüyorsanız <Comment>öğenin<ValueLimits> alt öğesini, gereksinimlerinize göre uygun bir değerle değiştirin.

Örneğin, 40 karaktere kadar 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ü, veri işleme talimatının politikanın <ValueLimits> öğesinin <ProcessingInstructionData> alt öğesinde belirtilen karakter sayısını aştığı bir XML belgesini içeriyorsa ortaya çıkar.

Örneğin, XMLThreatProtection politikasında <ProcessingInstructionData> öğesi 10 olarak belirtilmişse ancak giriş yükü 10 karakterden uzun bir işleme talimatı içeriyorsa 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 şeklindedir:

    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 politikayı (1. Adım'da tanımlanır) inceleyin ve <ValueLimits> öğesinin <ProcessingInstructionData> alt öğesinde belirtilen değere dikkat 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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen işleme talimatı verilerinin uzunluğu, <ProcessingInstructionData> öğesinde belirtilen sayıdan (2. Adım'da tanımlanır) daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı işleme talimatı verilerini aşıyorsa hatanın nedeni budur.

    Giriş yükü örneği:

    <?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ü bir işleme talimatı veri öğesine (type="text/xsl" href="mobilephones.xsl"?)40 karakter uzunluğunda.) sahip. Bu uzunluk 30'dan (<ProcessingInstructionData> öğesi için belirtilen değer) büyük olduğu için 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üklere karşı koruma sağlamayı amaçlarsa hata mesajı gösterilir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

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

Örneğin, veri işleme talimatlarının en fazla 50 karakter uzunluğunda 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ü, işlem talimatı hedefinin politikanın <NameLimits> öğesinin <ProcessingInstructionTarget> alt öğesinde belirtilen karakter sayısını aştığı bir XML belgesi içeriyorsa ortaya çıkar.

Örneğin, XMLThreatProtection politikasında <ProcessingInstructionTarget> öğesi 10 olarak belirtilmişse ancak giriş yükü 10 karakterden uzun bir işlem talimatı hedefine sahipse bu hata verilir.

Teşhis

  1. XMLThreatProtection politika adını ve işleme talimatı hedefi 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 şeklindedir:

    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 XMLThreatProtection politikasını (1. adımda tanımlanı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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen işleme talimatı hedefinin uzunluğunun, <ProcessingInstructionTarget> öğesinde belirtilen sayıdan (2. Adım'da tanımlanır) fazla karakter içerip içermediğini kontrol edin. Karakter sayısı hedef boyut sınırını aşıyorsa hatanın nedeni budur.

    Giriş yükü örneği:

    <?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ıdaki satır 2'de gösterilen XML Yükünün 14 karakter uzunluğunda "xml-stylesheet"" işleme talimatı hedef adı vardır. İşleme talimatı hedef adı 10'dan (<ProcessingInstructionTarget> öğesi için belirtilen değer) uzun 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 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üklere karşı koruma sağlamayı amaçlarsa hata mesajı gösterilir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

Bununla birlikte, bir süreç talimatı hedefinin daha uzun olabileceğini belirlerseniz <NameLimits> öğesinin <ProcessingInstructionTarget> alt öğesini, gereksinimlerinize göre uygun bir değerle değiştirin.

Örneğin, 25 karakterden oluşan işleme talimat hedeflerine sahip olabileceğ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ü, bir Namespace URI'sinin politikanın <ValueLimits> öğesinin <NamespaceURI> alt öğesinde belirtilen karakter sayısını aştığı bir XML dokümanı içeriyorsa ortaya çıkar.

Örneğin, politikada <NamespaceURI> öğesi 10 olarak belirtilmişse ancak giriş yükü 10 karakterden uzun bir ad alanı URI'sına sahipse bu hata verilir.

Teşhis

  1. Hata mesajını inceleyerek XMLThreatProtection politika adını ve ad alanı URI'sinin uzunluğunun aşıldığı satır numarasını belirleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 2 şeklindedir:

    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 politikayı (1. Adım'da tanımlanır) inceleyin ve <ValueLimits> öğesinin <NamespaceURI> alt öğesinde belirtilen değere 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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen ad alanı URI'sının uzunluğunun, <NamespaceURI> öğesinde belirtilen sayıdan (2. Adım'da tanımlanır) daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı ad alanı URI'sının uzunluğunu aşıyorsa hatanın nedeni budur.

    Giriş yükü örneği:

    <?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ü, 22 karakter uzunluğunda bir ad alanı URI'sine (www.google.com/profile) sahiptir. Ad alanı URI uzunluğu 10'dan (<NamespaceURI> öğ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: 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üklere karşı koruma sağlamayı amaçlarsa hata mesajı gösterilir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

Bununla birlikte, daha uzun bir ad alanı URI'sine izin verilebileceğini belirlerseniz <ValueLimits> öğesinin <NamespaceURI> alt öğesini, gereksinimlerinize göre uygun bir değerle değiştirin.

Örneğin, en fazla 30 karakter uzunluğunda ad alanı URI'sine sahip olabileceğ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>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ü, Namespace ön ekinin politikanın <NameLimits> öğesinin <NamespacePrefix> alt öğesinde belirtilen karakter sayısını aştığı bir XML belgesi içeriyorsa ortaya çıkar.

Örneğin, XMLThreatProtection politikasında <NamespacePrefix> öğesi 10 olarak belirtilmişse ancak giriş yükü 10 karakterden uzun bir ad alanı önekine sahipse bu hata verilir.

Teşhis

  1. Hata mesajını inceleyerek XMLThreatProtection politika adını ve ad alanı URI'si ön ek uzunluğunun aşıldığı satır numarasını belirleyin. Örneğin, aşağıdaki hata mesajında politika adı XML-Threat-Protection-1 ve yükteki satır numarası 2'dır:

    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 politikayı (1. Adım'da tanımlanır) inceleyin ve <NameLimits> öğesinin <NamespacePrefix> alt öğesinde belirtilen değere 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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen ad alanı önekinin uzunluğunun <NamespacePrefix> öğesinde belirtilen sayıdan (2. Adım'da tanımlanır) belirtilenden daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı ad alanı ön ek sınırını aşıyorsa hatanın nedeni budur.

    Giriş yükü örneği:

    <?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'ü, 11 karakter uzunluğunda userprofile ad alanı önekine sahiptir. Ad alanı URI ön ek uzunluğu 10'dan (<NamespacePrefix> öğesi için belirtilen değer) büyük olduğu için aşağıdaki 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ının amacı, belirli bir ad alanı URI'si ön ek uzunluğunu aşan yüke karşı koruma sağlamaksa hata mesajıdır. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

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

Örneğin, en fazla 15 karakter uzunluğunda ad alanı URI ön eki uzunluğuna sahip olabileceğ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>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ü, tek bir öğede kullanılan ad alanlarının sayısının, politikanın <StructureLimits> öğesinin <NamespaceCountPerElement> alt öğesinde belirtilen sayıyı aştığı bir XML belgesi içeriyorsa ortaya çıkar.

Ö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 şeklindedir:

    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 politikayı (1. Adım'da tanımlanır) inceleyin ve <StructureLimits> öğesinin <NamespaceCountPerElement> alt öğesinde belirtilen değere 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 spesifik satır numarasını (1. Adım'da tanımlanır) inceleyin ve tek bir öğe için belirtilen ad alanı sayısının, <NamespaceCountPerElement> öğesinde belirtilen sayıdan (2. Adım'da tanımlanır) yüksek olup olmadığını kontrol edin. Ad alanı sayısı, öğe sınırı başına ad alanı sayısını aşıyorsa hatanın nedeni budur.

    Giriş yükü örneği:

    <?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'te 3'ten fazla ad alanı var. Ad alanı sayısı 3'ten (<NamespaceCountPerElement> öğ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: 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üke karşı koruma sağlamayı amaçlarsa hata mesajı beklenir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.

Bununla birlikte, daha fazla sayıda ad alanına izin verilebileceğini belirlerseniz <StructureLimits> öğesinin <NamespaceCountPerElement> alt öğesini, gereksinimlerinize göre uygun bir değerle değiştirin.

Örneğin, tek bir öğede en fazla 5 ad alanına sahip olabileceğ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>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 dokümanı değilse oluşur.

Teşhis

  1. Hatanın oluştuğu politika adını belirlemek için hata mesajını inceleyin. Aşağıdaki örnekte politika adı XML-Threat-Protection-1'dir.

    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 de iyi biçimlendirilmiş bir XML belgesi olup olmadığını kontrol edin.

    Giriş yükü örneği:

    <?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, / eksik olduğundan 9. satır kök öğeyi doğru şekilde kapatmıyor. Bu, doğru biçimli 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 tüm API proxy'lerine geçerli bir giriş XML yükü aktarıldığından 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 şunlardan biriyse ortaya çıkar:

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

Örneğin bu hata, politikadaki <Source> öğesi, politikanın uygulandığı akışta var olmayan bir değişkene ayarlanırsa ortaya çıkar.

Teşhis

  1. Hata mesajındaki 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, Kaynak değişkeni ise requests: şeklindedir.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    
  2. Başarısız XMLThreatProtection politikasını inceleyip 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. şeklindedir. 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 XMLThreatProtection politikasının <Source> öğesinde ayarlanan değişkenin request, response veya message olarak ayarlandığından ve politikanın uygulandığı akışta bulunduğundan emin olun.

Yukarıda gösterilen örnek politikayı düzeltmek için <Source> öğesini, istek akışında mevcut olduğundan 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 ortaya çıkar.

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 Mesaj türündedir. Mesaj değişkenleri hakkında daha fazla bilgi edinmek için Değişkenler referansı başlıklı makaleyi inceleyin.

Teşhis

  1. Hata mesajındaki Mesaj türündeki bir değişkene çözümlenen değişkenin adını belirleyin. Örneğin, aşağıdaki hata mesajında değişkenin adı message.content şeklindedir.

    Variable message.content does not resolve to a Message
    
  2. Hatanın oluştuğu 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 belirli 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 Mesaj 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 XMLThreatProtection politikasındaki <Source> öğesinin, politikanın uygulandığı akışta bulunan Mesaj türü akış değişkenine ayarlandığından emin olun.

Politikayı düzeltmek için <Source> öğesini, Message türünde bir değişken belirtecek şekilde değiştirebilirsiniz. Örneğin, başarısız XMLThreatProtection öğesinde <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>