Resolução de problemas de erros de tempo de execução da política XMLThreatProtection

Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do Apigee Edge.

ExecutionFailed

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Tipos de erros e possíveis causas

A política XMLThreatProtection pode gerar muitos tipos diferentes de erros ExecutionFailed. A tabela abaixo apresenta os diferentes tipos de erros e as respetivas causas possíveis:

Erro Causa
ElementNameExceeded O comprimento máximo da string permitido numa etiqueta XML foi excedido.
ChildCountExceeded O número máximo de elementos subordinados permitidos num payload XML foi excedido.
NodeDepthExceeded A profundidade máxima de elementos XML permitida num payload XML foi excedida.
AttributeCountExceeded O número máximo de atributos num único elemento foi excedido.
AttributeNameExceeded O comprimento máximo permitido para um nome de atributo foi excedido.
AttributeValueExceeded O comprimento máximo permitido para um valor de atributo foi excedido.
TextExceeded O comprimento máximo permitido para texto foi excedido.
CommentExceeded O comprimento máximo permitido para um comentário foi excedido.
PIDataExceeded O comprimento dos dados das instruções de processamento permitidos foi excedido.
PITargetExceeded O comprimento do nome da instrução do processo foi excedido.
NSURIExceeded O comprimento do URL do espaço de nomes foi excedido.
NSPrefixExceeded O comprimento do prefixo do espaço de nomes foi excedido.
NSCountExceeded O número de espaços de nomes usados num único elemento foi excedido.
Payload XML inválido A carga útil XML de entrada é inválida.

ElementNameExceeded

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

O tráfego de tempo de execução devolve um código de resposta 500 com o seguinte erro:

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil de entrada especificada pelo elemento <Source> da política contiver elementos XML que excedam o comprimento máximo especificado no elemento <Element> abaixo do elemento <NameLimits>.

Por exemplo, se o elemento <Element> for especificado como 5 na política XMLThreatProtection, mas a carga útil de entrada tiver um elemento com mais de 5 carateres, é gerado este erro.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection, o número da linha e o possível número de carateres na carga útil de entrada onde o comprimento do elemento foi excedido.

    Por exemplo, na seguinte mensagem de erro, o nome da política é XML-Threat-Protection-1,, o número da linha na carga útil é 1 e o possível número de carateres é 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. Examine a política com falhas (identificada no passo 1) e tome nota do valor especificado no elemento <Element>.

    Por exemplo, na seguinte política XMLThreatProtection, <Element> está definido como 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. Examine o número da linha específico (identificado no passo 1) da carga útil de entrada e verifique se o comprimento do elemento nessa linha é superior ao valor especificado para o elemento <Element> (identificado no passo 2). Se o comprimento do elemento exceder este valor, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

    <company>
      <name>Example</name>
      <country>USA</country>
    </company>
    

    A carga útil XML apresentada acima tem um elemento raiz denominado company na linha 1 com 7 carateres. Uma vez que o comprimento do elemento é superior a 5 (o valor especificado para o elemento <Element>), recebe o seguinte erro:

    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)
    

Resolução

Se a política XMLThreadProtection se destinar a proteger contra payloads com nomes de elementos que excedam o valor definido, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que é possível especificar elementos mais longos no payload sem qualquer consequência, modifique <Element> para um valor adequado com base nos seus requisitos.

Por exemplo, se considerar que pode permitir elementos com um comprimento máximo de 10, modifique a política XMLThreatProtection da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> contiver um elemento XML que contenha mais elementos subordinados do que o valor especificado no elemento <ChildCount> da política.

