Sie lesen gerade die Dokumentation zu Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen.
ExecutionFailed
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Arten von Fehlern und mögliche Ursachen
Die XMLThreatProtection-Richtlinie kann viele verschiedene Arten von ExecutionFailed-Fehlern auslösen. In der folgenden Tabelle sind die verschiedenen Fehlertypen und ihre möglichen Ursachen aufgeführt:
Fehler | Ursache |
ElementNameExceeded | Die maximal zulässige Stringlänge in einem XML-Tag wurde überschritten. |
ChildCountExceeded | Die maximale Anzahl an untergeordneten Elementen, die in einer XML-Nutzlast zulässig sind, wurde überschritten. |
NodeDepthExceeded | Die in einer XML-Nutzlast zulässige maximale Tiefe von XML-Elementen wurde überschritten. |
AttributeCountExceeded | Die maximale Anzahl von Attributen in einem einzelnen Element wurde überschritten. |
AttributeNameExceeded | Die maximal zulässige Länge für einen Attributnamen wird überschritten. |
AttributeValueExceeded | Die maximal zulässige Länge für einen Attributwert wird überschritten. |
TextExceeded | Die maximal zulässige Textlänge wurde überschritten. |
CommentExceeded | Die maximal zulässige Länge für einen Kommentar wurde überschritten. |
PIDataExceeded | Die zulässige Länge der Daten einer Verarbeitungsanweisung wurde überschritten. |
PITargetExceeded | Die Länge des Namens einer Verarbeitungsanweisung wurde überschritten. |
NSURIExceeded | Die Namespace-URL-Länge wurde überschritten. |
NSPrefixExceeded | Die Namespace-Präfixlänge wurde überschritten. |
NSCountExceeded | Die Anzahl der in einem einzelnen Element verwendeten Namespaces wurde überschritten. |
Ungültige XML-Nutzlast | Die XML-Eingabenutzlast ist ungültig. |
ElementNameExceeded
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
Laufzeittraffic gibt einen 500-Antwortcode mit dem folgenden Fehler zurück:
{ "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" } } }
Beispiel für einen Fehlerantworttext
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die im Element <Source>
der Richtlinie angegebene Eingabenutzlast XML-Elemente enthält, die die im Element <Element>
unter dem Element <NameLimits>
angegebene maximale Länge überschreiten.
Beispiel: Wenn das Element <Element>
in der XMLThreatProtection-Richtlinie als 5
angegeben ist, aber die Eingabenutzlast ein Element mit mehr als 5 Zeichen hat, wird dieser Fehler ausgegeben.
Diagnose
Untersuchen Sie die Fehlermeldung, um den Namen der XMLThreatProtection-Richtlinie, die Zeilennummer und die mögliche Zeichenzahl in der Eingabenutzlast zu identifizieren, in der die Elementlänge überschritten wurde.
Beispielsweise ist in der folgenden Fehlermeldung der Richtlinienname
XML-Threat-Protection-1,
die Zeilennummer in der Nutzlast1
und die mögliche Zeichenanzahl9.
.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)
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den Wert, der im Element
<Element>
angegeben ist.In der folgenden XMLThreatProtection-Richtlinie ist
<Element>
beispielsweise auf5
gesetzt:<?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>
Untersuchen Sie die in Schritt 1 ermittelte Zeilennummer der Eingabenutzlast und prüfen Sie, ob die Länge des Elements in dieser Zeile größer als der Wert ist, der für das
<Element>
-Element angegeben ist (in Schritt 2 angegeben). Wenn die Länge des Elements diesen Wert überschreitet, ist dies die Fehlerursache.Hier ist ein Beispiel für eine Eingabenutzlast:
<company> <name>Example</name> <country>USA</country> </company>
Die oben gezeigte XML-Nutzlast hat ein Stammelement namens
company
in Zeile 1 mit sieben Zeichen. Da die Länge des Elements größer als 5 (der für das Element<Element>
angegebene Wert) ist, wird der folgende Fehler angezeigt: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)
Lösung
Wenn die XMLThreadProtection-Richtlinie vor Nutzlasten mit Elementnamen, die den definierten Wert überschreiten, schützen soll, wird die Fehlermeldung erwartet. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch bestimmen, dass längere Elemente in der Nutzlast ohne Auswirkungen angegeben werden können, ändern Sie <Element>
entsprechend.
Wenn Sie beispielsweise Elemente mit einer Länge von bis zu 10 zulassen können, ändern Sie die XMLThreatProtection-Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die im Element <Source>
angegeben ist, ein XML-Element enthält, das mehr untergeordnete Elemente enthält als durch den Wert im Element <ChildCount>
der Richtlinie zugelassen.
Wenn das Element <ChildCount>
beispielsweise 3 ist, die Eingabe-XML-Nutzlast jedoch ein Element mit mehr als drei untergeordneten Elementen enthält, wird dieser Fehler ausgegeben.
Diagnose
Untersuchen Sie die Fehlermeldung, um den Namen der XMLThreatProtection-Richtlinie und die Zeilennummer zu ermitteln, in der die Eingabezahl überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XML-Threat-Protection-1
und die Zeilennummer in der Nutzlast5
: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)"
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den Wert, der im Element
<ChildCount>
angegeben ist.In der folgenden Beispielrichtlinie ist
<ChildCount>
auf3
festgelegt. Beachten Sie, dass Kommentare usw. auf dieses Limit angerechnet werden:<?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>
Untersuchen Sie die in Schritt 1 ermittelte spezifische Zeilennummer der Eingabenutzlast und prüfen Sie, ob die Anzahl der untergeordneten Elemente (einschließlich aller Kommentare) in der Nutzlast größer ist als der Wert für das Element
<ChildCount>
, das in Schritt 2 ermittelt wurde. Wenn die Anzahl der untergeordneten Elemente den angegebenen Wert überschreitet, ist dies die Ursache des Fehlers.Hier ist ein Beispiel für eine Eingabenutzlast:
<movie> <title>Jurassic Park</title> <language>English</language> <country>USA</country> <director>Steven Spielberg</director> </movie>
In der oben gezeigten XML-Nutzlast enthält Zeile 5 ein viertes untergeordnetes Element (
<director>
) des Stammelements<movie>
. Da die Anzahl der untergeordneten Elemente in der XML-Eingabenutzlast größer als 3 (der für das Element<ChildCount>
angegebene Wert) ist, wird der folgende Fehler angezeigt: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten mit einer untergeordneten Elementzahl schützen soll, die einen bestimmten Schwellenwert überschreitet, wird die Fehlermeldung erwartet. In diesem Fall müssen Sie keine weiteren Maßnahmen ergreifen.
Wenn Sie jedoch bestimmen, dass eine größere Anzahl von untergeordneten Elementen, einschließlich Kommentaren usw., ohne jegliche Auswirkungen in die Nutzlast aufgenommen werden kann, ändern Sie den Wert für <ChildCount>
entsprechend Ihren Anforderungen.
Wenn Sie beispielsweise bis zu 10 untergeordnete Elemente zulassen können, ändern Sie die XMLThreatProtection-Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die vom Element <Source>
angegebene Nutzlast der Eingabenachricht ein XML-Dokument enthält, bei dem die Knotenhierarchie die Zahl überschreitet, die im Element <NodeDepth>
der XMLThreatProtection-Richtlinie angegeben wurde.
Wenn beispielsweise das Element <NodeDepth>
in der Richtlinie als 4
angegeben wird, die Eingabenutzlast aber eine Knotentiefe hat, die 4
überschreitet, wird dieser Fehler ausgegeben.
Diagnose
Untersuchen Sie die Fehlermeldung, um den Namen der XMLThreatProtection-Richtlinie und die Zeilennummer zu ermitteln, in der die Knotentiefe überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XML-Threat-Protection-1
und die Zeilennummer in der Nutzlast6
: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)
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene XMLThreatProtection-Richtlinie und notieren Sie sich den Wert, der im Element
<NodeDepth>
angegebenen ist.In der folgenden XMLThreatProtection-Beispielrichtlinie ist
<NodeDepth>
auf5
gesetzt:<?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>
Untersuchen Sie die spezifische Zeilennummer (in Schritt 1 identifiziert) der Eingabenutzlast und prüfen Sie, ob die dort angegebene Knotentiefe höher als der im Element
<NodeDepth>
angegebene Wert ist (in Schritt 2 identifiziert). Wenn die Ebene der untergeordneten XML-Elemente die Anzahl überschreitet, ist dies die Ursache des Fehlers.Hier ist ein Beispiel für eine Eingabenutzlast:
<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>
Die oben in Zeile 6 angezeigte XML-Nutzlast hat eine Knotentiefe von 6.
.
Da die Knotentiefe größer als 5 (der für das Element<NodeDepth>
angegebene Wert) ist, wird der folgende Fehler angezeigt: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten mit dem spezifischen Schwellenwert für die Knotentiefe schützen soll, ist die Fehlermeldung zu erwarten. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch bestimmen, dass eine größere Knotentiefe zugelassen werden kann, können Sie den Wert für <NodeDepth>
entsprechend Ihren Anforderungen anpassen.
Wenn Sie beispielsweise eine Knotentiefe von bis zu 10 zulassen können, ändern Sie die Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die im Element <Source>
der XMLThreatProtection-Richtlinie angegeben ist, ein XML-Dokument enthält, bei dem die Anzahl der Attribute eines einzelnen Elements den im Element <AttributeCountPerElement>
der Richtlinie angegebenen Wert überschreitet.
Wenn beispielsweise das Element <AttributeCountPerElement>
in der Richtlinie XMLThreatProtection-Richtlinie als
2
angegeben ist, aber die Eingabenutzlast ein Element mit mehr als 2 Attributen hat, wird dieser Fehler ausgegeben.
Diagnose
Suchen Sie in der Fehlermeldung nach dem Namen der XMLThreatProtection-Richtlinie und der Zeilennummer, in der die Anzahl der Attribute überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XMLThreat-Protection-1
und die Zeilennummer in der Nutzlast3
: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)
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den im Element
<AttributeCountPerElement>
angegebenen Wert.Im folgenden Richtlinienbeispiel ist
<AttributeCountPerElement>
auf2
festgelegt:<?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>
Untersuchen Sie die in Schritt 1 ermittelte spezifische Zeilennummer der Eingabenutzlast und prüfen Sie, ob die Anzahl der angegebenen Attribute den Wert für das in Schritt 2 ermittelte Element
<AttributeCountPerElementh>
überschreitet. Wenn die Anzahl der Attribute diesen Wert überschreitet, ist dies die Fehlerursache.Hier ist ein Beispiel für eine Eingabenutzlast:
<?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>
Die oben in Zeile 3 angezeigte XML-Nutzlast enthält ein Element mit drei Attributen. Da die Anzahl der Attribute größer als 2 (der für das Element
<AttributeCountPerElement>
angegebene Wert) ist, wird der folgende Fehler angezeigt: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten schützen soll, die eine bestimmte Anzahl von Attributen überschreiten, wird die Fehlermeldung erwartet. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch bestimmen, dass eine größere Anzahl von Attributen zugelassen werden kann, ändern Sie den Wert für <AttributeCountPerElement>
entsprechend Ihren Anforderungen.
Wenn Sie beispielsweise pro Element bis zu fünf Attribute zulassen möchten, ändern Sie die Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die im Element <Source>
der XMLThreatProtection-Richtlinie angegeben ist, ein XML-Dokument enthält, bei dem ein Attributname die Anzahl der Zeichen überschreitet, die im untergeordneten Element <Attribute>
des Elements <NameLimits>
angegeben ist.
Wenn beispielsweise das Element <Attribute>
in der Richtlinie als 5
angegeben wird, die Eingabenutzlast jedoch einen Attributnamen mit mehr als 5 Zeichen hat, wird dieser Fehler ausgegeben.
Diagnose
Ermitteln Sie in der Fehlermeldung den Namen der XMLThreatProtection-Richtlinie und die Zeilennummer, in der die Länge des Attributnamens überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XML-Threat-Protection-1
und die Zeilennummer in der Nutzlast ist3
: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)
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den Wert im Element
<Attribute>
.In der folgenden XMLThreatProtection-Beispielrichtlinie ist
<Attribute>
auf5
gesetzt:<?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>
Untersuchen Sie die spezifische in Schritt 1 ermittelte Zeilennummer der Eingabenutzlast und prüfen Sie, ob die Länge des Attributs den Wert im Element
<Attribute>
überschreitet, das in Schritt 2 ermittelt wurde. Wenn die Anzahl der Zeichen den Attributwert überschreitet, ist dies die Fehlerursache.Hier ist ein Beispiel für eine Eingabenutzlast:
<?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>
Die oben in Zeile 3 gezeigte XML-Nutzlast hat die Attribute
category
undcuisine
, deren Namen eine Länge von 8 bzw. 7 Zeichen hat.
Da die Länge des Attributnamens größer als 5 (der für das Element<Attribute>
angegebene Wert) ist, wird der folgende Fehler angezeigt: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten schützen soll, die eine bestimmte Länge des Attributnamens überschreiten, ist die Fehlermeldung zu erwarten. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch bestimmen, dass für den Attributnamen ein höherer Wert für die Länge zugelassen werden kann, ändern Sie den Wert für <Attribute>
entsprechend Ihren Anforderungen.
Wenn Sie beispielsweise Attributnamen mit bis zu 10 Zeichen haben können, ändern Sie die Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die im Element <Source>
der Richtlinie angegeben ist, ein XML-Dokument enthält, bei dem ein Attributwert die Anzahl der im untergeordneten Element <Attribute>
des Elements <ValueLimits>
angegeben Zeichen überschreitet.
Wenn beispielsweise das Element <Attribute>
in der XMLThreatProtection-Richtlinie als 10
angegeben ist, die Eingabenutzlast jedoch einen Attributwert mit mehr als 10 Zeichen hat, wird dieser Fehler ausgegeben.
Diagnose
Suchen Sie in der Fehlermeldung nach dem Namen der XMLThreatProtection-Richtlinie und der Zeilennummer, in der die Anzahl der Attribute überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XML-Threat-Protection-1
und die Zeilennummer in der Nutzlast ist3
: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)
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den Wert, der im untergeordneten Element
<Attribute>
des Elements<ValueLimits>
angegeben ist.In der folgenden XMLThreatProtection-Beispielrichtlinie ist
<Attribute>
auf 10 gesetzt:<?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>
Untersuchen Sie die spezifische in Schritt 1 ermittelte Zeilennummer der Eingabenutzlast und prüfen Sie, ob die Länge des Attributwerts den Wert im Element
<Attribute>
überschreitet, das in Schritt 2 ermittelt wurde. Wenn die Anzahl der Zeichen den Attributwert überschreitet, ist dies die Fehlerursache.Hier ist ein Beispiel für eine Eingabenutzlast:
<?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>
Die oben in Zeile 3 angezeigte XML-Nutzlast hat ein Attribut (cuisine) mit einer Wertlänge von 12 Zeichen. Da die Länge des Attributwerte größer als 10 (der für das Element
<Attribute>
angegebene Wert) ist, erhalten Sie die folgende Fehlermeldung: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten schützen soll, die eine bestimmte Länge des Attributwerts überschreiten, ist die Fehlermeldung zu erwarten. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch bestimmen, dass längere Attributwerte zugelassen werden können, ändern Sie den Wert für das untergeordnete Element <Attribute>
des Elements <ValueLimits>
entsprechend Ihren Anforderungen.
Wenn Sie beispielsweise Werte mit bis zu 15 Zeichen zulassen möchten, ändern Sie die Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die im Element <Source>
der XMLThreatProtection-Richtlinie angegeben ist, ein XML-Dokument enthält, bei dem die Textlänge eines Elements die Anzahl der Zeichen überschreitet, die im untergeordneten Element <Text>
des Elements <ValueLimits>
der Richtlinie angegeben ist.
Wenn beispielsweise das Element <Text>
in der Richtlinie als 15
angegeben ist, die Eingabenutzlast jedoch einen Text mit mehr als 15 Zeichen enthält, wird dieser Fehler ausgegeben.
Diagnose
Suchen Sie in der Fehlermeldung nach dem Namen der XMLThreatProtection-Richtlinie und der Zeilennummer, in der die Anzahl der Attribute überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XML-Threat-Protection-1
und die Zeilennummer in der Nutzlast4
: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)
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den Wert, der im untergeordneten Element
<Text>
des Elements<ValueLimits>
angegeben ist.In der folgenden XMLThreatProtection-Beispielrichtlinie ist
<Text>
auf15
gesetzt:<?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>
Untersuchen Sie die spezifische in Schritt 1 ermittelte Zeilennummer der Eingabenutzlast und prüfen Sie, ob die Länge des Attributwerts den Wert im Element
<Text>
überschreitet, das in Schritt 2 ermittelt wurde. Wenn die Anzahl der Zeichen den Attributwert überschreitet, ist dies die Fehlerursache.<food> <name>Veg Sandwich</name> <price>$5.95</price> <description>Vegetarian Sandwich with onions, tomatoes and lettuce</description> <calories>650</calories> </food>
Die oben in Zeile 4 angegebene XML-Nutzlast enthält Text mit einer Länge von 53 Zeichen. Da die Länge des Attributwerts größer als 15 (der für das Element
<Text>
angegebene Wert) ist, erhalten Sie die folgende Fehlermeldung: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten schützen soll, die eine bestimmte Textlänge überschreiten, ist die Fehlermeldung zu erwarten. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch bestimmen, dass längere Textlängen zugelassen werden können, ändern Sie den Wert für das untergeordnete Element <Text>
des Elements <ValueLimits>
entsprechend Ihren Anforderungen.
Wenn Sie beispielsweise Attributwerte mit bis zu 60 Zeichen zulassen möchten, ändern Sie die Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die im Element <Source>
der XMLThreatProtection-Richtlinie angegeben ist, ein XML-Dokument enthält, bei dem ein Kommentar die Anzahl der Zeichen überschreitet, die durch den Wert für das untergeordnete Element <Comment>
des Elements <ValueLimits>
angegeben ist.
Wenn beispielsweise das Element <Comment>
in der Richtlinie als 10
angegeben ist, die Eingabenutzlast jedoch einen Kommentar mit mehr als 10 Zeichen enthält, wird dieser Fehler ausgegeben.
Diagnose
Suchen Sie in der Fehlermeldung nach dem Namen der XMLThreatProtection-Richtlinie und der Zeilennummer, in der die Kommentarlänge überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XML-Threat-Protection-1
und die Zeilennummer in der Nutzlast ist2
.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)
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den Wert, der im untergeordneten Element
<Comment>
des Elements<ValueLimits>
angegeben ist.In der folgenden XMLThreatProtection-Beispielrichtlinie ist
<Comment>
auf10
gesetzt:<?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>
Untersuchen Sie die spezifische in Schritt 1 ermittelte Zeilennummer der Eingabenutzlast und prüfen Sie, ob die Länge des Kommentars den Wert im Element
<Comment>
überschreitet, das in Schritt 2 ermittelt wurde. Wenn die Anzahl der Zeichen den Attributwert überschreitet, ist dies die Fehlerursache.Hier ist ein Beispiel für eine Eingabenutzlast:
<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>
Die oben in Zeile 2 angezeigte XML-Nutzlast enthält einen Kommentar mit einer Wertlänge von 31 Zeichen
.
Da die Kommentarlänge größer als 10 (der für das Element<Comment>
angegebene Wert) ist, erhalten Sie folgende Fehlermeldung: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten schützen soll, die eine bestimmte Kommentarlänge überschreiten, ist die Fehlermeldung zu erwarten. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch bestimmen, dass ein längerer Kommentar zugelassen werden kann, ändern Sie den Wert für das untergeordnete Element <Comment>
des Elements <ValueLimits>
entsprechend Ihren Anforderungen.
Wenn Sie beispielsweise Werte mit bis zu 40 Zeichen zulassen können, ändern Sie die Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die im Element <Source>
der XMLThreatProtection-Richtlinie angegeben ist, ein XML-Dokument enthält, bei dem Daten einer Verarbeitungsanweisung die Anzahl der Zeichen überschreitet, die im untergeordneten Element <ProcessingInstructionData>
des Elements <ValueLimits>
angegeben ist.
Wenn beispielsweise das Element <ProcessingInstructionData>
in der XMLThreatProtection-Richtlinie als 10
angegeben ist, die Eingabenutzlast jedoch eine Verarbeitungsanweisung mit mehr als 10 Zeichen enthält, wird dieser Fehler ausgegeben.
Diagnose
Suchen Sie in der Fehlermeldung nach dem Namen der XMLThreatProtection-Richtlinie und der Zeilennummer, in der die Länge der Verarbeitungsanweisung überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XML-Threat-Protection-1
und die Zeilennummer in der Nutzlast ist2
: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)
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den Wert, der im untergeordneten Element
<ProcessingInstructionData>
des Elements<ValueLimits>
angegeben ist.In der folgenden XMLThreatProtection-Beispielrichtlinie ist
<ProcessingInstructionData>
auf30
gesetzt:<?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>
Untersuchen Sie die spezifische in Schritt 1 ermittelte Zeilennummer der Eingabenutzlast und prüfen Sie, ob die Zeichenlänge der Verarbeitungsanweisung den Wert im Element
<ProcessingInstructionData>
überschreitet, das in Schritt 2 ermittelt wurde. Wenn die Anzahl der Zeichen den Wert für die Verarbeitungsanweisung überschreitet, ist dies die Ursache des Fehlers.Hier ist ein Beispiel für eine Eingabenutzlast:
<?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>
Die oben in Zeile 1 gezeigte XML-Nutzlast enthält ein Datenelement zur Verarbeitungsanweisung (
type="text/xsl" href="mobilephones.xsl"?)
mit einer Länge von 40 Zeichen.
Da diese Länge größer als 30 (der für das Element<ProcessingInstructionData>
angegebene Wert) ist, erhalten Sie den folgenden Fehler: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten geschützt werden soll, die eine bestimmte Länge der Daten zur Verarbeitungsanweisung überschreiten, wird die Fehlermeldung erwartet. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch längere Datenelemente zur Verarbeitungsanweisung zulassen können, ändern Sie das untergeordnete Element <ProcessingInstructionData>
des Elements <ValueLimits>
zu einem Wert, der Ihren Anforderungen entspricht.
Wenn Sie beispielsweise der Meinung sind, dass Datenverarbeitungsanweisungen bis zu 50 Zeichen enthalten dürfen, ändern Sie die Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die im Element <Source>
der XMLThreatProtection-Richtlinie angegeben ist, ein XML-Dokument enthält, bei dem das Ziel einer Verarbeitungsanweisung die Anzahl der Zeichen überschreitet, die im untergeordneten Element <ProcessingInstructionTarget>
des Elements <NameLimits>
angegeben ist.
Wenn beispielsweise das Element <ProcessingInstructionTarget>
in der XMLThreatProtection-Richtlinie als 10
angegeben ist, die Eingabenutzlast jedoch ein Verarbeitungsanweisungsziel mit mehr als 10 Zeichen hat, wird dieser Fehler ausgegeben.
Diagnose
Suchen Sie in der Fehlermeldung nach dem Namen der XMLThreatProtection-Richtlinie und der Zeilennummer, in der die Länge des Verarbeitungsanweisungsziels überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XML-Threat-Protection-1
und die Zeilennummer in der Nutzlast ist1
: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)
Untersuchen Sie die fehlgeschlagene in Schritt 1 ermittelte XMLThreatProtection-Richtlinie und notieren Sie sich den Wert im untergeordneten Element
<ProcessingInstructionTarget>
des Elements<NameLimits
>.In der folgenden XMLThreatProtection-Beispielrichtlinie ist
<ProcessingInstructionTarget>
auf10
gesetzt:<?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>
Untersuchen Sie die spezifische in Schritt 1 ermittelte Zeilennummer der Eingabenutzlast und prüfen Sie, ob die angegebene Länge des Verarbeitungsanweisungsziels den Wert im Element
<ProcessingInstructionTarget>
überschreitet, das in Schritt 2 ermittelt wurde. Wenn die Anzahl der Zeichen die maximal zulässige Zielgröße überschreitet, ist dies die Fehlerursache.Hier ist ein Beispiel für eine Eingabenutzlast:
<?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>
Der Name des Verarbeitungsanweisungsziels der oben in Zeile 2 gezeigten XML-Nutzlast lautet
xml-stylesheet"
mit einer Länge von 14 Zeichen. Da der Name des Verarbeitungsanweisungsziels mehr als 10 Zeichen (der für das Element<ProcessingInstructionTarget>
angegebene Wert) hat, wird der folgende Fehler ausgegeben: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten schützen soll, die eine bestimmte Länge für Verarbeitungsanweisungsziele überschreiten, wird die Fehlermeldung erwartet. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch bestimmen, dass das Ziel einer Verarbeitungsanweisung länger sein kann, setzen Sie das untergeordnete Element <ProcessingInstructionTarget>
des Elements <NameLimits>
auf einen Wert entsprechend Ihren Anforderungen.
Wenn Sie z. B. Verarbeitungsanweisungsziele von bis zu 25 Zeichen zulassen möchten, ändern Sie die Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die im Element <Source>
der XMLThreatProtection-Richtlinie angegeben ist, ein XML-Dokument enthält, bei dem ein Namespace-URI die Anzahl der Zeichen überschreitet, die im untergeordneten Element <NamespaceURI>
des Elements <ValueLimits>
angegeben ist.
Wenn beispielsweise das Element <NamespaceURI>
in der Richtlinie als 10
angegeben ist, die Eingabenutzlast jedoch einen Namespace-URI mit mehr als 10 Zeichen enthält, wird dieser Fehler ausgegeben.
Diagnose
Suchen Sie in der Fehlermeldung nach dem Namen der XMLThreatProtection-Richtlinie und der Zeilennummer, in der die Länge der Namespace-URI überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XML-Threat-Protection-1
und die Zeilennummer in der Nutzlast ist2
: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)
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den Wert, der im untergeordneten Element
<NamespaceURI>
des Elements<ValueLimits
> angegeben ist.In der folgenden XMLThreatProtection-Beispielrichtlinie ist
<NamespaceURI>
auf10
gesetzt:<?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>
Untersuchen Sie die spezifische in Schritt 1 ermittelte Zeilennummer der Eingabenutzlast und prüfen Sie, ob die Länge der Namespace-URI-Zeichen den Wert im Element
<NamespaceURI>
überschreitet, das in Schritt 2 ermittelt wurde. Wenn die Anzahl der Zeichen die Länge der Namespace-URI überschreitet, ist dies die Ursache des Fehlers.Hier ist ein Beispiel für eine Eingabenutzlast:
<?xml version = "1.0" encoding = "UTF-8"?> <profile:user xmlns:profile = "www.example.com/profile"> <profile:name>Rama Krishna</profile:name> <profile:company>Example</profile:company> <profile:phone>(91) 9876543210</profile:phone> </profile:user>
Die oben in Zeile 2 gezeigte XML-Nutzlast hat einen Namespace-URI (
http://www.example/profile
) mit einer Länge von 22 Zeichen. Da die Länge des Namespace-URIs größer als 10 (der für das Element<NamespaceURI>
angegebene Wert) ist, erhalten Sie die folgende Fehlermeldung: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten schützen soll, die eine bestimmte Namespace-URI-Länge überschritten haben, wird die Fehlermeldung erwartet. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch bestimmen, dass ein längerer Namespace-URI zugelassen werden kann, ändern Sie das untergeordnete Element <NamespaceURI>
des Elements <ValueLimits>
entsprechend Ihren Anforderungen.
Wenn Sie beispielsweise Namespace-URI-Längen mit bis zu 30 Zeichen haben können, ändern Sie die Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die durch das Element <Source>
angegeben wird, ein XML-Dokument enthält, in dem ein Namespace-Präfix die Anzahl der im untergeordneten Element <NamespacePrefix>
des Elements <NameLimits>
der Richtlinie angegebenen Anzahl an Zeichen überschreitet.
Wenn beispielsweise das Element <NamespacePrefix>
in der XMLThreatProtection-Richtlinie als 10
angegeben ist, die Eingabenutzlast jedoch einen Namespace-Präfix mit mehr als 10 Zeichen enthält, wird dieser Fehler ausgegeben.
Diagnose
Suchen Sie in der Fehlermeldung nach dem Namen der XMLThreatProtection-Richtlinie und der Zeilennummer, in der die Länge des Namespace-URI-Präfix überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XML-Threat-Protection-1
und die Zeilennummer in der Nutzlast2
: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)
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den Wert, der im untergeordneten Element
<NamespacePrefix>
des Elements<NameLimits
> angegeben ist.In der folgenden XMLThreatProtection-Beispielrichtlinie ist
<NamespacePrefix>
auf10
gesetzt:<?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>
Untersuchen Sie die spezifische in Schritt 1 ermittelte Zeilennummer der Eingabenutzlast und prüfen Sie, ob die Länge des Namespace-Prefix den Wert im Element
<NamespacePrefix>
überschreitet, das in Schritt 2 ermittelt wurde. Wenn die Anzahl der Zeichen das Limit für Namespace-Präfixe überschreitet, ist dies die Ursache des Fehlers.Hier ist ein Beispiel für eine Eingabenutzlast:
<?xml version = "1.0" encoding = "UTF-8"?> <userprofile:user xmlns:userprofile = "www.example/profile"> <userprofile:name>Rama Krishna</userprofile:name> <userprofile:company>Example</userprofile:company> <userprofile:phone>(011) 123-4567</userprofile:phone> </userprofile:user>
Die oben in Zeile 2 angezeigte XML-Nutzlast hat das Namespace-Präfix
userprofile
mit einer Länge von 11 Zeichen. Da das Namespace-URI-Präfix länger als 10 (für das Element<NamespacePrefix>
angegebene Wert) ist, wird der folgende Fehler angezeigt: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten schützen soll, die eine bestimmte Namespace-URI-Präfixlänge überschreiten, ist die Fehlermeldung zu erwarten. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch bestimmen, dass ein längerer Namespace-URI-Präfix zugelassen werden kann, ändern Sie das untergeordnete Element <NamespacePrefix>
des Elements <NameLimits>
entsprechend Ihren Anforderungen.
Wenn Sie beispielsweise Namespace-URI-Präfixlängen mit bis zu 15 Zeichen zulassen können, ändern Sie die Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "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" } } }
Beispieltext für eine Fehlermeldung
{
"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"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die im Element <Source>
der XMLThreatProtection-Richtlinie angegeben ist, ein XML-Dokument enthält, bei dem die Anzahl der Namespaces, die in einem einzelnen Element verwendet werden, den Wert überschreitet, der im untergeordneten Element <NamespaceCountPerElement>
des Elements <StructureLimits>
der Richtlinie angegeben ist.
Wenn beispielsweise das Element <NamespaceCountPerElement>
in der Richtlinie als 3
angegeben wird, die Eingabenutzlast jedoch ein Element mit mehr als drei Namespaces enthält, wird dieser Fehler ausgegeben.
Diagnose
Suchen Sie in der Fehlermeldung nach dem Namen der XMLThreatProtection-Richtlinie und der Zeilennummer, in der die Anzahl der Namespaces überschritten wurde. In der folgenden Fehlermeldung lautet der Richtlinienname beispielsweise
XMLThreat-Protection-1
und die Zeilennummer in der Nutzlast2
: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)
Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den Wert, der im untergeordneten Element
<NamespaceCountPerElement>
des Elements<StructureLimits
> angegeben ist.In der folgenden XMLThreatProtection-Beispielrichtlinie ist
<NamespaceCountPerElement>
auf3
gesetzt:<?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>
Untersuchen Sie die in Schritt 1 ermittelte spezifische Zeilennummer der Eingabenutzlast und prüfen Sie, ob die Anzahl der Namespaces, die für ein einzelnes Element angegeben sind, höher ist als die Zahl im Element
<NamespaceCountPerElement>
, das in Schritt 2 ermittelt wurde. Wenn die Anzahl der Namespaces die maximale Anzahl der Namespaces pro Element überschreitet, ist dies die Ursache des Fehlers.Hier ist ein Beispiel für eine Eingabenutzlast:
<?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>
Die oben in Zeile 2 angezeigte XML-Nutzlast hat mehr als 3 Namespaces. Da die Anzahl der Namespaces größer als 3 (der für das Element
<NamespaceCountPerElement>
angegebene Wert) ist, wird der folgende Fehler angezeigt: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)
Lösung
Wenn die XMLThreatProtection-Richtlinie vor Nutzlasten schützen soll, die eine bestimmte Anzahl von Namespaces in einem einzelnen Element überschreiten, wird die Fehlermeldung erwartet. In diesem Fall sind keine weiteren Maßnahmen erforderlich.
Wenn Sie jedoch bestimmen, dass eine größere Anzahl von Namespaces zugelassen werden kann, ändern Sie den Wert für das untergeordnete Element <NamespaceCountPerElement>
des Elements <StructureLimits>
entsprechend Ihren Anforderungen.
Wenn Sie beispielsweise 5 Namespaces in einem einzelnen Element zulassen können, ändern Sie die Richtlinie so:
<?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
Fehlercode
steps.xmlthreatprotection.ExecutionFailed
Fehlerantworttext
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. Reason: [error_description]", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Beispieltext für eine Fehlermeldung
{
"fault": {
"faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
Execution failed. reason: Syntax error while parsing XML prologue",
"detail": {
"errorcode": "steps.xmlthreatprotection.ExecutionFailed"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn die Nutzlast der Eingabenachricht, die im Element <Source>
der XMLProtection-Richtlinie angegeben ist, kein gültiges XML-Dokument ist.
Diagnose
Suchen Sie in der Fehlermeldung nach dem Richtliniennamen, in dem der Fehler aufgetreten ist. Im folgenden Beispiel lautet der Richtlinienname
XML-Threat-Protection-1
.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologue
Untersuchen Sie die Eingabenutzlast und prüfen Sie, ob das in der Nutzlast übergebene XML-Dokument tatsächlich ein korrekt formatiertes XML-Dokument ist oder nicht.
Hier ist ein Beispiel für eine Eingabenutzlast:
<?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>
In der oben gezeigten XML-Nutzlast wird das Stammelement in Zeile 9 nicht korrekt geschlossen, da
/
fehlt. Da das XML-Format nicht korrekt formatiert ist, wird folgende Fehlermeldung angezeigt:XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologue
Lösung
Achten Sie darauf, dass eine gültige XML-Eingabenutzlast an einen API-Proxy übergeben wird, der die XMLThreatProtection-Richtlinie enthält.
Sie können den oben beschriebenen Beispielfehler korrigieren, indem Sie die XML-Eingabenutzlast so ändern:
<?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
Fehlercode
steps.xmlthreatprotection.SourceUnavailable
Fehlerantworttext
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition[policy_name]: Source[var_name] is not available" "detail": { "errorcode": "steps.xmlthreatprotection.SourceUnavailable" } } }
Beispieltext für eine Fehlermeldung
{
"fault": {
"faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
Source requests is not available",
"detail": {
"errorcode": "steps.xmlthreatprotection.SourceUnavailable"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn auf die Variable Message, die im Element <Source>
der XMLThreatProtection-Richtlinie angegeben ist, einer der folgenden Punkte zutrifft:
- Wert liegt außerhalb des Bereichs (nicht in dem spezifischen Ablauf verfügbar, in dem die Richtlinie ausgeführt wird)
- Ist keiner der gültigen Werte
request
,response
odermessage
.
Dieser Fehler tritt beispielsweise auf, wenn für das Element <Source>
in der Richtlinie eine Variable festgelegt ist, die in dem Ablauf, in dem die Richtlinie ausgeführt wird, nicht vorhanden ist.
Diagnose
Ermitteln Sie in der Fehlermeldung den Namen der XMLThreatProtection-Richtlinie und den Namen der Quellvariable. In der folgenden Fehlermeldung lautet der Name der XMLThreatProtection-Richtlinie
XML-Threat-Protection-1
und der Quellvariablerequests:
.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests is not available
Untersuchen Sie die fehlgeschlagene XMLThreatProtection-Richtlinie und prüfen Sie den Wert des in Schritt 1 angegebenen Elements
<Source>
.In der folgenden XMLThreatProtection-Beispielrichtlinie wird für das Element
<Source>
der Wertrequests
festgelegt.<?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>
Die gültigen Werte für das Element
<Source>
sindrequest
,response
odermessage.
Darequests
kein gültiger Wert und nicht im Ablauf vorhanden ist, in dem die Richtlinie ausgeführt wird, erhalten Sie diese Fehlermeldung:XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests is not available
Lösung
Achten Sie darauf, dass die Variable im Element <Source>
der fehlgeschlagenen XMLThreatProtection-Richtlinie entweder auf request
, response
oder message
gesetzt und in dem Ablauf vorhanden ist, in dem die Richtlinie ausgeführt wird.
Um die obige Beispielrichtlinie zu korrigieren, könnten Sie das Element <Source>
so ändern, dass die Variable request
verwendet wird, da diese im Anfrageablauf vorhanden ist:
<?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
Fehlercode
steps.xmlthreatprotection.NonMessageVariable
Fehlerantworttext
{ "fault": { "faultstring": "Variable var_name does not resolve to a Message" "detail": { "errorcode": "steps.xmlthreatprotection.NonMessageVariable" } } }
Beispieltext für eine Fehlermeldung
{
"fault": {
"faultstring": "Variable message.content does not resolve to a Message",
"detail": {
"errorcode": "steps.xmlthreatprotection.NonMessageVariable"
}
}
}
Ursache
Dieser Fehler tritt auf, wenn für das Element <Source>
in der XMLThreatProtection-Richtlinie eine Variable festgelegt ist, die nicht vom Typ message
ist.
Nachrichtentypvariablen stellen ganze HTTP-Anfragen und -Antworten dar. Die integrierten Apigee-Ablaufvariablen request
, response
und message
sind vom Typ "Message". Weitere Informationen zu Nachrichtenvariablen finden Sie in der Ablaufvariablenreferenz.
Diagnose
Ermitteln Sie den Namen der Variable, die in der Fehlermeldung zum Variablentyp „Message“ aufgelöst wird. In der folgenden Fehlermeldung lautet der Name der Variable beispielsweise
message.content
.Variable message.content does not resolve to a Message
Prüfen Sie alle XMLThreadProtection-Richtlinien im API-Proxy, in dem der Fehler aufgetreten ist, und ermitteln Sie die spezifische XMLThreadProtection-Richtlinie, in der das Element
<Source>
mit dem oben in Schritt 1 ermittelten Variablennamen angegeben ist.In der folgenden XMLThreatProtection-Beispielrichtlinie ist
<Source>
aufmessage.content
gesetzt:<?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>
Da die Variable
message.content
nicht vom Typ Message ist, erhalten Sie folgende Fehlermeldung:Variable message.content does not resolve to a Message
Lösung
Sorgen Sie dafür, dass das Element <Source>
in der fehlgeschlagenen XMLThreatProtection-Richtlinie auf die Ablaufvariable message
festgelegt ist, die in dem Ablauf vorhanden ist, in dem die Richtlinie ausgeführt wird.
Um die Richtlinie zu korrigieren, können Sie das Element <Source>
so ändern, dass eine Variable vom Typ "Message" angegeben wird. In der fehlgeschlagenen XMLThreatProtection-Richtlinie könnten Sie beispielsweise das Element <Source>
als message
angeben:
<?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>