Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. info
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ı oluşturabilir. Aşağıdaki tabloda farklı hata türleri ve olası nedenleri listelenmiştir:
Hata | Neden |
ElementNameExceeded | XML etiketinde izin verilen maksimum dize uzunluğu aşıldı. |
ChildCountExceeded | XML yükü için izin verilen maksimum alt öğe sayısı aşıldı. |
NodeDepthExceeded | XML yükünde izin verilen maksimum XML öğesi derinliği aşıldı. |
AttributeCountExceeded | Tek bir öğedeki maksimum özellik sayısı aşıldı. |
AttributeNameExceeded | Özellik adı için izin verilen maksimum uzunluk aşılmıştır. |
AttributeValueExceeded | Bir özellik değeri için izin verilen maksimum uzunluk aşıldı. |
TextExceeded | Metin için izin verilen maksimum uzunluk aşılmıştır. |
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ı ön eki uzunluğu aşıldı. |
NSCountExceeded | Tek bir öğede kullanılan ad boşluğu 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
Bu hata, 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 ortaya çıkar.
Örneğin, XMLThreatProtection politikasında <Element>
öğesi 5
olarak belirtilmişse ancak giriş yükü 5'ten fazla karakter içeren bir öğe içeriyorsa bu hata meydana gelir.
Teşhis
XMLThreatProtection politikası adını, satır numarasını ve öğe uzunluğunun aşıldığı giriş yükündeki olası karakter sayısı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)
Başarısız 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>
Giriş yükündeki 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) daha 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ü, 1. satırda 7 karakter uzunluğunda
company
adlı bir kök öğeye sahiptir. Öğ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ının amacı, tanımlanan değeri aşan öğe adlarına sahip yüklere karşı koruma sağlamaksa hata mesajı gösterilmesi 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 ihtiyaçlarınıza uygun bir değerle değiştirin.
Örneğin, uzunluğu 10'a kadar olan öğelere izin verebileceğinizi düşünüyorsanız XMLThreatProtection politikasını şu ş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>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 atılır.
Teşhis
XMLThreatProtection politikası 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
ş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)"
Başarısız 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ın, dahil edilen öğelerin 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>
Giriş yükünün belirli satır numarasını (1. adımda tanımlanmıştır) inceleyin ve yükteki alt öğe sayısının (tüm yorumlar vb. dahil)
<ChildCount>
öğesi için belirtilen değerden (2. adımda tanımlanmıştır) daha yüksek olup olmadığını kontrol edin. Alt öğelerin sayısı, alt öğelerin 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ü satırında,
<movie>
kök öğesinin dördüncü bir alt öğesi<director>
vardır. Giriş XML yükündeki alt öğe sayısı 3'ten (<ChildCount>
öğesi için belirtilen değer) fazla 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ının amacı, belirli bir eşiği aşan alt öğe sayısına sahip yüklere karşı koruma sağlamaksa hata mesajı gösterilmesi beklenir. Bu durumda herhangi bir işlem yapmanız gerekmez.
Bununla birlikte, yüke daha fazla sayıda alt öğenin (yorumlar dahil vb.) herhangi bir sonuç olmadan dahil edilebileceğini belirlerseniz <ChildCount>
değerini ihtiyaçlarınıza 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, <NodeDepth>
öğesi politikada 4
olarak belirtilmişse ancak giriş yükü 4
'ü aşan bir düğüm derinliğine sahipse bu hata meydana gelir.
Teşhis
XMLThreatProtection politikası 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
'dır: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)
Başarısız XMLThreatProtection politikasını (1. adımda tanımlanmıştır) inceleyin ve
<NodeDepth>
öğesinde belirtilen değeri not edin.Aşağıdaki XMLThreatProtection politikası ö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>
Giriş yükünün belirli satır numarasını (1. adımda tanımlanmıştır) inceleyin ve burada 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şarsa 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ü 6 düğüm derinliğine sahiptir
.
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ının, belirli bir düğüm derinliği eşiğine sahip yüklere karşı koruma sağlamak amacıyla tasarlanması durumunda hata mesajı gösterilmesi beklenir. Bu durumda başka bir işlem yapmanız gerekmez.
Bununla birlikte, daha fazla düğüm derinliğine izin verilebileceğini belirlerseniz <NodeDepth>
değerini ihtiyaçlarınıza göre uygun bir değerle değiştirin.
Örneğin, 10'a kadar düğüm derinliğine izin verebilirsiniz. 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 özelliklerinin 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ünde 2'den fazla özelliğe sahip bir öğe varsa bu hata verilir.
Teşhis
XMLThreatProtection politikasının 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
ş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)
Başarısız politikayı (1. adımda tanımlanmıştı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>
Giriş yükünün belirli 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. Hata, özelliklerin sayısı sınırı aştığında ortaya çıkar.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ü, üç özelliğe sahip bir öğe içerir. Özellik sayısı 2'den (
<AttributeCountPerElement>
öğ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 count exceeded 2 at line 3(possibly around char 105)
Çözünürlük
XMLThreatProtection politikasının amacı, belirli bir sayıdaki özelliği aşan yüklere karşı koruma sağlamaksa hata mesajı gösterilmesi beklenir. Bu durumda başka bir işlem yapmanız gerekmez.
Ancak daha fazla sayıda özelliğe izin verilebileceğini belirlerseniz <AttributeCountPerElement>
değerini ihtiyaçlarınıza göre uygun bir değere 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ü, ö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, <Attribute>
öğesi politikada 5
olarak belirtilmişse ancak giriş yükü 5'ten fazla karakter içeren bir özellik adına sahipse bu hata meydana gelir.
Teşhis
XMLThreatProtection politikası 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
'dır: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)
Başarısız politikayı (1. adımda tanımlanmıştır) inceleyin ve
<Attribute>
öğesinde belirtilen değeri not edinAşağıdaki XMLThreatProtection politikası ö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>
Giriş yükündeki belirli satır numarasını (1. adımda tanımlanmıştır) inceleyin ve burada 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ü, sırasıyla 8 ve 7 karakter uzunluğunda
category
vecuisine
olmak üzere iki özelliğe sahiptir.
Özellik adı uzunluğu 5'ten (<Attribute>
öğesi için belirtilen değer) uzun 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ının amacı, belirli bir özellik adı uzunluğunu aşan yüklere karşı koruma sağlamaksa hata mesajı gösterilmesi 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 ihtiyaçlarınıza göre uygun bir değerle değiştirin.
Örneğin, 10 karaktere kadar ö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'dan fazla karakter içeren bir özellik değerine sahipse bu hata meydana gelir.
Teşhis
XMLThreatProtection politikasının 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
'dır: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)
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 politikası ö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>
Giriş yükündeki belirli satır numarasını (1. adımda tanımlanır) inceleyin ve burada 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 hata bununla ilgilidir.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ü, 12 karakter uzunluğunda bir değere sahip bir özelliğe (cuisine) sahiptir. Özellik değer uzunluğu 10'dan (
<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 value length exceeded 10 at line 3(possibly around char 111)
Çözünürlük
XMLThreatProtection politikasının amacı, belirli bir özellik değeri uzunluğunu aşan yüklere karşı koruma sağlamaksa hata mesajı gösterilmesi 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, ihtiyaçlarınıza göre uygun bir değere değiştirin.
Örneğin, 15 karaktere kadar değer 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ü, bir öğenin metin uzunluğunun politikanın <ValueLimits>
öğesinin <Text>
alt öğesinde belirtilen karakter sayısını aştığı bir XML dokümanı içeriyorsa ortaya çıkar.
Örneğin, <Text>
öğesi politikada 15
olarak belirtilmişse ancak giriş yükünde 15'ten fazla karakter varsa bu hata verilir.
Teşhis
XMLThreatProtection politikasının adını ve özellik sayısının aşıldığı satır numarasını tanımlamak 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ı4
şeklindedir: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)
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 politikası ö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>
Giriş yükünün belirli satır numarasını (1. Adım'da tanımlanır) inceleyin ve burada belirtilen özellik değerinin uzunluğunun,
<Text>
öğesinde (2. Adım'da tanımlanır) belirtilen sayıdan daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı, özellik değerini aşıyorsa hata bununla ilgilidir.<food> <name>Veg Sandwich</name> <price>$5.95</price> <description>Vegetarian Sandwich with onions, tomatoes and lettuce</description> <calories>650</calories> </food>
Yukarıdaki 4. satırda gösterilen XML yükü 53 karakter uzunluğunda metin içeriyor. Özellik değeri uzunluğu 15'ten (
<Text>
öğesi için belirtilen değer) uzun 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: Text length exceeded 15 at line 4(possibly around char 66)
Çözünürlük
XMLThreatProtection politikasının amacı, belirli bir metin uzunluğunu aşan yüklere karşı koruma sağlamaksa hata mesajı görüntülenir. Bu durumda başka bir işlem yapmanız gerekmez.
Ancak daha uzun metin uzunluklarına izin verilebileceğini belirlerseniz <Text>
<ValueLimits>
öğesinin alt öğesini ihtiyaçlarınıza göre uygun bir değerle değiştirin.
Örneğin, 60 karaktere kadar özellik değeri kullanabileceğ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>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 belgesi içeriyorsa ortaya çıkar.
Örneğin, <Comment>
öğesi politikada 10
olarak belirtilmişse ancak giriş yükü 10'dan fazla karakter içeren bir yorum içeriyorsa bu hata meydana gelir.
Teşhis
XMLThreatProtection politikasının 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
'dır: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)
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 politikası ö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>
Giriş yükü için belirli satır numarasını (1. adımda belirtilmiştir) inceleyin ve burada belirtilen yorumun uzunluğunun,
<Comment>
öğesinde (2. adımda belirtilmiştir) belirtilen sayıdan daha fazla karakter içerip içermediğini kontrol edin. Karakter sayısı, özellik değerini aşıyorsa hata bununla ilgilidir.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 2. satırda 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) uzun 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ının amacı, belirli bir yorum uzunluğunu aşan yüklere karşı koruma sağlamaksa hata mesajı görüntülenir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.
Ancak daha uzun bir yoruma izin verilebileceğini düşünüyorsanız <ValueLimits>
öğesinin <Comment>
alt öğesini ihtiyaçlarınıza göre uygun bir değere değiştirin.
Örneğin, 40 karaktere kadar değer 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ü, bir veri işleme talimatının politikanın <ValueLimits>
öğesinin <ProcessingInstructionData>
alt öğesinde belirtilen karakter sayısını aştığı bir XML belgesi içeriyorsa ortaya çıkar.
Örneğin, XMLThreatProtection politikasında <ProcessingInstructionData>
öğesi 10
olarak belirtilmişse ancak giriş yükünde 10'dan fazla karakterden oluşan bir işleme talimatı varsa bu hata verilir.
Teşhis
XMLThreatProtection politika adını ve işleme talimatı uzunluğunun aşıldığı satır numarasını tanımlamak 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)
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 politikası ö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>
Giriş yükünün belirli satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen işleme talimatı verilerinin uzunluğunun
<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.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 bir işleme talimatı veri öğesi bulunur (
type="text/xsl" href="mobilephones.xsl"?)
40 karakter uzunluğunda.
Bu uzunluk 30'dan (<ProcessingInstructionData>
öğesi için belirtilen değer) fazla 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: Processing Instruction data length exceeded 30 at line 2(possibly around char 109)
Çözünürlük
XMLThreatProtection politikasının amacı, belirli bir işlem talimatı veri uzunluğunu aşan yüklere karşı koruma sağlamaksa hata mesajı gösterilmesi beklenir. Bu durumda başka bir işlem yapmanız gerekmez.
Ancak daha uzun işlem talimatı veri öğelerine izin verilebileceğini belirlerseniz <ValueLimits>
öğesinin <ProcessingInstructionData>
alt öğesini gereksinimlerinize göre uygun bir değere değiştirin.
Örneğin, en fazla 50 karakter uzunluğunda veri işleme talimatları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>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 dokümanı içeriyorsa ortaya çıkar.
Örneğin, <ProcessingInstructionTarget>
öğesi XMLThreatProtection politikasında 10
olarak belirtilirse ancak giriş yükünde 10'dan fazla karakterden oluşan bir işlem talimatı hedefi varsa bu hata verilir.
Teşhis
XMLThreatProtection politikasının adını ve işleme talimatı hedefinin 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)
Başarısız XMLThreatProtection politikasını (1. Adımda tanımlanır) inceleyin ve
<NameLimits
> öğesinin<ProcessingInstructionTarget>
alt öğesinde belirtilen değere dikkat edin.Aşağıdaki XMLThreatProtection politikası ö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>
Giriş yükünün belirli satır numarasını (1. Adım'da tanımlanır) inceleyin ve belirtilen işleme talimatı hedefinin uzunluğunun
<ProcessingInstructionTarget>
öğesinde (2. Adım'da tanımlanır) belirtilen sayıdan daha fazla karakter içerip içermediğini kontrol edin. Hata, karakter sayısı hedef boyut sınırını aştığında oluşur.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ükleyici, 14 karakter uzunluğunda bir işlem talimatı hedef adı "
xml-stylesheet"
" içeriyor. İşleme talimatı hedef adı 10'dan uzun olduğu için (<ProcessingInstructionTarget>
öğesi için belirtilen değer) 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ının amacı, belirli bir işlem talimatı hedef uzunluğunu aşan yüklere karşı koruma sağlamaksa hata mesajı gösterilmesi beklenir. Bu durumda başka bir işlem yapmanız gerekmez.
Ancak bir işlem talimatı hedefinin daha uzun olabileceğini belirlerseniz <NameLimits>
öğesinin <ProcessingInstructionTarget>
alt öğesini, ihtiyaçlarınıza göre uygun bir değerle değiştirin.
Örneğin, 25 karaktere kadar işlem talimatı hedefiniz 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>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 XML belgesi içeriyorsa ve bu belgede Namespace URI'si, politikanın <ValueLimits>
öğesinin <NamespaceURI>
alt öğesinde belirtilen karakter sayısını aşıyorsa ortaya çıkar.
Örneğin, <NamespaceURI>
öğesi politikada 10
olarak belirtilmişse ancak giriş yükünde 10'dan fazla karakterden oluşan bir ad alanı URI'si varsa bu hata verilir.
Teşhis
XMLThreatProtection politikasının 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
ş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)
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 politikası ö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>
Giriş yükünün belirli 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 uzunluğunu aşıyorsa hatanın nedeni budur.Aşağıda örnek bir giriş yükü görebilirsiniz:
<?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'si (www.google.com/profile) içerir. Ad alanı URI'sinin uzunluğu 10'dan (
<NamespaceURI>
öğesi için belirtilen değer) fazla 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 uri length exceeded 10 at line 2(possibly around char 99)
Çözünürlük
XMLThreatProtection politikasının amacı, belirli bir ad alanı URI uzunluğunu aşan yüklere karşı koruma sağlamaksa hata mesajı beklenir. Bu durumda herhangi bir işlem yapmanıza gerek yoktur.
Ancak daha uzun bir ad alanı URI'sine izin verilebileceğini belirlerseniz <ValueLimits>
öğesinin <NamespaceURI>
alt öğesini ihtiyaçlarınıza göre uygun bir değere değiştirin.
Örneğin, ad alanı URI'nizin uzunluğunun 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ü, Namespace önekinin politikanın <NameLimits>
öğesinin <NamespacePrefix>
alt öğesinde belirtilen karakter sayısını aştığı bir XML dokümanı içeriyorsa ortaya çıkar.
Örneğin, <NamespacePrefix>
öğesi XMLThreatProtection politikasında 10
olarak belirtilmişse ancak giriş yükünde 10'dan fazla karakterden oluşan bir ad alanı öneki varsa bu hata verilir.
Teşhis
XMLThreatProtection politikasının adını ve ad alanı URI ön ekinin 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
'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)
Başarısız politikayı (1. Adım'da tanımlanır) inceleyin ve
<NameLimits
> öğesinin<NamespacePrefix>
alt öğesinde belirtilen değere dikkat edin.Aşağıdaki XMLThreatProtection politikası ö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>
Giriş yükündeki belirli satır numarasını (1. adımda tanımlanmıştır) inceleyin ve burada belirtilen ad alanı ön ekinin 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ı ön eki 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ü, 11 karakter uzunluğunda bir ad alanı öneki
userprofile
içeriyor. Ad alanı URI ön ek uzunluğu 10'dan (<NamespacePrefix>
öğesi için belirtilen değer) uzun 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 öneki uzunluğunu aşan yüklere karşı koruma sağlamaksa hata mesajı gösterilmesi 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 ihtiyaçlarınıza göre uygun bir değere değiştirin.
Örneğin, ad alanı URI ön ekinin 15 karaktere kadar uzunluğu 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ü, 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, <NamespaceCountPerElement>
öğesi politikada 3
olarak belirtilmişse ancak giriş yükü 3'ten fazla ad alanına sahip bir öğe içeriyorsa bu hata meydana gelir.
Teşhis
XMLThreatProtection politikasının 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)
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 politikası ö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>
Giriş yükündeki belirli satır numarasını (1. adımda tanımlanır) inceleyin ve tek bir öğe için burada belirtilen ad alanlarının sayısının
<NamespaceCountPerElement>
öğesinde (2. adımda tanımlanır) belirtilen sayıdan daha yüksek olup olmadığını kontrol edin. Ad alanı sayısı, öğe başına ad alanı sayısı sınırını aşıyorsa hata bununla ilgilidir.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ü 3'ten fazla ad alanına sahiptir. Alan adı sayısı 3'ten (
<NamespaceCountPerElement>
öğesi için belirtilen değer) fazla 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 count exceeded 3 at line 2(possibly around char 234)
Çözünürlük
XMLThreatProtection politikasının amacı, tek bir öğedeki belirli bir ad alanı sayısını aşan yüklere karşı koruma sağlamaksa hata mesajı gösterilmesi beklenir. Bu durumda başka bir işlem yapmanız gerekmez.
Ancak daha fazla sayıda ad alanına izin verilebileceğini belirlerseniz <StructureLimits>
öğesinin <NamespaceCountPerElement>
alt öğesini ihtiyaçlarınıza göre uygun bir değere 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 ortaya çıkar.
Teşhis
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
'tür.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologue
Giriş yükünü inceleyin ve yükte iletilen XML belgesinin gerçekten de iyi biçimli 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,
/
eksik olduğu için 9. satır kök öğeyi doğru şekilde kapatmıyor. Bu XML düzgün biçimlendirilmediği 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
Geçerli bir giriş XML yükünün, XMLThreatProtection politikasını içeren herhangi bir API proxy'sine iletildiğinden emin olun.
Yukarıda açıklanan örnek hatayı düzeltmek için giriş XML yükü aşağıdaki gibi değiştirilmelidir:
<?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 aşağıdakilerden biriyse ortaya çıkar:
- Kapsam dışında (politikanın yürütüldüğü belirli akışta kullanılamaz)
request
,response
veyamessage
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
XMLThreatProtection politikasının adını ve hata mesajındaki Kaynak değişkeninin adını tanımlayın. Örneğin, aşağıdaki hata mesajında XMLThreatProtection politikasının adı
XML-Threat-Protection-1
, Source değişkeni iserequests:
'dır.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests is not available
Başarısız XMLThreatProtection politikasını inceleyin ve 1. adımda tanımlanan
<Source>
öğesi için belirtilen değeri kontrol edin.Aşağıdaki XMLThreatProtection politikası örneğinde
<Source>
öğesirequests
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ğerlerrequest
,response
veyamessage.
'tır.requests
geçerli bir değer olmadığı ve politikanın yürütüldüğü akışta bulunmadığı için ş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 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 bulunduğ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 meydana gelir.
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ı bölümüne bakın.
Teşhis
Hata mesajından, Mesaj türüne sahip bir değişkene çözüm bulan değişkenin adını belirleyin. Örneğin, aşağıdaki hata mesajında değişkenin adı
message.content
şeklindedirVariable message.content does not resolve to a Message
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ı tanımlayın.Aşağıdaki XMLThreatProtection politikası ö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ü 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 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, Message türündeki 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>