Vous consultez la documentation d'Apigee Edge.
Accéder à la documentation sur Apigee X en savoir plus
ExecutionFailed
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Types d'erreurs et causes possibles
La règle XMLThreatProtection peut générer de nombreux types d'erreurs ExecutionFailed. Le tableau ci-dessous répertorie les différents types d'erreurs et leurs causes possibles :
Erreur | Cause |
ElementNameExceeded | La longueur maximale de chaîne autorisée dans une balise XML est dépassée. |
ChildCountExceeded | Le nombre maximal d'éléments enfants autorisé dans une charge utile XML est dépassé. |
NodeDepthExceeded | La profondeur maximale des éléments XML autorisée dans une charge utile XML est dépassée. |
AttributeCountExceeded | Le nombre maximal d'attributs autorisé dans un seul élément est dépassé. |
AttributeNameExceeded | La longueur maximale autorisée pour un nom d'attribut est dépassée. |
AttributeValueExceeded | La longueur maximale autorisée pour une valeur d'attribut est dépassée. |
TextExceeded | La longueur maximale autorisée pour un texte est dépassée. |
CommentExceeded | La longueur maximale autorisée pour un commentaire est dépassée. |
PIDataExceeded | La longueur maximale des données d'instructions de traitement autorisée est dépassée. |
PITargetExceeded | La longueur maximale du nom de l'instruction de traitement autorisée est dépassée. |
NSURIExceeded | La longueur maximale de l'URL de l'espace de noms est dépassée. |
NSPrefixExceeded | La longueur maximale du préfixe de l'espace de noms est dépassée. |
NSCountExceeded | Le nombre maximal autorisé d'espaces de nom utilisés dans un seul élément est dépassé. |
InvalidXMLPayload | La charge utile d'entrée XML n'est pas valide. |
ElementNameExceeded
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
Le trafic de l'environnement d'exécution renvoie un code de réponse 500 avec l'erreur suivante :
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile d'entrée spécifiée par l'élément <Source>
de la règle contient des éléments XML qui dépassent la longueur maximale spécifiée dans l'élément <Element>
sous l'élément <NameLimits>
.
Par exemple, cette erreur est générée si l'élément <Element>
est spécifié en tant que 5
dans la règle XMLThreatProtection, mais que la charge utile d'entrée contient un élément comportant plus de cinq caractères.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection, le numéro de ligne et le nombre de caractères possible dans la charge utile d'entrée où la longueur de l'élément a été dépassée.
Par exemple, dans le message d'erreur suivant, le nom de la règle est
XML-Threat-Protection-1,
, le numéro de ligne dans la charge utile est1
et le nombre de caractères possible est9.
.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)
Examinez la règle ayant échoué (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément
<Element>
.Par exemple, dans la règle XMLThreatProtection suivante,
<Element>
est défini sur5
:<?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>
Examinez le numéro de ligne (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si la longueur de l'élément de cette ligne est supérieure à la valeur spécifiée pour l'élément
<Element>
(identifiée à l'étape 2). Si la longueur de l'élément dépasse cette valeur, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<company> <name>Google</name> <country>USA</country> </company>
La charge utile XML indiquée ci-dessus contient un élément racine nommé
company
à la ligne 1 qui comporte sept caractères. Comme la longueur de l'élément est supérieure à 5 (la valeur spécifiée pour l'élément<Element>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à protéger contre les charges utiles dont le nom d'élément dépasse la valeur définie, le message d'erreur est attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous décidez que les éléments plus longs peuvent être spécifiés dans la charge utile sans aucune conséquence, remplacez <Element>
par une valeur adaptée à vos besoins.
Par exemple, si vous pensez pouvoir autoriser une longueur d'élément jusqu'à 10, modifiez la règle XMLThreatProtection de la façon suivante :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par l'élément <Source>
contient un élément XML qui contient plus d'éléments enfants que la valeur spécifiée dans l'élément <ChildCount>
de la règle.
Par exemple, si la valeur de l'élément <ChildCount>
est 3 et que la charge utile XML d'entrée comporte un élément qui contient plus de trois éléments enfants, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection et le numéro de ligne dans lequel le nombre d'entrées est dépassé. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XML-Threat-Protection-1
et le numéro de ligne dans la charge utile est5
: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)"
Examinez la règle ayant échoué (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément
<ChildCount>
.Dans l'exemple de règle suivant,
<ChildCount>
est défini sur3
(notez que les commentaires, les éléments inclus et d'autres éléments sont pris en compte dans cette limite) :<?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>
Examinez le numéro de ligne spécifique (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si le nombre d'éléments enfants (y compris tous les commentaires, etc.) dans la charge utile est supérieur à la valeur spécifiée pour l'élément
<ChildCount>
(identifiée à l'étape 2). Si le nombre d'éléments enfants dépasse la valeur de l'élément ChildCount, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<movie> <title>Jurassic Park</title> <language>English</language> <country>USA</country> <director>Steven Spielberg</director> </movie>
Dans la charge utile XML présentée ci-dessus, la ligne 5 contient un quatrième élément enfant
<director>
de l'élément racine<movie>
. Comme le nombre d'éléments enfants dans la charge utile XML d'entrée est supérieur à 3 (la valeur spécifiée pour l'élément<ChildCount>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à protéger contre les charges utiles présentant un nombre d'éléments enfants qui dépasse un seuil spécifique, le message d'erreur est attendu. Dans ce cas, aucune action supplémentaire n'est requise de votre part.
Toutefois, si vous pensez qu'un grand nombre d'éléments enfants (y compris des commentaires, etc.) peut être inclus dans la charge utile sans aucune conséquence, remplacez l'élément <ChildCount>
par une valeur appropriée en fonction de vos besoins.
Par exemple, si vous pensez pouvoir autoriser jusqu'à 10 éléments enfants, modifiez la règle XMLThreatProtection comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par l'élément <Source>
contient un document XML dont la hiérarchie des nœuds dépasse le nombre spécifié dans l'élément <NodeDepth>
de la règle XMLThreatProtection.
Par exemple, si l'élément <NodeDepth>
est spécifié comme 4
dans la règle, mais que la charge utile d'entrée a une profondeur de nœud supérieure à 4
, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection et le numéro de ligne où la profondeur du nœud est dépassée. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XML-Threat-Protection-1
et le numéro de ligne dans la charge utile est6
: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)
Examinez la règle XMLThreatProtection ayant échoué (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément
<NodeDepth>
.Dans l'exemple de règle XMLThreatProtection suivant,
<NodeDepth>
est défini sur5
:<?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>
Examinez le numéro de ligne spécifique (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si la profondeur du nœud spécifiée est supérieure au nombre indiqué dans l'élément
<NodeDepth>
(identifié à l'étape 2). Si le niveau des éléments enfants XML dépasse le nombre, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<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>
La charge utile XML affichée ci-dessus à la ligne 6 a une profondeur de nœud de 6
.
Comme la profondeur de nœud est supérieure à 5 (la valeur spécifiée pour l'élément<NodeDepth>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à se protéger contre les charges utiles présentant un seuil de profondeur de nœud spécifique, le message d'erreur est attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous pensez qu'une plus grande profondeur de nœud peut être autorisée, remplacez <NodeDepth>
par une valeur adaptée à vos besoins.
Par exemple, si vous pensez pouvoir autoriser jusqu'à 10 nœuds, modifiez la règle comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par l'élément <Source>
de la règle XMLThreatProtection contient un document XML dans lequel le nombre d'attributs d'un seul élément dépasse le nombre spécifié dans l'élément <AttributeCountPerElement>
de la règle.
Par exemple, si l'élément <AttributeCountPerElement>
est spécifié en tant que 2
dans la règle XMLThreatProtection , mais que la charge utile d'entrée contient un élément comportant plus de deux attributs, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection et le numéro de ligne où le nombre d'attributs est dépassé. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XMLThreat-Protection-1
et le numéro de ligne dans la charge utile est3
: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)
Examinez la règle ayant échoué (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément
<AttributeCountPerElement>
.Dans l'exemple de stratégie suivant,
<AttributeCountPerElement>
est défini sur2
:<?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>
Examinez le numéro de ligne (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si le nombre d'attributs spécifiés dépasse le nombre spécifié dans l'élément
<AttributeCountPerElementh>
(identifié à l'étape 2). Si le nombre d'attributs dépasse le nombre spécifié, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<?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>
La charge utile XML indiquée ci-dessus à la ligne 3 contient un élément doté de trois attributs. Étant donné que le nombre d'attributs est supérieur à 2 (la valeur spécifiée pour l'élément
<AttributeCountPerElement>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à se protéger contre les charges utiles dépassant un nombre spécifique d'attributs, le message d'erreur est attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous pensez pouvoir autoriser un plus grand nombre d'attributs, remplacez <AttributeCountPerElement>
par une valeur appropriée en fonction de vos besoins.
Par exemple, si vous pensez pouvoir autoriser jusqu'à cinq attributs par élément, modifiez la règle comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par l'élément <Source>
de la règle XMLThreatProtection contient un document XML dans lequel le nom d'un attribut dépasse le nombre de caractères spécifié dans l'élément enfant <Attribute>
de l'élément <NameLimits>
de la règle.
Par exemple, si l'élément <Attribute>
est défini sur 5
dans la règle, mais que la charge utile d'entrée comporte un nom d'attribut de plus de cinq caractères, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection et le numéro de ligne où la longueur du nom d'attribut est dépassée. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XML-Threat-Protection-1
et le numéro de ligne dans la charge utile est3
: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)
Examinez la règle ayant échoué (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément
<Attribute>
.Dans l'exemple de règle XMLThreatProtection suivant,
<Attribute>
est défini sur5
:<?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>
Examinez le numéro de ligne (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si la longueur de l'attribut spécifié contient plus de caractères que le nombre spécifié dans l'élément
<Attribute>
(identifié à l'étape 2). Si le nombre de caractères est supérieur à la valeur de l'attribut, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<?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>
La charge utile XML indiquée ci-dessus à la ligne 3 comporte deux attributs
category
etcuisine
, dont le nom comprend respectivement 8 caractères et 7 caractères.
Comme la longueur du nom de l'attribut est supérieure à 5 (la valeur spécifiée pour l'élément<Attribute>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à se protéger contre les charges utiles dépassant une longueur de nom d'attribut spécifique, le message d'erreur est attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous pensez qu'un nom d'attribut plus long peut être autorisé, remplacez <Attribute>
par une valeur adaptée à vos besoins.
Par exemple, si vous pensez avoir des noms d'attributs de 10 caractères maximum, modifiez la règle comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par l'élément <Source>
de la règle contient un document XML dans lequel une valeur d'attribut dépasse le nombre de caractères spécifié dans l'élément enfant <Attribute>
de l'élément <ValueLimits>
.
Par exemple, si l'élément <Attribute>
est défini sur 10
dans la règle XMLThreatProtection, mais que la charge utile d'entrée a une valeur d'attribut de plus de 10 caractères, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection et le numéro de ligne où le nombre d'attributs est dépassé. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XML-Threat-Protection-1
et le numéro de ligne dans la charge utile est3
: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)
Examinez la règle ayant échoué (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément enfant
<Attribute>
de l'élément<ValueLimits>
.Dans l'exemple de règle XMLThreatProtection suivant,
<Attribute>
est défini sur 10 :<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1"> <DisplayName>XML Threat Protection-1</DisplayName> <Properties/> <NameLimits> <Element>10</Element> <Attribute>5</Attribute> <NamespacePrefix>10</NamespacePrefix> <ProcessingInstructionTarget>10</ProcessingInstructionTarget> </NameLimits> <Source>request</Source> <StructureLimits> <NodeDepth>10</NodeDepth> <AttributeCountPerElement>2</AttributeCountPerElement> <NamespaceCountPerElement>3</NamespaceCountPerElement> <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount> </StructureLimits> <ValueLimits> <Text>15</Text> <Attribute>10</Attribute> <NamespaceURI>10</NamespaceURI> <Comment>10</Comment> <ProcessingInstructionData>10</ProcessingInstructionData> </ValueLimits> </XMLThreatProtection>
Examinez le numéro de ligne spécifique (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si la longueur de la valeur d'attribut spécifiée contient plus de caractères que le nombre spécifié dans l'élément
<Attribute>
(identifié à l'étape 2). Si le nombre de caractères est supérieur à la valeur de l'attribut, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<?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>
La charge utile XML indiquée ci-dessus à la ligne 3 comporte un attribut (cuisine) d'une longueur de 12 caractères. Comme la longueur de la valeur d'attribut est supérieure à 10 (la valeur spécifiée pour l'élément
<Attribute>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à se protéger contre les charges utiles qui dépassent une longueur de valeur d'attribut spécifique, le message d'erreur est attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous pensez pouvoir autoriser des valeurs d'attribut plus longues, remplacez l'élément enfant <Attribute>
de l'élément <ValueLimits>
par une valeur appropriée en fonction de vos besoins.
Par exemple, si vous pensez être en mesure d'attribuer des valeurs de 15 caractères maximum, modifiez la règle comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par la règle XMLThreatProtection<Source>
contient un document XML dans lequel la longueur du texte d'un élément dépasse le nombre de caractères spécifié dans l'élément enfant <Text>
de l'élément <ValueLimits>
de la règle.
Par exemple, si l'élément <Text>
est défini sur 15
dans la règle, mais que la charge utile d'entrée contient un texte de plus de 15 caractères, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection et le numéro de ligne où le nombre d'attributs est dépassé. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XML-Threat-Protection-1
et le numéro de ligne dans la charge utile est4
: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)
Examinez la règle ayant échoué (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément enfant
<Text>
de l'élément<ValueLimits>
.Dans l'exemple de règle XMLThreatProtection suivant,
<Text>
est défini sur15
:<?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>
Examinez le numéro de ligne spécifique (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si la longueur de la valeur d'attribut spécifiée contient plus de caractères que le nombre spécifié dans l'élément
<Text>
(identifié à l'étape 2). Si le nombre de caractères est supérieur à la valeur de l'attribut, il s'agit de la cause de l'erreur.<food> <name>Veg Sandwich</name> <price>$5.95</price> <description>Vegetarian Sandwich with onions, tomatoes and lettuce</description> <calories>650</calories> </food>
La charge utile XML indiquée ci-dessus à la ligne 4 comporte du texte d'une longueur de 53 caractères. Comme la longueur de la valeur d'attribut est supérieure à 15 (la valeur spécifiée pour l'élément
<Text>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à se protéger contre les charges utiles dépassant une longueur de texte spécifique, le message d'erreur est attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous pensez pouvoir autoriser des textes plus longs, modifiez l'élément enfant <Text>
de l'élément <ValueLimits>
sur une valeur adaptée à vos besoins.
Par exemple, si vous pensez avoir des valeurs d'attribut de 60 caractères maximum, modifiez la règle comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par l'élément <Source>
de la règle XMLThreatProtection contient un document XML dans lequel la longueur du commentaire dépasse le nombre de caractères spécifié dans l'élément enfant <Comment>
de l'élément <ValueLimits>
de la règle.
Par exemple, si l'élément <Comment>
est défini sur 10
dans la règle, mais que la charge utile d'entrée comporte un commentaire de plus de 10 caractères, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection et le numéro de ligne où la longueur du commentaire est dépassée. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XML-Threat-Protection-1
et le numéro de ligne de la charge utile est2
: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)
Examinez la règle ayant échoué (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément enfant
<Comment>
de l'élément<ValueLimits>
.Dans l'exemple de règle XMLThreatProtection suivant,
<Comment>
est défini sur10
:<?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>
Examinez le numéro de ligne (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si la longueur du commentaire spécifié contient plus de caractères que le nombre spécifié dans l'élément
<Comment>
(identifié à l'étape 2). Si le nombre de caractères est supérieur à la valeur de l'attribut, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<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>
La charge utile XML indiquée ci-dessus à la ligne 2 comporte un commentaire d'une longueur de 31 caractères
.
Comme la longueur du commentaire est supérieure à 10 (la valeur spécifiée pour l'élément<Comment>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à se protéger contre les charges utiles dépassant une longueur de commentaire spécifique, le message d'erreur est attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous pensez pouvoir autoriser un commentaire plus long, remplacez l'élément enfant <Comment>
de l'élément <ValueLimits>
par une valeur appropriée en fonction de vos besoins.
Par exemple, si vous pensez pouvoir attribuer des valeurs de 40 caractères maximum, modifiez la règle comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par l'élément <Source>
de la règle XMLThreatProtection contient un document XML dans lequel une instruction de traitement des données dépasse le nombre de caractères spécifié dans l'élément enfant <ProcessingInstructionData>
de l'élément <ValueLimits>
de la règle.
Par exemple, si l'élément <ProcessingInstructionData>
est défini sur 10
dans la règle XMLThreatProtection, mais que la charge utile d'entrée contient une instruction de traitement de plus de 10 caractères, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection et le numéro de ligne où la longueur de l'instruction de traitement est dépassée. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XML-Threat-Protection-1
et le numéro de ligne dans la charge utile est2
: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)
Examinez la règle ayant échoué (identifié à l'étape 1) et notez la valeur spécifiée dans l'élément enfant
<ProcessingInstructionData>
de l'élément<ValueLimits>
.Dans l'exemple de règle XMLThreatProtection suivant,
<ProcessingInstructionData>
est défini sur30
:<?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>
Examinez le numéro de ligne spécifique (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si la longueur des données d'instructions de traitement contient plus de caractères que le nombre spécifié dans l'élément
<ProcessingInstructionData>
(identifié à l'étape 2). Si le nombre de caractères dépasse la longueur des données d'instructions de traitement, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<?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>
La charge utile XML présentée ci-dessus à la ligne 1 comporte un élément de données d'instructions de traitement
type="text/xsl" href="mobilephones.xsl"?)
avec une longueur de 40 caractères.
Comme cette longueur est supérieure à 30 (la valeur spécifiée pour l'élément<ProcessingInstructionData>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à se protéger contre les charges utiles dépassant une longueur de données d'instruction de traitement spécifique, le message d'erreur est attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous pensez pouvoir autoriser des éléments de données d'instructions plus longs, remplacez l'élément enfant <ProcessingInstructionData>
de l'élément <ValueLimits>
par une valeur adaptée à vos besoins.
Par exemple, si vous pensez avoir des longueurs d'instructions de traitement des données comportant jusqu'à 50 caractères, modifiez la règle comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par l'élément <Source>
de la règle XMLThreatProtection contient un document XML dans lequel une cible d'instructions de traitement dépasse le nombre de caractères spécifié dans l'élément enfant <ProcessingInstructionTarget>
de l'élément <NameLimits>
de la règle.
Par exemple, si l'élément <ProcessingInstructionTarget>
est défini sur 10
dans la règle XMLThreatProtection, mais que la charge utile d'entrée possède une instruction de traitement cible comportant plus de 10 caractères, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection ainsi que le numéro de la ligne dans laquelle le nombre de caractères de l'instruction de traitement cible est dépassé. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XML-Threat-Protection-1
et le numéro de ligne dans la charge utile est1
: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)
Examinez la règle XMLThreatProtection (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément enfant
<ProcessingInstructionTarget>
de l'élément<NameLimits
.Dans l'exemple de règle XMLThreatProtection suivant,
<ProcessingInstructionTarget>
est défini sur10
:<?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>
Examinez le numéro de ligne (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si la longueur de l'instruction de traitement cible contient plus de caractères que le nombre spécifié dans l'élément
<ProcessingInstructionTarget>
(identifié à l'étape 2). Si le nombre de caractères dépasse la limite de taille cible, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<?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>
La charge utile XML indiquée ci-dessus à la ligne 2 contient un nom d'instruction de traitement cible "
xml-stylesheet"
" d'une longueur de 14 caractères. Comme le nom de l'instruction de traitement cible est supérieur à 10 (la valeur spécifiée pour l'élément<ProcessingInstructionTarget>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à se protéger contre les charges utiles dépassant une longueur de cible d'instruction de processus spécifique, le message d'erreur est alors attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous pensez qu'une instruction de traitement peut être plus longue, remplacez l'élément enfant <ProcessingInstructionTarget>
de l'élément <NameLimits>
par une valeur adaptée à vos besoins.
Par exemple, si vous pensez avoir des instructions de traitement cibles comportant jusqu'à 25 caractères, modifiez la règle comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par l'élément <Source>
de la règle XMLThreatProtection contient un document XML dans lequel un URI d'espace de noms dépasse le nombre de caractères spécifié dans l'élément enfant <NamespaceURI>
<ValueLimits>
de la règle.
Par exemple, si l'élément <NamespaceURI>
est défini sur 10
dans la règle, mais que la charge utile d'entrée possède un URI d'espace de noms de plus de 10 caractères, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection et le numéro de ligne où la longueur de l'URI de l'espace de noms est dépassée. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XML-Threat-Protection-1
et le numéro de ligne dans la charge utile est2
: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)
Examinez la règle ayant échoué (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément enfant
<NamespaceURI>
de l'élément<ValueLimits
.Dans l'exemple de règle XMLThreatProtection suivant,
<NamespaceURI>
est défini sur10
:<?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>
Examinez le numéro de ligne spécifique (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si la longueur de l'URI de l'espace de noms spécifié comporte plus de caractères que le nombre spécifié dans l'élément
<NamespaceURI>
(identifié à l'étape 2). Si le nombre de caractères dépasse la longueur de l'URI de l'espace de noms, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<?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>
La charge utile XML indiquée ci-dessus à la ligne 2 possède un URI d'espace de noms, www.google.com/profile, d'une longueur de 22 caractères. Comme la longueur de l'URI de l'espace de noms est supérieure à 10 (la valeur spécifiée pour l'élément
<NamespaceURI>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à se protéger contre les charges utiles ayant dépassé une longueur d'URI d'espace de noms spécifique, le message d'erreur est attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous pensez pouvoir autoriser un URI d'espace de noms plus long, remplacez l'élément enfant <NamespaceURI>
de l'élément <ValueLimits>
par une valeur adaptée à vos besoins.
Par exemple, si vous pensez avoir des URI d'espace de noms comportant jusqu'à 30 caractères, modifiez la règle comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par l'élément <Source>
contient un document XML dans lequel un préfixe d'espace de noms dépasse le nombre de caractères spécifié dans l'élément enfant <NamespacePrefix>
de l'élément <NameLimits>
de la règle.
Par exemple, si l'élément <NamespacePrefix>
est défini sur 10
dans la règle XMLThreatProtection, mais que la charge utile d'entrée possède un préfixe d'espace de noms de plus de 10 caractères, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection et le numéro de ligne où la longueur du préfixe URI de l'espace de noms est dépassée. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XML-Threat-Protection-1
et le numéro de ligne de la charge utile est2
: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)
Examinez la règle ayant échoué (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément enfant
<NamespacePrefix>
de l'élément<NameLimits
.Dans l'exemple de règle XMLThreatProtection suivant,
<NamespacePrefix>
est défini sur10
:<?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>
Examinez le numéro de ligne spécifique (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si la longueur du préfixe de l'espace de noms spécifié contient plus de caractères que le nombre spécifié dans l'élément
<NamespacePrefix>
(identifié à l'étape 2). Si le nombre de caractères dépasse la limite de préfixe d'espace de noms, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<?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>
La charge utile XML indiquée ci-dessus à la ligne 2 comporte le préfixe d'espace de noms
userprofile
d'une longueur de 11 caractères. Comme la longueur du préfixe URI de l'espace de noms est supérieure à 10 (la valeur spécifiée pour l'élément<NamespacePrefix>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à se protéger contre les charges utiles dépassant une longueur de préfixe d'URI d'espace de noms spécifique, le message d'erreur est attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous pensez pouvoir autoriser un préfixe d'URI d'espace de noms plus long, remplacez l'élément enfant <NamespacePrefix>
de l'élément <NameLimits>
par une valeur adaptée à vos besoins.
Par exemple, si vous pensez avoir des préfixes d'URI d'espace de noms comportant jusqu'à 15 caractères, modifiez la règle comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "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" } } }
Exemple de corps de réponse d'erreur
{
"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"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifiée par l'élément <Source>
de la règle XMLThreatProtection contient un document XML dans lequel le nombre d'espaces de noms utilisés dans un seul élément dépasse le nombre spécifié dans l'élément enfant <NamespaceCountPerElement>
de l'élément <StructureLimits>
de la règle.
Par exemple, si l'élément <NamespaceCountPerElement>
est défini sur 3
dans la règle, mais que la charge utile d'entrée contient un élément comportant plus de trois espaces de noms, cette erreur est générée.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle XMLThreatProtection et le numéro de ligne où le nombre d'espaces de noms est dépassé. Par exemple, dans le message d'erreur suivant, le nom de la règle est
XMLThreat-Protection-1
et le numéro de ligne dans la charge utile est2
: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)
Examinez la règle ayant échoué (identifiée à l'étape 1) et notez la valeur spécifiée dans l'élément enfant
<NamespaceCountPerElement>
de l'élément<StructureLimits
.Dans l'exemple de règle XMLThreatProtection suivant,
<NamespaceCountPerElement>
est défini sur3
:<?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>
Examinez le numéro de ligne spécifique (identifié à l'étape 1) de la charge utile d'entrée et vérifiez si le nombre d'espaces de noms spécifiés pour un seul élément est supérieur au nombre spécifié dans l'élément
<NamespaceCountPerElement>
(identifié à l'étape 2). Si le nombre d'espaces de noms dépasse la limite de nombre d'espaces de noms par élément, il s'agit de la cause de l'erreur.Voici un exemple de charge utile d'entrée :
<?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>
La charge utile XML indiquée ci-dessus à la ligne 2 comporte plus de trois espaces de noms. Comme le nombre d'espaces de noms est supérieur à 3 (la valeur spécifiée pour l'élément
<NamespaceCountPerElement>
), vous obtenez l'erreur suivante :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)
Solution
Si la règle XMLThreatProtection vise à se protéger contre les charges utiles dépassant un nombre spécifique d'espaces de noms dans un seul élément, le message d'erreur est attendu. Dans ce cas, aucune autre action n'est requise.
Toutefois, si vous pensez pouvoir autoriser un grand nombre d'espaces de noms, remplacez l'élément enfant <NamespaceCountPerElement>
de l'élément <StructureLimits>
par une valeur adaptée à vos besoins.
Par exemple, si vous pensez avoir jusqu'à cinq espaces de noms dans un seul élément, modifiez la règle comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.ExecutionFailed
Corps de la réponse d'erreur
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. Reason: [error_description]", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Exemple de corps de réponse d'erreur
{
"fault": {
"faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
Execution failed. reason: Syntax error while parsing XML prologue",
"detail": {
"errorcode": "steps.xmlthreatprotection.ExecutionFailed"
}
}
}
Cause
Cette erreur se produit si la charge utile du message d'entrée spécifié par l'élément <Source>
de la règle XMLThreatProtection n'est pas un document XML valide.
Diagnostic
Examinez le message d'erreur pour identifier le nom de la règle où l'erreur s'est produite. Dans l'exemple suivant, le nom de la règle est
XML-Threat-Protection-1
.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologue
Examinez la charge utile d'entrée et vérifiez que le document XML transmis dans la charge utile est bien un document XML correctement formé ou non.
Voici un exemple de charge utile d'entrée :
<?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>
Dans la charge utile XML présentée ci-dessus, la ligne 9 ne ferme pas correctement l'élément racine, car le caractère
/
est absent. Comme la syntaxe XML est incorrecte, vous obtenez cette erreur :XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologue
Solution
Vérifiez la validité des charges utiles XML d'entrée transmises aux proxys d'API incluant la règle XMLThreatProtection.
Pour corriger l'exemple d'erreur décrit ci-dessus, modifiez la charge utile XML d'entrée comme suit :
<?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
Code d'erreur
steps.xmlthreatprotection.SourceUnavailable
Corps de la réponse d'erreur
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition[policy_name]: Source[var_name] is not available" "detail": { "errorcode": "steps.xmlthreatprotection.SourceUnavailable" } } }
Exemple de corps de réponse d'erreur
{
"fault": {
"faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
Source requests is not available",
"detail": {
"errorcode": "steps.xmlthreatprotection.SourceUnavailable"
}
}
}
Cause
Cette erreur se produit si la variable message spécifiée dans l'élément <Source>
de la règle XMLThreatProtection :
- est hors de portée (non disponible dans le flux spécifique où la stratégie est exécutée)
- n'est pas une des valeurs valides
request
,response
oumessage
Par exemple, cette erreur se produit si l'élément <Source>
de la règle est défini sur une variable qui n'existe pas dans le flux où la règle est exécutée.
Diagnostic
Identifiez le nom de la règle XMLThreatProtection et le nom de la variable source dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle XMLThreatProtection est
XML-Threat-Protection-1
et la variable source estrequests:
.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests is not available
Examinez la règle XMLThreatProtection ayant échoué et vérifiez la valeur spécifiée pour l'élément
<Source>
identifié à l'étape 1.Dans l'exemple de règle XMLThreatProtection suivant, l'élément
<Source>
est défini surrequests
.<?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>
Les valeurs valides pour l'élément
<Source>
sontrequest
,response
oumessage.
. Commerequests
n'est pas une valeur valide et n'existe pas dans le flux où la règle s'exécute, vous obtenez cette erreur :XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests is not available
Solution
Assurez-vous que la variable définie dans l'élément <Source>
de la règle XMLThreatProtection est définie sur request
, response
ou message
, et qu'elle existe dans le flux où la règle s'exécute.
Pour corriger l'exemple de règle présenté ci-dessus, vous pouvez modifier l'élément <Source>
pour utiliser la variable request
, car elle existe dans le flux de requête :
<?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
Code d'erreur
steps.xmlthreatprotection.NonMessageVariable
Corps de la réponse d'erreur
{ "fault": { "faultstring": "Variable var_name does not resolve to a Message" "detail": { "errorcode": "steps.xmlthreatprotection.NonMessageVariable" } } }
Exemple de corps de réponse d'erreur
{
"fault": {
"faultstring": "Variable message.content does not resolve to a Message",
"detail": {
"errorcode": "steps.xmlthreatprotection.NonMessageVariable"
}
}
}
Cause
Cette erreur se produit si l'élément <Source>
de la règle XMLThreatProtection est défini sur une variable qui n'est pas de type Message.
Les variables de type Message représentent des requêtes et des réponses HTTP entières. Les variables de flux intégrées d'Apigee Edge request
, response
et message
sont de type Message. Pour en savoir plus sur les variables de message, consultez la documentation de référence sur les variables.
Diagnostic
Identifiez le nom de la variable qui renvoie à une variable de type Message dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la variable est
message.content
.Variable message.content does not resolve to a Message
Examinez toutes les règles XMLThreatProtection ayant échoué dans le proxy d'API et identifiez la règle XMLThreatProtection spécifique où l'élément
<Source>
est spécifié avec le nom de variable identifié à l'étape 1 ci-dessus.Dans l'exemple de règle XMLThreatProtection suivant,
<Source>
est défini surmessage.content
:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1"> <DisplayName>XML Threat Protection-1</DisplayName> <Properties/> <NameLimits> <Element>10</Element> <Attribute>10</Attribute> <NamespacePrefix>10</NamespacePrefix> <ProcessingInstructionTarget>10</ProcessingInstructionTarget> </NameLimits> <Source>message.content</Source> <StructureLimits> <NodeDepth>10</NodeDepth> <AttributeCountPerElement>5</AttributeCountPerElement> <NamespaceCountPerElement>3</NamespaceCountPerElement> <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount> </StructureLimits> <ValueLimits> <Text>20</Text> <Attribute>15</Attribute> <NamespaceURI>40</NamespaceURI> <Comment>10</Comment> <ProcessingInstructionData>30</ProcessingInstructionData> </ValueLimits> </XMLThreatProtection>
Comme la variable
message.content
n'est pas de type Message, vous obtenez l'erreur suivante :Variable message.content does not resolve to a Message
Solution
Vérifiez que l'élément <Source>
de la règle XMLThreatProtection ayant échoué est défini sur une variable de flux de type Message qui existe dans le flux où la règle s'exécute.
Pour corriger la règle, vous pouvez modifier l'élément <Source>
afin de spécifier une variable de type Message. Par exemple, dans la règle XMLThreatProtection ayant échoué, vous pouvez spécifier l'élément <Source>
en tant que message
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
<DisplayName>XML Threat Protection-1</DisplayName>
<Properties/>
<NameLimits>
<Element>10</Element>
<Attribute>10</Attribute>
<NamespacePrefix>10</NamespacePrefix>
<ProcessingInstructionTarget>10</ProcessingInstructionTarget>
</NameLimits>
<Source>message</Source>
<StructureLimits>
<NodeDepth>10</NodeDepth>
<AttributeCountPerElement>5</AttributeCountPerElement>
<NamespaceCountPerElement>3</NamespaceCountPerElement>
<ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
</StructureLimits>
<ValueLimits>
<Text>20</Text>
<Attribute>15</Attribute>
<NamespaceURI>40</NamespaceURI>
<Comment>10</Comment>
<ProcessingInstructionData>30</ProcessingInstructionData>
</ValueLimits>
</XMLThreatProtection>