Por exemplo, se o elemento <ChildCount> for 3, mas a carga útil XML de entrada tiver um elemento com mais de 3 elementos secundários, é apresentado este erro.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha onde a contagem de entradas é excedida. Por exemplo, na seguinte mensagem de erro, o nome da política é XML-Threat-Protection-1 e o número da linha no 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. Examine a política com falhas (identificada no passo 1) e tome nota do valor especificado no elemento <ChildCount>.

    No exemplo de política seguinte, <ChildCount> está definido como 3(tenha em atenção que os comentários, os elementos incluídos e outros contam para este 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. Examine o número de linha específico (identificado no passo 1) da carga útil de entrada e verifique se o número de elementos subordinados (incluindo todos os comentários, etc.) na carga útil é superior ao valor especificado para o elemento <ChildCount> (identificado no passo 2). Se o número de elementos secundários exceder a contagem de elementos secundários, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

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

    No payload XML apresentado acima, a linha 5 contém um quarto elemento subordinado <director>do elemento raiz <movie>. Uma vez que a contagem de elementos subordinados na carga útil XML de entrada é superior a 3 (o valor especificado para o elemento <ChildCount>), recebe o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads com uma contagem de elementos secundários que exceda um limite específico, a mensagem de erro é esperada. Neste caso, não tem de fazer mais nada.

No entanto, se determinar que é possível incluir um número maior de elementos secundários (incluindo comentários, etc.) no payload sem qualquer consequência, modifique o <ChildCount> para um valor adequado com base nos seus requisitos.

Por exemplo, se achar que pode permitir até 10 elementos secundários, modifique a política XMLThreatProtection da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> contiver um documento XML em que a hierarquia de nós excede o número especificado no elemento <NodeDepth> da política XMLThreatProtection.

Por exemplo, se o elemento <NodeDepth> for especificado como 4 na política, mas o payload de entrada tiver uma profundidade do nó que exceda 4, este erro é lançado.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha onde a profundidade do nó é excedida. Por exemplo, na seguinte mensagem de erro, o nome da política é XML-Threat-Protection-1 e o número da linha no 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. Examine a política XMLThreatProtection com falha (identificada no passo 1) e tome nota do valor especificado no elemento <NodeDepth>.

    No exemplo de política XMLThreatProtection seguinte, <NodeDepth> está definido como 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. Examine o número da linha específico (identificado no passo 1) da carga útil de entrada e verifique se a profundidade do nó especificada aí tem uma contagem superior ao número especificado no elemento <NodeDepth> (identificado no passo 2). Se o nível de elementos secundários XML exceder a contagem, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

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

    A carga útil XML apresentada acima, na linha 6, tem uma profundidade de nó de 6.. Uma vez que a profundidade de nó é superior a 5 (o valor especificado para o elemento <NodeDepth>), recebe o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads com o limite de profundidade do nó específico, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que pode permitir uma profundidade do nó maior, modifique <NodeDepth>para um valor adequado com base nos seus requisitos.

Por exemplo, se considerar que pode permitir uma profundidade do nó de até 10, modifique a política da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que o número de atributos de um único elemento excede o número especificado no elemento <AttributeCountPerElement> da política.

Por exemplo, se o elemento <AttributeCountPerElement> for especificado como 2 na política XMLThreatProtection, mas a carga útil de entrada tiver um elemento com mais de 2 atributos, é gerado este erro.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha em que o número de atributos é excedido. Por exemplo, na seguinte mensagem de erro, o nome da política é XMLThreat-Protection-1 e o número da linha no 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. Examine a política com falha (identificada no passo 1) e tome nota do valor especificado no elemento <AttributeCountPerElement>.

    No exemplo de política seguinte, <AttributeCountPerElement> está definido como 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. Examine o número da linha específico (identificado no passo 1) da carga útil de entrada e verifique se o número de atributos especificado excede o número especificado no elemento <AttributeCountPerElementh> (identificado no passo 2). Se o número de atributos exceder a contagem, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

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

    A carga útil XML apresentada acima, na linha 3, tem um elemento com três atributos. Uma vez que a contagem de atributos é superior a 2 (o valor especificado para o elemento <AttributeCountPerElement>), recebe o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads que excedam um número específico de atributos, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que é possível permitir um número maior de atributos, modifique <AttributeCountPerElement>para um valor adequado com base nos seus requisitos.

Por exemplo, se considerar que pode permitir um número de atributos por elemento até 5, modifique a política da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que um nome de atributo excede o número de carateres especificado no elemento subordinado <Attribute> do elemento <NameLimits> da política.

Por exemplo, se o elemento <Attribute> for especificado como 5 na política, mas o payload de entrada tiver um nome de atributo com mais de 5 carateres, é apresentado este erro.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha em que o comprimento do nome do atributo é excedido. Por exemplo, na seguinte mensagem de erro, o nome da política é XML-Threat-Protection-1 e o número da linha no 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. Examine a política com falhas (identificada no passo 1) e tome nota do valor especificado no elemento <Attribute>

    No exemplo de política XMLThreatProtection seguinte, <Attribute> está definido como 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. Examine o número de linha específico (identificado no passo 1) da carga útil de entrada e verifique se o comprimento do atributo especificado tem mais carateres do que o número especificado no elemento <Attribute> (identificado no passo 2). Se o número de carateres exceder o valor do atributo, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

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

    O payload XML apresentado acima, na linha 3, tem dois atributos category e cuisine com um comprimento do nome de 8 e 7 carateres, respetivamente.. Uma vez que o comprimento do nome do atributo é superior a 5 (o valor especificado para o elemento <Attribute>), é apresentado o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads que excedam um comprimento específico do nome do atributo, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que é possível permitir um comprimento do nome do atributo superior, modifique <Attribute> para um valor adequado com base nos seus requisitos.

Por exemplo, se achar que pode ter nomes de atributos com até 10 carateres, modifique a política da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> da política contiver um documento XML em que um valor de atributo excede o número de carateres especificado no elemento subordinado <Attribute> do elemento <ValueLimits>.

Por exemplo, se o elemento <Attribute> for especificado como 10 na política XMLThreatProtection, mas a carga útil de entrada tiver um valor de atributo com mais de 10 carateres, é gerado este erro.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha em que o número de atributos é excedido. Por exemplo, na seguinte mensagem de erro, o nome da política é XML-Threat-Protection-1 e o número da linha no 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. Examine a política com falhas (identificada no passo 1) e tome nota do valor especificado no elemento subordinado <Attribute> do elemento <ValueLimits>.

    No exemplo de política XMLThreatProtection seguinte, <Attribute> está definido como 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. Examine o número da linha específico (identificado no passo 1) da carga útil de entrada e verifique se o comprimento do valor do atributo especificado tem mais carateres do que o número especificado no elemento <Attribute> (identificado no passo 2). Se o número de carateres exceder o valor do atributo, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

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

    A carga útil XML apresentada acima, na linha 3, tem um atributo (cuisine) com um comprimento de valor de 12 carateres. Uma vez que o comprimento do valor do atributo é superior a 10 (o valor especificado para o elemento <Attribute>), recebe o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads que excedam um comprimento de valor de atributo específico, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que é possível permitir valores de atributos mais longos, modifique o <Attribute>elemento secundário do elemento <ValueLimits> para um valor adequado com base nos seus requisitos.

Por exemplo, se considerar que pode atribuir valores de até 15 carateres, modifique a política da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que o comprimento do texto de um elemento excede o número de carateres especificado no elemento subordinado <Text> do elemento <ValueLimits> da política.

Por exemplo, se o elemento <Text> for especificado como 15 na política, mas o payload de entrada tiver um texto com mais de 15 carateres, é apresentado este erro.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha em que o número de atributos é excedido. Por exemplo, na seguinte mensagem de erro, o nome da política é XML-Threat-Protection-1 e o número da linha no 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. Examine a política com falhas (identificada no passo 1) e tome nota do valor especificado no elemento subordinado <Text> do elemento <ValueLimits>.

    No exemplo de política XMLThreatProtection seguinte, <Text> está definido como 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. Examine o número da linha específico (identificado no passo 1) da carga útil de entrada e verifique se o comprimento do valor do atributo especificado tem mais carateres do que o número especificado no elemento <Text> (identificado no passo 2). Se o número de carateres exceder o valor do atributo, essa é a causa do erro.

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

    O payload XML apresentado acima, na linha 4, tem texto com um comprimento de 53 carateres. Uma vez que o comprimento do valor do atributo é superior a 15 (o valor especificado para o elemento <Text>), recebe o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads que excedam um comprimento de texto específico, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que é possível permitir comprimentos de texto mais longos, modifique o <Text>elemento secundário do elemento <ValueLimits> para um valor adequado com base nos seus requisitos.

Por exemplo, se considerar que pode ter valores de atributos com até 60 carateres, modifique a política da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que o comprimento de um comentário excede o número de carateres especificado no elemento secundário <Comment> do elemento <ValueLimits> da política.

Por exemplo, se o elemento <Comment> for especificado como 10 na política, mas o payload de entrada tiver um comentário com mais de 10 carateres, este erro é gerado.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha onde o comprimento do comentário é excedido. Por exemplo, na seguinte mensagem de erro, o nome da política é XML-Threat-Protection-1 e o número da linha no 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. Examine a política com falhas (identificada no passo 1) e tome nota do valor especificado no elemento subordinado <Comment> do elemento <ValueLimits>.

    No exemplo de política XMLThreatProtection seguinte, <Comment> está definido como 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. Examine o número da linha específico (identificado no passo 1) da carga útil de entrada e verifique se o comprimento do comentário especificado tem mais carateres do que o número especificado no elemento <Comment> (identificado no passo 2). Se o número de carateres exceder o valor do atributo, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

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

    A carga útil XML apresentada acima, na linha 2, tem um comentário com um comprimento de valor de 31 carateres.. Uma vez que o comprimento do comentário é superior a 10 (o valor especificado para o elemento <Comment>), recebe o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads que excedam um comprimento específico de comentários, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que é possível permitir um comentário mais longo, modifique o <Comment>elemento secundário do elemento<ValueLimits> para um valor adequado com base nos seus requisitos.

Por exemplo, se considerar que pode atribuir valores de até 40 carateres, modifique a política da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que uma instrução de dados de processamento excede o número de carateres especificado no elemento subordinado <ProcessingInstructionData> do elemento <ValueLimits> da política.

Por exemplo, se o elemento <ProcessingInstructionData> for especificado como 10 na política XMLThreatProtection, mas a carga útil de entrada tiver uma instrução de processamento com mais de 10 carateres, é gerado este erro.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha em que o comprimento da instrução de processamento é excedido. Por exemplo, na seguinte mensagem de erro, o nome da política é XML-Threat-Protection-1 e o número da linha no 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. Examine a política com falhas (identificada no passo 1) e tome nota do valor especificado no elemento subordinado <ProcessingInstructionData> do elemento <ValueLimits> .

    No exemplo de política XMLThreatProtection seguinte, <ProcessingInstructionData> está definido como 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. Examine o número da linha específico (identificado no passo 1) da carga útil de entrada e verifique se o comprimento dos dados da instrução de processamento especificados aí tem mais carateres do que o número especificado no elemento <ProcessingInstructionData> (identificado no passo 2). Se o número de carateres exceder os dados da instrução de processamento, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

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

    A carga útil XML apresentada acima, na linha 1, tem um elemento de dados de instruções de processamento (type="text/xsl" href="mobilephones.xsl"?)com um comprimento de 40 carateres.). Uma vez que este comprimento é superior a 30 (o valor especificado para o elemento <ProcessingInstructionData>), recebe o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads que excedam um comprimento de dados de instruções de processamento específico, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que é possível permitir elementos de dados de instruções de processamento mais longos, modifique o elemento filho <ProcessingInstructionData> do elemento <ValueLimits> para um valor adequado com base nos seus requisitos.

