Solução de problemas de erro de tempo de execução de política XMLThreatProtection

Esta é a documentação da Apigee e da Apigee híbrida.
Confira a documentação da 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 lista os tipos diferentes de erros e as possíveis causas:

Erro Causa
ElementNameExceeded O comprimento máximo da string permitido em uma tag XML foi excedido.
ChildCountExceeded O número máximo de elementos filhos permitidos em um payload XML é excedido.
NodeDepthExceeded A profundidade máxima dos elementos XML permitidos em um payload XML é excedida.
AttributeCountExceeded O número máximo de atributos em um único elemento foi excedido.
AttributeNameExceeded O tamanho máximo permitido para um nome de atributo foi excedido.
AttributeValueExceeded O comprimento máximo permitido para um valor de atributo é excedido.
TextExceeded O tamanho máximo permitido para o texto foi excedido.
CommentExceeded O tamanho máximo permitido para um comentário foi excedido.
PIDataExceeded O tamanho permitido dos dados de instrução de processamento foi excedido.
PITargetExceeded O comprimento do nome da instrução do processo foi excedido.
NSURIExceeded O tamanho do URL de namespace é excedido.
NSPrefixExceeded O tamanho do prefixo do namespace foi excedido.
NSCountExceeded O número de espaços de nome usados em um único elemento é excedido.
Payload XML inválido O payload XML de entrada é inválido.

ElementNameExceeded

Código de erro

steps.xmlthreatprotection.ExecutionFailed

Corpo da resposta de erro

O tráfego do ambiente de execução retorna 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

Esse erro ocorrerá se o payload de entrada especificado pelo elemento <Source> da política contiver elementos XML que excedem 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 o payload de entrada tiver um elemento com mais de cinco caracteres, esse erro será exibido.

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 caracteres no payload da entrada em que o comprimento do elemento foi excedido.

    Por exemplo, na mensagem de erro a seguir, o nome da política é XML-Threat-Protection-1,número da linha no payload é 1 e o número de caracteres possíveis é 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. Analise a política com falha (identificada na Etapa 1) e anote o 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ífica (identificado na Etapa 1) do payload de entrada e verifique se o comprimento do elemento nessa linha é maior que o valor especificado para o elemento <Element> (identificado na Etapa 2). Se o comprimento do elemento exceder esse valor, isso é a causa do erro.

    Veja um exemplo de payload de entrada:

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

    O payload XML mostrado acima tem um elemento raiz chamado company na linha 1, que tem sete caracteres. Como o comprimento do elemento é maior que 5 (o valor especificado para o elemento <Element>), você 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 XMLThreatProtection for projetada para proteger contra payloads com nomes de elementos que excedem o valor definido, a mensagem de erro será esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que elementos mais longos podem ser especificados no payload sem nenhuma consequência, modifique <Element> para um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode permitir elementos de até 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

Esse erro ocorrerá se o payload da mensagem de entrada especificado pelo elemento <Source> contiver um elemento XML que contém mais elementos filhos do que o valor especificado no elemento <ChildCount> da política.

Por exemplo, se o elemento <ChildCount> for 3, mas o payload XML de entrada tiver um elemento com mais de três elementos filhos, esse erro será exibido.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha em que 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. Analise a política com falha (identificada na Etapa 1) e anote o valor especificado no elemento <ChildCount>.

    No exemplo de política a seguir, <ChildCount> está definido como 3. Observe que comentários, elementos e outros são contabilizados nesse 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 da linha específica (identificado na Etapa 1) do payload de entrada e verifique se o número de elementos filho (incluindo todos os comentários etc.) no payload é maior do que o valor especificado para o elemento <ChildCount> (identificado na Etapa 2). Se o número de elementos filhos exceder a contagem filha, isso é a causa do erro.

    Veja um exemplo de payload de entrada:

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

    No payload XML mostrado acima, a linha 5 contém um quarto elemento filho <director>do elemento raiz <movie>. Como a contagem de elementos filhos no payload XML de entrada é maior que 3 (o valor especificado para o elemento <ChildCount>), você 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 destina-se a proteger contra payloads com uma contagem de elementos filhos que excede um limite específico, a mensagem de erro é esperada. Nesse caso, você não precisa fazer nada.

No entanto, se você determinar que um número maior de elementos filho (incluindo comentários etc.) pode ser incluído no payload sem qualquer consequência, modifique <ChildCount> para um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode permitir até 10 elementos filhos, 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

