Risoluzione dei problemi relativi agli errori di runtime dei criteri XMLThreatProtection

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

ExecutionFailed

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Corpo della risposta di errore di esempio

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

Tipi di errori e possibili cause

Il criterio XMLThreatProtection può generare molti tipi diversi di errori ExecutionFailed. La tabella seguente elenca i diversi tipi di errori e le relative cause possibili:

Errore Causa
ElementNameExceeded La lunghezza massima consentita per le stringhe in un tag XML è stata superata.
ChildCountExceeded È stato superato il numero massimo di elementi secondari consentiti in un payload XML.
NodeDepthExceeded La profondità massima degli elementi XML consentiti in un payload XML è stata superata.
AttributeCountExceeded È stato superato il numero massimo di attributi in un singolo elemento.
AttributeNameExceeded La lunghezza massima consentita per un nome dell'attributo è stata superata.
AttributeValueExceeded La lunghezza massima consentita per un valore dell'attributo è stata superata.
TextExceeded La lunghezza massima consentita per il testo è stata superata.
CommentExceeded La lunghezza massima consentita per un commento è stata superata.
PIDataExceeded La lunghezza consentita dei dati delle istruzioni di elaborazione è stata superata.
PITargetExceeded La lunghezza del nome dell'istruzione di processo è stata superata.
NSURIExceeded La lunghezza dell'URL dello spazio dei nomi è stata superata.
NSPrefixExceeded La lunghezza del prefisso dello spazio dei nomi è stata superata.
NSCountExceeded Il numero di spazi dei nomi utilizzati in un singolo elemento è stato superato.
Payload XML non valido Il payload XML inserito non è valido.

ElementNameExceeded

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

Il traffico di runtime restituisce un codice di risposta 500 con il seguente errore:

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload di input specificato dall'elemento <Source> del criterio contiene elementi XML che superano la lunghezza massima specificata nell'elemento <Element> sotto l'elemento <NameLimits>.