Por exemplo, se considerar que pode ter comprimentos de instruções de processamento de dados até 50 carateres, modifique a política da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que um destino de instrução de processo excede o número de carateres especificado no elemento subordinado <ProcessingInstructionTarget> do elemento <NameLimits> da política.

Por exemplo, se o elemento <ProcessingInstructionTarget> for especificado como 10 na política XMLThreatProtection, mas o payload de entrada tiver um destino de instrução de processo com mais de 10 carateres, é gerado este erro.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha onde o número de destino da instrução de processamento é excedido. Por exemplo, na seguinte mensagem de erro, o nome da política é XML-Threat-Protection-1 e o número da linha no 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. Examine a política XMLThreatProtection com falhas (identificada no passo n.º 1) e tome nota do valor especificado no elemento secundário <ProcessingInstructionTarget> do elemento <NameLimits>.

    No exemplo de política XMLThreatProtection seguinte, <ProcessingInstructionTarget> está definido como 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. Examine o número da linha específico (identificado no passo 1) da carga útil de entrada e verifique se o comprimento do destino da instrução de processamento especificado tem mais carateres do que o número especificado no elemento <ProcessingInstructionTarget> (identificado no passo 2). Se o número de carateres exceder o limite de tamanho do destino, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

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

    O payload XML apresentado acima, na linha 2, tem um nome de destino da instrução de processamento "xml-stylesheet"" com um comprimento de 14 carateres. Uma vez que o nome do destino da instrução de processamento tem mais de 10 carateres (o valor especificado para o elemento <ProcessingInstructionTarget>), é apresentado o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads que excedam um comprimento de destino de instrução de processo específico, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que um destino de instrução de processamento pode ser mais longo, modifique o <ProcessingInstructionTarget>elemento secundário do elemento <NameLimits> para um valor adequado com base nos seus requisitos.

