Laufzeitfehler bei der XMLThreatProtection-Richtlinie beheben

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

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

  1. 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 Nutzlast 1 und die mögliche Zeichenanzahl 9..

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Element name
    length exceeded 5 at line 1(possibly around char 9)
    
  2. 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 auf 5 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>
    
  3. 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>Google</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

  1. 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 Nutzlast 5:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Children
    count exceeded 3 at line 5(possibly around char 89)"
    
  2. 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> auf 3 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>
    
  3. 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

  1. 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 Nutzlast 6:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Node depth
    exceeded 5 at line 6(possibly around char 109)
    
  2. 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> auf 5 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>
    
  3. 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

  1. 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 Nutzlast 3:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    count exceeded 2 at line 3(possibly around char 105)
    
  2. Untersuchen Sie die in Schritt 1 ermittelte fehlgeschlagene Richtlinie und notieren Sie sich den im Element <AttributeCountPerElement> angegebenen Wert.

    Im folgenden Richtlinienbeispiel ist <AttributeCountPerElement> auf 2 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>
    
  3. 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

  1. 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 ist 3:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    name length exceeded 5 at line 3(possibly around char 105)
    
  2. 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> auf 5 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>
    
  3. 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

  1. 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 ist 3:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    value length exceeded 10 at line 3(possibly around char 111)
    
  2. 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>
    
  3. 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

  1. 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 4:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Text length
    exceeded 15 at line 4(possibly around char 66)
    
  2. 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> auf 15 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>
    
  3. 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

  1. 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 ist 2.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Comment length exceeded 10 at line 2(possibly around char 48)
    
  2. 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> 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>
    
  3. 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

  1. 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 ist 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction data length exceeded 30 at line 2(possibly around char 109)
    
  2. 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> auf 30 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>
    
  3. 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

  1. 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 ist 1:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction target length exceeded 10 at line 2(possibly around char 114)
    
  2. 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> 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>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. 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

  1. 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 ist 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    uri length exceeded 10 at line 2(possibly around char 97)
    
  2. 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> 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>
    
  3. 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.google.com/profile">
      <profile:name>Rama Krishna</profile:name>
      <profile:company>Google</profile:company>
      <profile:phone>(91) 9876543210</profile:phone>
    </profile:user>
    

    Die oben in Zeile 2 angezeigte XML-Nutzlast hat den Namespace-URI www.google.com/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

  1. 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 Nutzlast 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    prefix length exceeded 10 at line 2(possibly around char 105)
    
  2. 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> 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>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. 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.googlecom/profile">
      <userprofile:name>Rama Krishna</userprofile:name>
      <userprofile:company>Google</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

  1. 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 Nutzlast 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace count
    exceeded 3 at line 2(possibly around char 234)
    
  2. 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> auf 3 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>
    
  3. 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

  1. 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
    
  2. 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 oder message.

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

  1. 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 Quellvariable requests:.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    
  2. 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 Wert requests 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> sind request, response oder message.Da requests 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 Edge-Flussvariablen request, response und message sind vom Typ Nachricht. Weitere Informationen zu Nachrichtenvariablen finden Sie in der Variablenreferenz.

Diagnose

  1. 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
    
  2. 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> auf message.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

Das Element <Source> in der fehlgeschlagenen XMLThreatProtection-Richtlinie muss auf eine Ablaufvariable vom Typ Message festgelegt sein, 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>