Ad esempio, se l'elemento <Element> è specificato come 5 nel criterio XMLThreatProtection, ma il payload di input contiene un elemento con più di 5 caratteri, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection, il numero di riga e il possibile numero di caratteri nel payload di input in cui è stata superata la lunghezza dell'elemento.

    Ad esempio, nel seguente messaggio di errore, il nome del criterio è XML-Threat-Protection-1,il numero di riga nel payload è 1 e il possibile numero di caratteri è 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. Esamina il criterio con errori (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento <Element>.

    Ad esempio, nel seguente criterio XMLThreatProtection, <Element> è impostato su 5:

    <?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. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se la lunghezza dell'elemento su quella linea è superiore al valore specificato per l'elemento <Element> (identificato nel Passaggio 2). Se la lunghezza dell'elemento supera questo valore, la causa dell'errore è questa.

    Ecco un esempio di payload di input:

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

    Il payload XML mostrato sopra ha un elemento radice denominato company nella riga 1 di 7 caratteri. Poiché la lunghezza dell'elemento è maggiore di 5 (il valore specificato per l'elemento <Element>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreadProtection è destinato a proteggere dai payload con nomi di elementi che superano il valore definito, il messaggio di errore è previsto. In questo caso, non è richiesta alcuna azione aggiuntiva.

Tuttavia, se stabilisci che nel payload possono essere specificati elementi più lunghi senza alcuna conseguenza, modifica <Element>in un valore appropriato in base ai tuoi requisiti.

Ad esempio, se ritieni di poter consentire elementi di lunghezza massima pari a 10, modifica il criterio XMLThreatProtection come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> contiene un elemento XML che contiene più elementi secondari rispetto al valore specificato nell'elemento <ChildCount> del criterio.

Ad esempio, se l'elemento <ChildCount> è 3, ma il payload XML di input ha un elemento con più di tre elementi secondari, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui viene superato il numero di voci. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XML-Threat-Protection-1 e il numero di riga nel payload è 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. Esamina il criterio con errori (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento <ChildCount>.

    Nel seguente esempio di criteri, <ChildCount> è impostato su 3 (tieni presente che i commenti, gli elementi inclusi e altri elementi vengono conteggiati ai fini di questo limite):

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>5</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se il numero di elementi secondari (inclusi tutti i commenti e così via) nel payload è maggiore del valore specificato per l'elemento <ChildCount> (identificato nel passaggio 2). Se il numero di elementi secondari supera il conteggio, è questa la causa dell'errore.

    Ecco un esempio di payload di input:

    <movie>
      <title>Jurassic Park</title>
      <language>English</language>
      <country>USA</country>
      <director>Steven Spielberg</director>
    </movie>
    

    Nel payload XML mostrato sopra, la riga 5 contiene un quarto elemento secondario <director>dell'elemento principale <movie>. Poiché il conteggio degli elementi secondari nel payload XML di input è maggiore di 3 (il valore specificato per l'elemento <ChildCount>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection ha lo scopo di proteggere dai payload con un numero di elementi figlio superiore a una soglia specifica, è previsto il messaggio di errore. In questo caso, non è richiesta alcuna azione da parte tua.

Tuttavia, se stabilisci che un numero maggiore di elementi secondari (inclusi i commenti e così via) può essere incluso nel payload senza alcuna conseguenza, modifica <ChildCount> scegliendo un valore appropriato in base ai tuoi requisiti.

Ad esempio, se ritieni di poter consentire fino a 10 elementi secondari, modifica il criterio XMLThreatProtection come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> contiene un documento XML in cui la gerarchia dei nodi supera il numero specificato nell'elemento <NodeDepth> del criterio XMLThreatProtection.

Ad esempio, se l'elemento <NodeDepth> viene specificato come 4 nel criterio, ma il payload di input ha una profondità di nodo superiore a 4, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui viene superata la profondità del nodo. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XML-Threat-Protection-1e il numero di riga nel payload è 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. Esamina il criterio XMLThreatProtection non riuscito (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento <NodeDepth>.

    Nel seguente esempio di criterio XMLThreatProtection, <NodeDepth> è impostato su 5:

    <?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. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se la profondità del nodo specificata ha un conteggio superiore a quello specificato nell'elemento <NodeDepth> (identificato nel Passaggio 2). Se il livello degli elementi secondari XML supera il conteggio, questa è la causa dell'errore.

    Ecco un esempio di payload di input:

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

    Il payload XML mostrato sopra alla riga 6 ha una profondità dei nodi pari a 6.Poiché la profondità del nodo è maggiore di 5 (il valore specificato per l'elemento <NodeDepth>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection è destinato a proteggere dai payload con la soglia di profondità del nodo specifica, il messaggio di errore è previsto. In questo caso, non è richiesta alcuna azione aggiuntiva.

Tuttavia, se ritieni che sia possibile consentire una maggiore profondità del nodo, modifica <NodeDepth>in base a un valore appropriato in base alle tue esigenze.

Ad esempio, se ritieni di poter consentire una profondità del nodo fino a 10, modifica il criterio come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio XMLThreatProtection contiene un documento XML in cui il numero di attributi di un singolo elemento supera il numero specificato nell'elemento <AttributeCountPerElement> del criterio.

Ad esempio, se l'elemento <AttributeCountPerElement> è specificato come 2 nel criterio XMLThreatProtection, ma il payload di input contiene un elemento con più di 2 attributi, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui il numero di attributi è stato superato. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XMLThreat-Protection-1 e il numero di riga nel payload è 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. Esamina il criterio con errori (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento <AttributeCountPerElement>.

    Nel seguente esempio di criterio, <AttributeCountPerElement> è impostato su 2:

    <?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. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se il numero di attributi specificato supera quello specificato nell'elemento <AttributeCountPerElementh> (identificato nel passaggio 2). Se il numero di attributi supera il conteggio, è questa la causa dell'errore.

    Ecco un esempio di payload di input:

    <?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>
    

    Il payload XML mostrato sopra nella riga 3 contiene un elemento con tre attributi. Poiché il conteggio degli attributi è maggiore di 2 (il valore specificato per l'elemento <AttributeCountPerElement>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection ha lo scopo di proteggere da payload che superano un numero specifico di attributi, è previsto il messaggio di errore. In questo caso, non sono richieste ulteriori azioni.

Tuttavia, se ritieni che sia possibile consentire un numero maggiore di attributi, modifica <AttributeCountPerElement> in base a un valore appropriato in base ai tuoi requisiti.

Ad esempio, se ritieni di poter consentire un numero di attributi per elemento fino a 5, modifica il criterio come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio XMLThreatProtection contiene un documento XML in cui il nome di un attributo supera il numero di caratteri specificato nell'elemento secondario <Attribute> dell'elemento <NameLimits> del criterio.

Ad esempio, se l'elemento <Attribute> è specificato come 5 nel criterio, ma il payload di input ha un nome dell'attributo con più di 5 caratteri, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui viene superata la lunghezza del nome dell'attributo. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XML-Threat-Protection-1e il numero di riga nel payload è 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. Esamina il criterio con errori (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento <Attribute>

    Nel seguente esempio di criterio XMLThreatProtection, <Attribute> è impostato su 5:

    <?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. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se la lunghezza dell'attributo specificato contiene più caratteri di quelli specificati nell'elemento <Attribute> (identificato nel passaggio 2). Se il numero di caratteri supera il valore dell'attributo, la causa dell'errore è questa.

    Ecco un esempio di payload di input:

    <?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>
    

    Il payload XML mostrato sopra alla riga 3 ha due attributi category e cuisine con una lunghezza del nome di 8 e 7 caratteri, rispettivamente. Poiché la lunghezza del nome dell'attributo è maggiore di 5 (il valore specificato per l'elemento <Attribute>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection ha lo scopo di proteggere da payload che superano la lunghezza di un nome di attributo specifico, è previsto il messaggio di errore. In questo caso, non è richiesta alcuna azione aggiuntiva.

Tuttavia, se stabilisci che è consentita una lunghezza del nome dell'attributo più lunga, modifica <Attribute> in un valore adatto in base ai tuoi requisiti.

Ad esempio, se pensi che i nomi degli attributi possano contenere fino a 10 caratteri, modifica le norme come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio contiene un documento XML in cui il valore di un attributo supera il numero di caratteri specificato nell'elemento secondario <Attribute> dell'elemento <ValueLimits>.

Ad esempio, se l'elemento <Attribute> è specificato come 10 nel criterio XMLThreatProtection, ma il payload di input ha un valore dell'attributo con più di 10 caratteri, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui il numero di attributi è stato superato. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XML-Threat-Protection-1e il numero di riga nel payload è 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. Esamina il criterio con errori (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento secondario <Attribute> dell'elemento <ValueLimits>.

    Nel seguente esempio di criterio XMLThreatProtection, il valore <Attribute> è impostato su 10:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se la lunghezza del valore dell'attributo specificato contiene più caratteri di quelli specificati nell'elemento <Attribute> (identificato nel passaggio 2). Se il numero di caratteri supera il valore dell'attributo, la causa dell'errore è questa.

    Ecco un esempio di payload di input:

    <?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>
    

    Il payload XML mostrato sopra nella riga 3 ha un attributo (cucina) con una lunghezza del valore di 12 caratteri. Poiché la lunghezza del valore dell'attributo è superiore a 10 (il valore specificato per l'elemento <Attribute>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection è destinato a proteggere da payload che superano una lunghezza specifica del valore dell'attributo, il messaggio di errore è previsto. In questo caso, non è richiesta alcuna azione aggiuntiva.

Tuttavia, se stabilisci che è possibile consentire valori degli attributi più lunghi, modifica l'elemento secondario <Attribute> dell'elemento <ValueLimits> in base a un valore appropriato in base ai tuoi requisiti.

Ad esempio, se ritieni di poter attribuire valori fino a 15 caratteri, modifica il criterio come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio XMLThreatProtection contiene un documento XML in cui la lunghezza del testo di un elemento supera il numero di caratteri specificato nell'elemento secondario <Text> dell'elemento <ValueLimits> del criterio.

Ad esempio, se l'elemento <Text> è specificato come 15 nel criterio, ma il payload di input contiene un testo con più di 15 caratteri, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui il numero di attributi è stato superato. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XML-Threat-Protection-1 e il numero di riga nel payload è 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. Esamina il criterio non riuscito (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento secondario <Text> dell'elemento <ValueLimits>.

    Nel seguente esempio di criterio XMLThreatProtection, <Text> è impostato su 15:

    <?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. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se la lunghezza del valore dell'attributo specificato contiene più caratteri rispetto al numero specificato nell'elemento <Text> (identificato nel passaggio 2). Se il numero di caratteri supera il valore dell'attributo, la causa dell'errore è questa.

    <food>
      <name>Veg Sandwich</name>
      <price>$5.95</price>
      <description>Vegetarian Sandwich with onions, tomatoes and lettuce</description>
      <calories>650</calories>
    </food>
    

    Il payload XML mostrato sopra nella riga 4 ha un testo con una lunghezza di 53 caratteri. Poiché la lunghezza del valore dell'attributo è maggiore di 15 (il valore specificato per l'elemento <Text>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection ha lo scopo di proteggere da payload che superano una lunghezza di testo specifica, è previsto il messaggio di errore. In questo caso, non è richiesta alcuna azione aggiuntiva.

Tuttavia, se stabilisci che è possibile consentire lunghezze di testo maggiori, modifica l'elemento secondario <Text> dell'elemento <ValueLimits> in base a un valore appropriato in base alle tue esigenze.

Ad esempio, se ritieni di poter avere valori dell'attributo fino a 60 caratteri, modifica il criterio come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio XMLThreatProtection contiene un documento XML in cui la lunghezza di un commento supera il numero di caratteri specificato nell'elemento secondario <Comment> dell'elemento <ValueLimits> del criterio.

Ad esempio, se l'elemento <Comment> viene specificato come 10 nel criterio, ma il payload di input contiene un commento con più di 10 caratteri, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui la lunghezza del commento è stata superata. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XML-Threat-Protection-1 e il numero di riga nel payload è 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. Esamina il criterio con errori (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento secondario <Comment> dell'elemento <ValueLimits>.

    Nel seguente esempio di criterio XMLThreatProtection, <Comment> è impostato su 10:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se la lunghezza del commento specificato è superiore al numero specificato nell'elemento <Comment> (identificato nel passaggio 2). Se il numero di caratteri supera il valore dell'attributo, la causa dell'errore è questa.

    Ecco un esempio di payload di input:

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

    Il payload XML mostrato in alto alla riga 2 ha un commento con una lunghezza del valore di 31 caratteri. Poiché la lunghezza del commento è maggiore di 10 (il valore specificato per l'elemento <Comment>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection ha lo scopo di proteggere da payload che superano una lunghezza specifica per i commenti, è previsto il messaggio di errore. In questo caso, non sono richieste ulteriori azioni.

Tuttavia, se ritieni che sia possibile consentire un commento più lungo, modifica l'elemento secondario <Comment> dell'elemento <ValueLimits> in base a un valore appropriato in base alle tue esigenze.

Ad esempio, se ritieni di poter attribuire valori fino a 40 caratteri, modifica la norma come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio XMLThreatProtection contiene un documento XML in cui un'istruzione dei dati di elaborazione supera il numero di caratteri specificato nell'elemento secondario <ProcessingInstructionData> dell'elemento <ValueLimits> del criterio.

Ad esempio, se l'elemento <ProcessingInstructionData> è specificato come 10 nel criterio XMLThreatProtection, ma il payload di input contiene un'istruzione di elaborazione con più di 10 caratteri, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui la lunghezza dell'istruzione di elaborazione è stata superata. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XML-Threat-Protection-1 e il numero di riga nel payload è 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. Esamina il criterio non riuscito (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento secondario <ProcessingInstructionData> dell'elemento <ValueLimits>.

    Nel seguente esempio di criterio XMLThreatProtection, <ProcessingInstructionData> è impostato su 30:

    <?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. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se la lunghezza dei dati dell'istruzione di elaborazione specificata contiene più caratteri rispetto al numero specificato nell'elemento <ProcessingInstructionData> (identificato nel passaggio 2). Se il numero di caratteri supera i dati dell'istruzione di elaborazione, questa è la causa dell'errore.

    Ecco un esempio di payload di input:

    <?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>
    

    Il payload XML mostrato sopra alla riga 1 ha un elemento di dati dell'istruzione di elaborazione (type="text/xsl" href="mobilephones.xsl"?)con una lunghezza di 40 caratteri.) Poiché questa lunghezza è superiore a 30 (il valore specificato per l'elemento <ProcessingInstructionData>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection è destinato a proteggere da payload che superano una lunghezza specifica dei dati delle istruzioni di elaborazione, il messaggio di errore è previsto. In questo caso, non sono richieste ulteriori azioni.

Tuttavia, se stabilisci che è possibile consentire l'elaborazione di elementi di dati dell'istruzione più lunghi, modifica l'elemento secondario <ProcessingInstructionData> dell'elemento <ValueLimits> impostando un valore appropriato in base ai tuoi requisiti.

Ad esempio, se ritieni di poter avere istruzioni di elaborazione dei dati con una lunghezza massima di 50 caratteri, modifica il criterio come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio XMLThreatProtection contiene un documento XML in cui un target di istruzione di processo supera il numero di caratteri specificato nell'elemento secondario <ProcessingInstructionTarget> dell'elemento <NameLimits> del criterio.

Ad esempio, se l'elemento <ProcessingInstructionTarget> viene specificato come 10 nel criterio XMLThreatProtection, ma il payload di input ha un target dell'istruzione del processo con più di 10 caratteri, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui viene superato il numero di target di istruzioni di elaborazione. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XML-Threat-Protection-1 e il numero di riga nel payload è 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. Esamina il criterio XMLThreatProtection (identificato nel passaggio 1) non riuscito e prendi nota del valore specificato nell'elemento secondario <ProcessingInstructionTarget> di <NameLimits> .

    Nel seguente esempio di criterio XMLThreatProtection, <ProcessingInstructionTarget> è impostato su 10:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>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. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se la lunghezza del target dell'istruzione di elaborazione specificata contiene più caratteri rispetto al numero specificato nell'elemento <ProcessingInstructionTarget> (identificato nel passaggio 2). Se il numero di caratteri supera il limite di dimensioni target, è questa la causa dell'errore.

    Ecco un esempio di payload di input:

    <?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>
    

    Il payload XML mostrato sopra nella riga 2 ha un nome target dell'istruzione di elaborazione "xml-stylesheet"con una lunghezza di 14 caratteri. Poiché il nome della destinazione dell'istruzione di elaborazione è più lungo di 10 (il valore specificato per l'elemento <ProcessingInstructionTarget>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection ha lo scopo di proteggere da payload che superano la lunghezza di destinazione specifica dell'istruzione di processo, è previsto il messaggio di errore. In questo caso, non è richiesta alcuna azione aggiuntiva.

Tuttavia, se stabilisci che la destinazione di un'istruzione di processo può essere più lunga, modifica l'<ProcessingInstructionTarget>elemento secondario dell'elemento <NameLimits> con un valore adatto in base ai tuoi requisiti.

Ad esempio, se ritieni di poter avere target di istruzioni di processo di massimo 25 caratteri, modifica il criterio come segue:

  <?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio XMLThreatProtection contiene un documento XML in cui un URI Spazio dei nomi supera il numero di caratteri specificati nell'elemento secondario <NamespaceURI> dell'elemento <ValueLimits> del criterio.

Ad esempio, se l'elemento <NamespaceURI> viene specificato come 10 nel criterio, ma il payload di input ha un URI dello spazio dei nomi con più di 10 caratteri, viene restituito questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui viene superata la lunghezza dell'URI dello spazio dei nomi. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XML-Threat-Protection-1e il numero di riga nel payload è 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. Esamina il criterio con errori (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento secondario <NamespaceURI> di <ValueLimits> .

    Nel seguente esempio di criterio XMLThreatProtection, <NamespaceURI> è impostato su 10:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se la lunghezza dell'URI dello spazio dei nomi specificato ha più caratteri rispetto al numero specificato nell'elemento <NamespaceURI> (identificato nel passaggio 2). Se il numero di caratteri supera la lunghezza dell'URI dello spazio dei nomi, questo è la causa dell'errore.

    Ecco un esempio di payload di input:

    <?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>
    

    Il payload XML mostrato sopra alla riga 2 ha un URI dello spazio dei nomi, www.google.com/profile, con una lunghezza di 22 caratteri. Poiché la lunghezza dell'URI dello spazio dei nomi è superiore a 10 (il valore specificato per l'elemento <NamespaceURI>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection ha lo scopo di proteggere dai payload che hanno superato la lunghezza dell'URI di uno spazio dei nomi specifico, è previsto il messaggio di errore. In questo caso, non sono richieste ulteriori azioni.

Tuttavia, se stabilisci che è possibile consentire un URI dello spazio dei nomi più lungo, modifica l'elemento figlio <NamespaceURI> dell'elemento <ValueLimits> in base a un valore appropriato in base ai tuoi requisiti.

Ad esempio, se ritieni di poter avere URI dello spazio dei nomi con una lunghezza massima di 30 caratteri, modifica il criterio come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> contiene un documento XML in cui un prefisso Namespace supera il numero di caratteri specificato nell'elemento secondario <NamespacePrefix> dell'elemento <NameLimits> del criterio.

Ad esempio, se l'elemento <NamespacePrefix> è specificato come 10 nel criterio XMLThreatProtection, ma il payload di input ha un prefisso dello spazio dei nomi con più di 10 caratteri, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui viene superata la lunghezza del prefisso URI dello spazio dei nomi. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XML-Threat-Protection-1 e il numero di riga nel payload è 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. Esamina il criterio non riuscito (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento secondario <NamespacePrefix> dell'elemento <NameLimits>.

    Nel seguente esempio di criterio XMLThreatProtection, <NamespacePrefix> è impostato su 10:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>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. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se la lunghezza del prefisso dello spazio dei nomi specificato contiene più caratteri rispetto al numero specificato nell'elemento <NamespacePrefix> (identificato nel passaggio 2). Se il numero di caratteri supera il limite del prefisso dello spazio dei nomi, ciò è la causa dell'errore.

    Ecco un esempio di payload di input:

    <?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>
    

    Il payload XML mostrato sopra alla riga 2 ha un prefisso dello spazio dei nomi userprofile con una lunghezza di 11 caratteri. Poiché la lunghezza del prefisso dell'URI dello spazio dei nomi è maggiore di 10 (il valore specificato per l'elemento <NamespacePrefix>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection ha lo scopo di proteggere da payload che superano la lunghezza di un prefisso URI dello spazio dei nomi specifico, è previsto il messaggio di errore. In questo caso, non è richiesta alcuna azione aggiuntiva.

Tuttavia, se stabilisci che è possibile consentire un prefisso URI dello spazio dei nomi più lungo, modifica l'elemento secondario <NamespacePrefix> dell'elemento <NameLimits> in base a un valore appropriato in base ai tuoi requisiti.

Ad esempio, se ritieni di poter avere prefissi URI dello spazio dei nomi di massimo 15 caratteri, modifica il criterio come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

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

Esempio di testo della risposta di errore

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

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio XMLThreatProtection contiene un documento XML in cui il numero di spazi dei nomi utilizzato in un singolo elemento supera il numero specificato nell'elemento secondario <NamespaceCountPerElement> dell'elemento <StructureLimits> del criterio.

Ad esempio, se l'elemento <NamespaceCountPerElement> è specificato come 3 nel criterio, ma il payload di input contiene un elemento con più di 3 spazi dei nomi, viene generato questo errore.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio XMLThreatProtection e il numero di riga in cui è superato il numero di spazi dei nomi. Ad esempio, nel seguente messaggio di errore, il nome del criterio è XMLThreat-Protection-1 e il numero di riga nel payload è 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. Esamina il criterio con errori (identificato nel passaggio 1) e prendi nota del valore specificato nell'elemento secondario <NamespaceCountPerElement> di <StructureLimits> .

    Nel seguente esempio di criterio XMLThreatProtection, <NamespaceCountPerElement> è impostato su 3:

    <?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. Esamina il numero di riga specifico (identificato nel passaggio 1) del payload di input e controlla se il numero di spazi dei nomi specificato al suo interno per un singolo elemento è superiore al numero specificato nell'elemento <NamespaceCountPerElement> (identificato nel Passaggio 2). Se il numero di spazi dei nomi supera il limite di conteggi degli spazi dei nomi per elemento, questa è la causa dell'errore.

    Ecco un esempio di payload di input:

    <?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>
    

    Il payload XML mostrato sopra nella riga 2 contiene più di 3 spazi dei nomi. Poiché il conteggio degli spazi dei nomi è maggiore di 3 (il valore specificato per l'elemento <NamespaceCountPerElement>), viene visualizzato il seguente errore:

    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)
    

Risoluzione

Se il criterio XMLThreatProtection ha lo scopo di proteggere da payload che superano un numero specifico di spazi dei nomi in un singolo elemento, è previsto il messaggio di errore. In questo caso, non è richiesta alcuna azione aggiuntiva.

Tuttavia, se stabilisci che è possibile consentire un numero maggiore di spazi dei nomi, modifica l'elemento secondario <NamespaceCountPerElement> dell'elemento <StructureLimits> con un valore adatto in base ai tuoi requisiti.

Ad esempio, se ritieni di poter avere fino a 5 spazi dei nomi in un singolo elemento, modifica il criterio come segue:

<?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

Codice di errore

steps.xmlthreatprotection.ExecutionFailed

Corpo della risposta di errore

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. Reason: [error_description]",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Esempio di testo della risposta di errore

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: Syntax error while parsing XML prologue",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio XMLProtectionPolicy non è un documento XML valido.

Diagnosi

  1. Esamina il messaggio di errore per identificare il nome del criterio in cui si è verificato l'errore. Nel seguente esempio, il nome del criterio è XML-Threat-Protection-1.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: Syntax error while parsing XML prologue
    
  2. Esamina il payload di input e controlla se il documento XML passato nel payload è effettivamente un documento XML ben formato.

    Ecco un esempio di payload di input:

    <?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>
    

    Nel payload XML mostrato sopra, la riga 9 non chiude correttamente l'elemento principale perché manca /. Poiché non si tratta di XML ben formato, viene visualizzato l'errore:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: Syntax error while parsing XML prologue
    

Risoluzione

Assicurati che un payload XML di input valido venga passato a qualsiasi proxy API che includa il criterio XMLThreatProtection.

Per correggere l'errore di esempio descritto sopra, modifica il payload XML di input come segue:

<?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

Codice di errore

steps.xmlthreatprotection.SourceUnavailable

Corpo della risposta di errore

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition[policy_name]: Source[var_name] is not available"
        "detail": {
            "errorcode": "steps.xmlthreatprotection.SourceUnavailable"
        }
    }
}

Esempio di testo della risposta di errore

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Source requests is not available",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.SourceUnavailable"
        }
    }
}

Causa

Questo errore si verifica se la variabile message specificata nell'elemento <Source> del criterio XMLThreatProtection è:

  • Al di fuori dell'ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio)
  • Non è uno dei valori validi request, response o message

Ad esempio, questo errore si verifica se l'elemento <Source> nel criterio è impostato su una variabile che non esiste nel flusso in cui viene eseguito il criterio.

Diagnosi

  1. Identifica il nome del criterio XMLThreatProtection e il nome della variabile Origine dal messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio XMLThreatProtection è XML-Threat-Protection-1e la variabile Source è requests:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    
  2. Esamina il criterio XMLThreatProtection non riuscito e controlla il valore specificato per l'elemento <Source> identificato nel passaggio 1.

    Nel seguente esempio di criterio XMLThreatProtection, l'elemento <Source> è impostato su requests.

    <?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>
    

    I valori validi per l'elemento <Source> sono request, response o message.. Poiché requests non è un valore valido e non esiste nel flusso in cui viene eseguito il criterio, viene visualizzato l'errore:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    

Risoluzione

Assicurati che la variabile impostata nell'elemento <Source> del criterio XMLThreatProtection non riuscito sia impostata su request, response o message ed esista nel flusso in cui viene eseguito il criterio.

Per correggere il criterio di esempio mostrato sopra, puoi modificare l'elemento <Source> in modo che utilizzi la variabile request , perché esiste nel flusso di richiesta:

<?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

Codice di errore

steps.xmlthreatprotection.NonMessageVariable

Corpo della risposta di errore

{
    "fault": {
        "faultstring": "Variable var_name does not resolve to a Message"
        "detail": {
            "errorcode": "steps.xmlthreatprotection.NonMessageVariable"
        }
    }
}

Esempio di testo della risposta di errore

{
    "fault": {
        "faultstring": "Variable message.content does not resolve to a Message",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.NonMessageVariable"
        }
    }
}

Causa

Questo errore si verifica se l'elemento <Source> nel criterio XMLThreatProtection è impostato su una variabile non di tipo Message.

Le variabili del tipo di messaggio rappresentano intere richieste e risposte HTTP. Le variabili di flusso Apigee Edge integrate request, response e message sono di tipo Message. Per saperne di più sulle variabili dei messaggi, consulta Riferimento sulle variabili.

Diagnosi

  1. Identifica il nome della variabile che si risolve in una variabile di tipo Messaggio del messaggio di errore. Ad esempio, nel seguente messaggio di errore il nome della variabile è message.content

    Variable message.content does not resolve to a Message
    
  2. Esamina tutti i criteri XMLThreadProtection nel proxy API in cui si è verificato l'errore e identifica il criterio XMLThreadProtection specifico in cui l'elemento <Source> è specificato con il nome della variabile identificato nel passaggio 1 sopra.

    Nel seguente esempio di criterio XMLThreatProtection, <Source> è impostato su message.content:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>message.content</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    

    Poiché la variabile message.content non è di tipo Message, viene visualizzato l'errore:

    Variable message.content does not resolve to a Message
    

Risoluzione

Assicurati che l'elemento <Source> nel criterio XMLThreatProtection con errori sia impostato su una variabile di flusso di tipo Message esistente nel flusso in cui viene eseguito il criterio.

Per correggere il criterio, puoi modificare l'elemento <Source> in modo da specificare una variabile di tipo Messaggio. Ad esempio, in XMLThreatProtection non riuscito puoi specificare l'elemento <Source> come message:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>message</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>20</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>40</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>30</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>