Por exemplo, se considerar que pode ter alvos de instruções de processamento de até 25 carateres, modifique a política da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que um URI Namespace exceda o número de carateres especificado no elemento subordinado <NamespaceURI> do elemento <ValueLimits> da política.

Por exemplo, se o elemento <NamespaceURI> for especificado como 10 na política, mas o payload de entrada tiver um URI do espaço de nomes com mais de 10 carateres, é gerado este erro.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha onde o comprimento do URI do espaço de nomes é excedido. Por exemplo, na seguinte mensagem de erro, o nome da política é XML-Threat-Protection-1 e o número da linha no 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. Examine a política com falhas (identificada no passo 1) e tome nota do valor especificado no elemento subordinado <NamespaceURI> do elemento <ValueLimits>.

    No exemplo de política XMLThreatProtection seguinte, <NamespaceURI> está definido como 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. Examine o número de linha específico (identificado no passo 1) da carga útil de entrada e verifique se o comprimento do URI do espaço de nomes especificado tem mais carateres do que o número especificado no elemento <NamespaceURI> (identificado no passo 2). Se o número de carateres exceder o comprimento do URI do espaço de nomes, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

    <?xml version = "1.0" encoding = "UTF-8"?>
      <profile:user xmlns:profile = "www.example.com/profile">
      <profile:name>Rama Krishna</profile:name>
      <profile:company>Example</profile:company>
      <profile:phone>(91) 9876543210</profile:phone>
    </profile:user>
    

    A carga útil XML apresentada acima na linha 2 tem um URI do espaço de nomes, http://www.example/profile, com um comprimento de 22 carateres. Uma vez que o comprimento do URI do espaço de nomes é superior a 10 (o valor especificado para o elemento <NamespaceURI>), é apresentado o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads que excederam um comprimento de URI de espaço de nomes específico, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que é possível permitir um URI do espaço de nomes mais longo, modifique o elemento secundário <NamespaceURI> do elemento <ValueLimits> para um valor adequado com base nos seus requisitos.