Esse erro ocorrerá se o payload da mensagem de entrada especificado pelo elemento <Source> contiver um documento XML em que a hierarquia do nó exceda 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 de nó que exceda 4, esse erro será exibido.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número da linha em que a profundidade de contêiner foi 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. Analise a política XMLThreatProtection com falha (identificada na Etapa 1) e anote o valor especificado no elemento <NodeDepth>.

    No exemplo de política XMLThreatProtection, <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ífica (identificado na Etapa 1) do payload de entrada e verifique se a profundidade do nó especificada tem uma contagem maior que o número especificado no elemento <NodeDepth> (identificado na Etapa 2). Se o nível dos elementos XML filhos exceder a contagem, isso é a causa do erro.

    Veja um exemplo de 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>
    

    O payload de XML mostrado acima na linha 6 tem uma profundidade de nó de 6.Como a profundidade do nó é maior que 5 (o valor especificado para o elemento <NodeDepth>), é exibido 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 destina-se a proteger contra payloads com o limite de profundidade de nó específico, a mensagem de erro é esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que uma profundidade de nó maior pode ser permitida, modifique <NodeDepth> para um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode permitir uma profundidade de nó de até 10, modifique a política da seguinte maneira:

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

Esse erro ocorrerá se o payload da mensagem de entrada especificado pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que o número de atributos de um único elemento exceder 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 o payload de entrada tiver um elemento com mais de dois atributos, esse erro será 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 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. Analise a política com falha (identificada na Etapa 1) e anote o valor especificado no elemento <AttributeCountPerElement>.

    No exemplo de política a seguir, <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ífica (identificado na Etapa 1) do payload de entrada e verifique se o número de atributos especificados excede o número especificado no elemento <AttributeCountPerElementh> (identificado na Etapa 2). Se o número de atributos exceder a contagem, isso é a causa do erro.

    Veja um exemplo de 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 mostrado acima na linha 3 tem um elemento com três atributos. Como a contagem de atributos é maior que 2 (o valor especificado para o elemento <AttributeCountPerElement>), você 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 destina-se a proteger contra payloads que excedem um número específico de atributos, a mensagem de erro é esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que um número maior de atributos pode ser permitido, modifique <AttributeCountPerElement> com um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode permitir vários atributos por elemento de até cinco, modifique a política da seguinte maneira:

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

Esse erro ocorrerá se o payload da mensagem de entrada especificado pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que um nome de atributo exceder o número de caracteres especificados no elemento filho <Attribute> do elemento <NameLimits> da política para criar um anexo da VLAN de monitoramento.

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 cinco caracteres, esse erro será 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 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. Analise a política com falha (identificada na Etapa 1) e anote o valor especificado no elemento <Attribute>

    No exemplo de política XMLThreatProtection, <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 da linha específica (identificado na Etapa 1) do payload de entrada e verifique se o comprimento do atributo especificado tem mais caracteres do que o número especificado no elemento <Attribute> (identificado na Etapa 2). Se o número de caracteres exceder o valor do atributo, essa é a causa do erro.

    Veja um exemplo de 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 mostrado acima na linha 3 tem dois atributos.category ecuisine com nome de 8 e 7 caracteres respectivamente. Como o comprimento do nome do atributo é maior que 5 (o valor especificado para<Attribute> ) receberá 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 destina-se a proteger contra payloads que excedem um comprimento de nome de atributo específico, a mensagem de erro é esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que um comprimento de nome de atributo mais longo pode ser permitido, modifique <Attribute> para um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode ter nomes de atributos de até 10 caracteres, modifique a política da seguinte maneira:

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

Esse erro ocorrerá se o payload da mensagem de entrada especificado pelo elemento <Source> da política contiver um documento XML em que um valor de atributo excede o número de caracteres especificados no elemento filho <Attribute> do elemento <ValueLimits>.