Por exemplo, se considerar que pode ter comprimentos de URI do espaço de nomes de até 30 carateres, modifique a política da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> contiver um documento XML em que um prefixo Namespace excede o número de carateres especificado no elemento subordinado <NamespacePrefix> do elemento <NameLimits> da política.

Por exemplo, se o elemento <NamespacePrefix> for especificado como 10 na política XMLThreatProtection, mas a carga útil de entrada tiver um prefixo de espaço de nomes com mais de 10 carateres, este erro é gerado.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha em que o comprimento do prefixo do URI do espaço de nomes é excedido. Por exemplo, na seguinte mensagem de erro, o nome da política é XML-Threat-Protection-1 e o número da linha no 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. Examine a política com falhas (identificada no passo 1) e tome nota do valor especificado no elemento subordinado <NamespacePrefix> do elemento <NameLimits>.

    No exemplo de política XMLThreatProtection seguinte, <NamespacePrefix> está definido como 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. Examine o número da linha específico (identificado no passo 1) da carga útil de entrada e verifique se o comprimento do prefixo do espaço de nomes especificado tem mais carateres do que o número especificado no elemento <NamespacePrefix> (identificado no passo 2). Se o número de carateres exceder o limite do prefixo do espaço de nomes, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

    <?xml version = "1.0" encoding = "UTF-8"?>
    <userprofile:user xmlns:userprofile = "www.example/profile">
      <userprofile:name>Rama Krishna</userprofile:name>
      <userprofile:company>Example</userprofile:company>
      <userprofile:phone>(011) 123-4567</userprofile:phone>
    </userprofile:user>
    

    A carga útil XML apresentada acima, na linha 2, tem um prefixo de espaço de nomes userprofile com um comprimento de 11 carateres. Uma vez que o comprimento do prefixo do URI do espaço de nomes é superior a 10 (o valor especificado para o elemento <NamespacePrefix>), é apresentado o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads que excedam um comprimento de prefixo de URI de espaço de nomes específico, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que é possível permitir um prefixo URI do espaço de nomes mais longo, modifique o elemento secundário <NamespacePrefix> do elemento <NameLimits> para um valor adequado com base nos seus requisitos.

Por exemplo, se considerar que pode ter comprimentos de prefixos de URI de espaço de nomes de até 15 carateres, modifique a política da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que o número de espaços de nomes usados num único elemento excede o número especificado no elemento secundário <NamespaceCountPerElement> do elemento <StructureLimits> da política.

Por exemplo, se o elemento <NamespaceCountPerElement> for especificado como 3 na política, mas o payload de entrada tiver um elemento com mais de 3 espaços de nomes, este erro é gerado.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha onde o número de espaços de nomes é excedido. Por exemplo, na seguinte mensagem de erro, o nome da política é XMLThreat-Protection-1 e o número da linha no 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. Examine a política com falhas (identificada no passo 1) e tome nota do valor especificado no elemento subordinado <NamespaceCountPerElement> do elemento <StructureLimits>.

    No exemplo de política XMLThreatProtection seguinte, <NamespaceCountPerElement> está definido como 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. Examine o número da linha específico (identificado no passo 1) da carga útil de entrada e verifique se o número de espaços de nomes especificados aí para um único elemento é superior ao número especificado no elemento <NamespaceCountPerElement> (identificado no passo 2). Se o número de espaços de nomes exceder o limite de contagem de espaços de nomes por elemento, essa é a causa do erro.

    Segue-se um exemplo de um payload de entrada:

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

    A carga útil XML apresentada acima, na linha 2, tem mais de 3 espaços de nomes. Uma vez que a contagem de espaços de nomes é superior a 3 (o valor especificado para o elemento <NamespaceCountPerElement>), é apresentado o seguinte erro:

    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)
    

Resolução

Se a política XMLThreatProtection se destinar a proteger contra payloads que excedam um número específico de espaços de nomes num único elemento, a mensagem de erro é esperada. Neste caso, não é necessária nenhuma ação adicional.

No entanto, se determinar que é possível permitir um número maior de espaços de nomes, modifique o elemento <NamespaceCountPerElement> filho do elemento <StructureLimits> para um valor adequado com base nos seus requisitos.