Por exemplo, se o elemento <Attribute> for especificado como 10 na política XMLThreatProtection, mas o payload de entrada tiver um valor de atributo com mais de 10 caracteres, esse erro será exibido.

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. Analise a política com falha (identificada na Etapa 1) e anote o valor especificado no elemento filho <Attribute> do elemento <ValueLimits>.

    No exemplo de política XMLThreatProtection, <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ífica (identificado na Etapa 1) do payload de entrada e verifique se o comprimento do valor de atributo especificado tem mais caracteres do que o número especificado no elemento <Attribute> (identificado na Etapa 2). Se o número de caracteres exceder o valor do atributo, essa é a causa do erro.

    Veja um exemplo de 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>
    

    O payload XML mostrado acima na linha 3 tem um atributo (cuisine) com um valor de valor de 12 caracteres. Como o comprimento do valor do atributo é maior que 10, ou seja, o valor especificado para o elemento <Attribute>, ocorre 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 destina-se a proteger contra payloads que excedem um comprimento de valor de atributo específico, a mensagem de erro é esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que os valores de atributo mais longos podem ser permitidos, modifique o elemento filho <Attribute> do elemento <ValueLimits> com um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode atribuir valores de até 15 caracteres, modifique a política da seguinte maneira:

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

Esse erro ocorrerá se o payload da mensagem de entrada especificado 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 caracteres especificados no elemento filho <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 caracteres, esse erro será exibido.

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 mensagem de erro a seguir, 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. Analise a política com falha (identificada na Etapa 1) e anote o valor especificado no elemento filho <Text> do elemento <ValueLimits>.

    No exemplo de política XMLThreatProtection, <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ífica (identificado na Etapa 1) do payload de entrada e verifique se o comprimento do valor de atributo especificado tem mais caracteres do que o número especificado no elemento <Text> (identificado na Etapa 2). Se o número de caracteres 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 mostrado acima na linha 4 tem um texto com 53 caracteres. Como o comprimento do valor do atributo é maior que 15 (o valor especificado para o elemento <Text>), você 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 destina-se a proteger contra payloads que excedem um comprimento de texto específico, a mensagem de erro é esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que comprimentos de texto maiores podem ser permitidos, modifique o elemento filho <Text> do elemento <ValueLimits> com um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode ter valores de atributo de até 60 caracteres, modifique a política da seguinte maneira:

<?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 ocorrerá se o payload da mensagem de entrada especificado pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que um comprimento do comentário excede o número de caracteres especificados no elemento filho <Comment> do elemento <ValueLimits> da política para criar um anexo da VLAN de monitoramento.

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 caracteres, esse erro será exibido.

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 comentário é excedido. Por exemplo, na mensagem de erro a seguir, 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. Analise a política com falha (identificada na Etapa 1) e anote o valor especificado no elemento filho <Comment> do elemento <ValueLimits>.

    No exemplo de política XMLThreatProtection, <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ífica (identificado na Etapa 1) do payload de entrada e verifique se o comprimento do comentário especificado tem mais caracteres do que o número especificado no elemento <Comment> (identificado na Etapa 2). Se o número de caracteres exceder o valor do atributo, essa é a causa do erro.

    Veja um exemplo de 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>
    

    O payload de XML mostrado acima na linha 2 tem um comentário com um comprimento de valor de 31 caracteres. Como o comprimento do comentário é maior que 10 (o valor especificado para o elemento <Comment>), aparece 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 destina-se a proteger contra payloads que excedem um comprimento de comentário específico, a mensagem de erro é esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que um comentário mais longo pode ser permitido, modifique o <Comment>elemento filho do elemento <ValueLimits> com um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode atribuir valores de até 40 caracteres, modifique a política da seguinte maneira:

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

Esse erro ocorrerá se o payload da mensagem de entrada especificado pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que uma instrução de dados de processamento exceder o número de caracteres especificados no elemento filho <ProcessingInstructionData> do elemento <ValueLimits> do elemento política.

Por exemplo, se o elemento <ProcessingInstructionData> for especificado como 10 na política XMLThreatProtection, mas o payload de entrada tiver uma instrução de processamento com mais de 10 caracteres, esse erro será exibido.

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. Analise a política com falha (identificada na Etapa 1) e anote o valor especificado no <ProcessingInstructionData> elemento filho do <ValueLimits> elemento .

    No exemplo de política XMLThreatProtection, <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ífica (identificado na Etapa 1) do payload de entrada e verifique se o comprimento dos dados de instrução de processamento especificados tem mais caracteres do que o número especificado no elemento <ProcessingInstructionData> (identificado na Etapa 2). Se o número de caracteres exceder os dados da instrução de processamento, essa é a causa do erro.

    Veja um exemplo de 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 mostrado acima na linha 1 tem um elemento de dados de instrução de processamento (type="text/xsl" href="mobilephones.xsl"?)com comprimento de 40 caracteres. porque esse comprimento é maior que 30 (o valor especificado para o elemento <ProcessingInstructionData>) recebido 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 destina-se a proteger contra payloads que excedem um comprimento de dados de instrução de processamento específico, a mensagem de erro é esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que elementos de dados de instrução de processamento mais longos podem ser permitidos, modifique o elemento filho <ProcessingInstructionData> do elemento <ValueLimits> com um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode ter comprimentos de instrução de processamento de dados de até 50 caracteres, modifique a política da seguinte maneira:

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