Por exemplo, se considerar que pode ter até 5 espaços de nomes num único elemento, modifique a política da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Causa

Este erro ocorre se a carga útil da mensagem de entrada especificada pelo elemento <Source> da política XMLProtectionPolicy não for um documento XML válido.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política onde o erro ocorreu. No exemplo seguinte, o nome da política é XML-Threat-Protection-1.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: Syntax error while parsing XML prologue
    
  2. Examine a carga útil de entrada e verifique se o documento XML transmitido na carga útil é, de facto, um documento XML bem formado ou não.

    Segue-se um exemplo de um payload de entrada:

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

    Na carga útil XML apresentada acima, a linha 9 não fecha o elemento raíz corretamente, pois falta /. Uma vez que este não é um XML com formato correto, recebe o seguinte erro:

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

Resolução

Certifique-se de que é transmitido um payload XML de entrada válido a qualquer proxy de API que inclua a política XMLThreatProtection.

Para corrigir o erro de exemplo descrito acima, modifique o payload XML de entrada da seguinte forma:

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

Código de erro

steps.xmlthreatprotection.SourceUnavailable

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Causa

Este erro ocorre se a variável message especificada no elemento <Source> da política XMLThreatProtection for:

  • Fora do âmbito (não disponível no fluxo específico onde a política está a ser executada)
  • Não é um dos valores válidos request, response ou message

Por exemplo, este erro ocorre se o elemento <Source> na política estiver definido como uma variável que não existe no fluxo onde a política é executada.

Diagnóstico

  1. Identifique o nome da política XMLThreatProtection e o nome da variável de origem na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política XMLThreatProtection é XML-Threat-Protection-1 e a variável Source é requests:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    
  2. Examine a política XMLThreatProtection com falhas e verifique o valor especificado para o elemento <Source> identificado no passo 1.

    No exemplo de política XMLThreatProtection seguinte, o elemento <Source> está definido como 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>
    

    Os valores válidos para o elemento <Source> são request, response ou message.. Uma vez que requests não é um valor válido e não existe no fluxo onde a política está a ser executada, recebe o erro:

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

Resolução

Certifique-se de que a variável definida no elemento <Source> da política XMLThreatProtection com falha está definida como request, response ou message e existe no fluxo onde a política é executada.

Para corrigir a política de exemplo apresentada acima, pode modificar o elemento <Source> para usar a variável request , porque existe no fluxo de pedidos:

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

Código de erro

steps.xmlthreatprotection.NonMessageVariable

Corpo da resposta de erro

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

Exemplo de corpo da resposta de erro

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

Causa

Este erro ocorre se o elemento <Source> na política XMLThreatProtection estiver definido como uma variável que não é do tipo message.

As variáveis de tipo de mensagem representam pedidos e respostas HTTP completos. As variáveis de fluxo do Apigee incorporadas request, response e message são do tipo Message. Para saber mais sobre as variáveis de mensagens, consulte a referência de variáveis de fluxo.

Diagnóstico

  1. Identifique o nome da variável que é resolvida para um tipo de variável de mensagem a partir da mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da variável é message.content

    Variable message.content does not resolve to a Message
    
  2. Examine todas as políticas XMLThreadProtection no proxy de API onde ocorreu a falha e identifique a política XMLThreadProtection específica onde o elemento <Source> é especificado com o nome da variável identificado no passo 1 acima.

    No exemplo de política XMLThreatProtection seguinte, <Source> está definido como 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>
    

    Uma vez que a variável message.content não é do tipo Message, recebe o erro:

    Variable message.content does not resolve to a Message
    

Resolução

Certifique-se de que o elemento <Source> na política XMLThreatProtection com falha está definido como uma variável de fluxo message que existe no fluxo onde a política é executada.

Para corrigir a política, pode modificar o elemento <Source> para especificar uma variável do tipo Message. Por exemplo, na política XMLThreatProtection com falha, pode especificar o elemento <Source> como 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>