Esse erro ocorrerá se o payload da mensagem de entrada especificado pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que um destino da instrução do processo exceder o número de caracteres especificados no elemento filho <ProcessingInstructionTarget> do elemento <NameLimits> do elemento 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 caracteres, esse erro será exibido.

Diagnóstico

  1. Examine a mensagem de erro para identificar o nome da política XMLThreatProtection e o número de linhas em que o número da instrução de processamento de instruções foi 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. Analise a política XMLThreatProtection com falha (identificada na Etapa 1) e observe o valor especificado no elemento filho <ProcessingInstructionTarget> do elemento <NameLimits>.

    No exemplo de política XMLThreatProtection, <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ífica (identificado na Etapa 1) do payload de entrada e verifique se o comprimento do destino da instrução de processamento especificado tem mais caracteres do que o número especificado no elemento <ProcessingInstructionTarget> (identificado na Etapa 2). Se o número de caracteres exceder o limite de tamanho de destino, essa é a causa do erro.

    Veja um exemplo de 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 mostrado acima na linha 2 tem um nome de destino de instrução de processamento "xml-stylesheet"com comprimento de 14 caracteres. Como o nome do destino da instrução de processamento é maior que 10 (o valor especificado para o elemento <ProcessingInstructionTarget>), você receberá 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 destina-se a proteger contra payloads que excedem um tamanho de destino de instrução de processo específico, a mensagem de erro é esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que um destino de instrução do processo pode ser mais longo, modifique o <ProcessingInstructionTarget>elemento filho do elemento <NameLimits> com um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode ter objetivos de instrução de até 25 caracteres, modifique a política da seguinte maneira:

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

Esse erro ocorrerá se o payload da mensagem de entrada especificado pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que um URI Namespace exceder o número de caracteres especificados no elemento filho <NamespaceURI> de <ValueLimits>elemento da política.

Por exemplo, se o elemento <NamespaceURI> for especificado como 10 na política, mas o payload de entrada tiver um URI de namespace com mais de 10 caracteres, esse erro será exibido.

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 tamanho do URI do namespace é 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. Analise a política com falha (identificada na Etapa 1) e anote o valor especificado no elemento filho <NamespaceURI> do elemento <ValueLimits>.

    No exemplo de política XMLThreatProtection, <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 da linha específica (identificado na Etapa 1) do payload de entrada e verifique se o comprimento do URI de namespace especificado tem mais caracteres do que o número especificado no elemento <NamespaceURI> (identificado na Etapa 2). Se o número de caracteres exceder o tamanho do URI do namespace, essa é a causa do erro.

    Veja um exemplo de 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>
    

    O payload XML mostrado acima na linha 2 tem um URI de namespace, http://www.example/profile, com 22 caracteres. Como o comprimento do URI do namespace é maior que 10, que é o valor especificado para o elemento <NamespaceURI>, ocorre 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 destina-se a proteger contra payloads que excedem um tamanho de URI de namespace específico, a mensagem de erro é esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que um URI de namespace mais longo pode ser permitido, modifique o elemento filho <NamespaceURI> do elemento <ValueLimits> com um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode ter comprimentos de URI de namespace de até 30 caracteres, modifique a política da seguinte maneira:

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

Esse erro ocorre se o payload da mensagem de entrada especificado pelo<Source> contém um documento XML em que umNamespaces excede o número de caracteres especificados no campo<NamespacePrefix> elemento filho da<NameLimits> da política.

Por exemplo, se o elemento <NamespacePrefix> for especificado como 10 na política XMLThreatProtection, mas o payload de entrada tiver um prefixo de namespace com mais de 10 caracteres, esse erro será exibido.

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 tamanho do prefixo do URI do namespace é 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. Analise a política com falha (identificada na Etapa 1) e anote o valor especificado no elemento filho <NamespacePrefix> do elemento <NameLimits>.

    No exemplo de política XMLThreatProtection, <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ífica (identificado na Etapa 1) do payload de entrada e verifique se o comprimento do prefixo de namespace especificado tem mais caracteres do que o número especificado no elemento <NamespacePrefix> (identificado na Etapa 2). Se o número de caracteres exceder o limite de prefixo de namespace, essa é a causa do erro.

    Veja um exemplo de 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>
    

    O payload XML mostrado acima na linha 2 tem um prefixo de namespace userprofile com comprimento de 11 caracteres. Como o comprimento do prefixo do URI do namespace é maior que 10, que é o valor especificado para o elemento <NamespacePrefix>, ocorre 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 destina-se a proteger contra payloads que excedem um tamanho de prefixo de URI de namespace específico, a mensagem de erro é esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que um prefixo de URI de namespace mais longo pode ser permitido, modifique o elemento filho <NamespacePrefix> do elemento <NameLimits> com um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode ter comprimentos de prefixo de URI de namespace de até 15 caracteres, modifique a política da seguinte maneira:

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

Esse erro ocorrerá se o payload da mensagem de entrada especificado pelo elemento <Source> da política XMLThreatProtection contiver um documento XML em que o número de namespaces usados em um único elemento exceder o número especificado no elemento filho <NamespaceCountPerElement> do <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 três namespaces, esse erro será exibido.

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 namespaces é 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. Analise a política com falha (identificada na Etapa 1) e anote o valor especificado no elemento filho <NamespaceCountPerElement> do elemento <StructureLimits>.

    No exemplo de política XMLThreatProtection, <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ífica (identificado na Etapa 1) do payload de entrada e verifique se o número de namespaces especificados para um único elemento é maior que o número especificado no elemento <NamespaceCountPerElement> (identificado na Etapa 2). Se o número de namespaces exceder o limite de namespaces por elemento, isso é a causa do erro.

    Veja um exemplo de 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>
    

    O payload XML mostrado acima na linha 2 tem mais de três namespaces. Como a contagem de namespace é maior que 3 (o valor especificado para o elemento <NamespaceCountPerElement>), você recebe 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 destina-se a proteger contra payloads que excedem um número específico de namespaces em um único elemento, a mensagem de erro é esperada. Nesse caso, não é necessário fazer nada.

No entanto, se você determinar que um número maior de namespaces pode ser permitido, modifique o elemento filho <NamespaceCountPerElement> do elemento <StructureLimits> com um valor adequado com base nos seus requisitos.

Por exemplo, se você acha que pode ter até cinco namespaces em um único elemento, modifique a política da seguinte maneira:

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

Esse erro ocorre se o payload da mensagem de entrada especificado pelo elemento <Source> da política XMLThreatProtection não for um documento XML válido.

Diagnóstico

  1. Analise a mensagem de erro para identificar o nome da política em que o erro ocorreu. No exemplo a seguir, 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 o payload da entrada e verifique se o documento XML passado no payload é um documento XML bem formado ou não.

    Veja um exemplo de 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>
    

    No payload XML mostrado acima, a linha 9 não fecha o elemento raiz corretamente, já que / está ausente. Como esse não é um XML bem formado, você recebe o erro:

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

Resolução

Verifique se um payload XML de entrada válido é passado para qualquer proxy da API que inclua a política XMLThreatProtection.

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

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

  • Fora do escopo (não disponível no fluxo específico em que a política está sendo executada)
  • não for um dos valores válidos request, response ou message.

Por exemplo, esse erro ocorrerá se o elemento <Source> na política estiver definido como uma variável que não exista no fluxo em que 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 mensagem de erro a seguir, 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. Analise a política XMLThreatProtection com falha e verifique o valor especificado para o elemento <Source> identificado na Etapa 1.

    No exemplo de política XMLThreatProtection, 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., porque requests não é um valor válido e não existe no fluxo em que a política está sendo executada. você receberá o erro:

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

Resolução

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

Para corrigir a política de exemplo mostrada acima, modifique o elemento <Source> para usar a variável request , porque ela existe no fluxo de solicitação:

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

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

As variáveis do tipo Message representam solicitações e respostas HTTP completas. As variáveis integradas do fluxo da Apigee request, response e message são do tipo Message. Saiba mais sobre as variáveis de mensagem em Referência de variáveis de fluxo.

Diagnóstico

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

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

    No exemplo de política XMLThreatProtection, <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>
    

    Como a variável message.content não é do tipo Message, você receberá o erro:

    Variable message.content does not resolve to a Message
    

Resolução

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

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