Solucionar problemas de errores del entorno de ejecución de la política XMLThreatProtection

Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.

ExecutionFailed

Código de error

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "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 errores y posibles causas

La política XMLThreatProtection puede generar muchos tipos diferentes de errores ExecutionFailed. En la siguiente tabla se muestran los diferentes tipos de errores y sus posibles causas:

Error Causa
ElementNameExceeded Se ha superado la longitud máxima de cadena permitida en una etiqueta XML.
ChildCountExceeded Se ha superado el número máximo de elementos secundarios permitidos en una carga útil XML.
NodeDepthExceeded Se ha superado la profundidad máxima de elementos XML permitida en una carga útil XML.
AttributeCountExceeded Se ha superado el número máximo de atributos de un solo elemento.
AttributeNameExceeded Se ha superado la longitud máxima permitida para el nombre de un atributo.
AttributeValueExceeded Se ha superado la longitud máxima permitida para el valor de un atributo.
TextExceeded Se ha superado la longitud máxima permitida para el texto.
CommentExceeded Se ha superado la longitud máxima permitida para un comentario.
PIDataExceeded Se ha superado la longitud de datos de la instrucción de procesamiento permitida.
PITargetExceeded Se ha superado la longitud del nombre de la instrucción de proceso.
NSURIExceeded Se ha superado la longitud de la URL del espacio de nombres.
NSPrefixExceeded Se ha superado la longitud del prefijo del espacio de nombres.
NSCountExceeded Se ha superado el número de espacios de nombres utilizados en un solo elemento.
Carga útil XML no válida La carga útil XML introducida no es válida.

ElementNameExceeded

Código de error

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

El tráfico de tiempo de ejecución devuelve un código de respuesta 500 con el siguiente error:

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Element name length exceeded 5 at line 1(possibly around char 9)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Este error se produce si la carga útil de entrada especificada por el elemento <Source> de la política contiene elementos XML que superan la longitud máxima especificada en el elemento <Element> situado debajo del elemento <NameLimits>.

Por ejemplo, si el elemento <Element> se especifica como 5 en la política XMLThreatProtection, pero la carga útil de entrada tiene un elemento que contiene más de 5 caracteres, se producirá este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection, el número de línea y el posible número de carácter de la carga útil de entrada en el que se ha superado la longitud del elemento.

    Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XML-Threat-Protection-1,, el número de línea de la carga útil es 1 y el número de carácter posible es 9..

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Element name
    length exceeded 5 at line 1(possibly around char 9)
    
  2. Examine la política que ha fallado (identificada en el paso 1) y anote el valor especificado en el elemento <Element>.

    Por ejemplo, en la siguiente política XMLThreatProtection, <Element> se ha 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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y comprueba si la longitud del elemento de esa línea es mayor que el valor especificado para el elemento <Element> (identificado en el paso 2). Si la longitud del elemento supera este valor, esa es la causa del error.

    A continuación, se muestra un ejemplo de carga útil de entrada:

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

    La carga útil XML que se muestra arriba tiene un elemento raíz llamado company en la línea 1, que tiene 7 caracteres. Como la longitud del elemento es superior a 5 (el valor especificado para el elemento <Element>), se produce el siguiente error:

    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)
    

Resolución

Si la política XMLThreadProtection tiene como objetivo proteger frente a cargas útiles con nombres de elementos que superen el valor definido, se espera que se muestre el mensaje de error. En este caso, no es necesario que hagas nada más.

Sin embargo, si determinas que se pueden especificar elementos más largos en la carga útil sin ninguna consecuencia, modifica <Element> con un valor adecuado según tus requisitos.

Por ejemplo, si crees que puedes permitir elementos de hasta 10 caracteres, modifica la política XMLThreatProtection de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Children count exceeded 3 at line 5(possibly around char 89)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> contiene un elemento XML que contiene más elementos secundarios que el valor especificado en el elemento <ChildCount> de la política.

Por ejemplo, si el elemento <ChildCount> es 3, pero la carga útil XML de entrada tiene un elemento con más de 3 elementos secundarios, se producirá este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera el recuento de entradas. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XML-Threat-Protection-1 y el número de línea de la carga útil es 5:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Children
    count exceeded 3 at line 5(possibly around char 89)"
    
  2. Examine la política que ha fallado (identificada en el paso 1) y anote el valor especificado en el elemento <ChildCount>.

    En el siguiente ejemplo de política, <ChildCount> se define como 3(ten en cuenta que los comentarios, los elementos include y otros se tienen en cuenta para este límite):

    <?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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y comprueba si el número de elementos secundarios (incluidos todos los comentarios, etc.) de la carga útil es mayor que el valor especificado en el elemento <ChildCount> (identificado en el paso 2). Si el número de elementos secundarios supera el recuento de elementos secundarios, esa es la causa del error.

    A continuación, se muestra un ejemplo de carga útil de entrada:

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

    En la carga útil XML que se muestra arriba, la línea 5 contiene un cuarto elemento secundario <director> del elemento raíz <movie>. Como el número de elementos secundarios de la carga útil XML de entrada es superior a 3 (el valor especificado para el elemento <ChildCount>), se produce el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection tiene como objetivo proteger contra cargas útiles con un número de elementos secundarios que supere un umbral específico, el mensaje de error es el esperado. En ese caso, no es necesario que hagas nada más.

Sin embargo, si determinas que se puede incluir un mayor número de elementos secundarios (incluidos los comentarios, etc.) en la carga útil sin ninguna consecuencia, modifica el <ChildCount> a un valor adecuado según tus requisitos.

Por ejemplo, si crees que puedes permitir hasta 10 elementos secundarios, modifica la política XMLThreatProtection de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Node depth exceeded 5 at line 6(possibly around char 110)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> contiene un documento XML en el que la jerarquía de nodos supera el número especificado en el elemento <NodeDepth> de la política XMLThreatProtection.

Por ejemplo, si el elemento <NodeDepth> se especifica como 4 en la política, pero la carga útil de entrada tiene una profundidad de nodo superior a 4, se producirá este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera la profundidad del nodo. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XML-Threat-Protection-1 y el número de línea de la carga útil es 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. Examina la política XMLThreatProtection fallida (identificada en el paso 1) y anota el valor especificado en el elemento <NodeDepth>.

    En el siguiente ejemplo de política XMLThreatProtection, <NodeDepth> se ha 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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y comprueba si la profundidad del nodo especificada tiene un recuento superior al número especificado en el elemento <NodeDepth> (identificado en el paso 2). Si el nivel de elementos secundarios XML supera el recuento, esa es la causa del error.

    A continuación, se muestra un ejemplo de carga útil 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>
    

    La carga útil XML que se muestra arriba, en la línea 6, tiene una profundidad de nodo de 6.. Como la profundidad de nodo es superior a 5 (el valor especificado para el elemento <NodeDepth>), se produce el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection tiene como objetivo proteger frente a cargas útiles con el umbral de profundidad de nodo específico, el mensaje de error es el esperado. En este caso, no es necesario que hagas nada más.

Sin embargo, si determinas que se puede permitir una mayor profundidad de nodo, modifica <NodeDepth> por un valor adecuado en función de tus requisitos.

Por ejemplo, si crees que puedes permitir una profundidad de nodo de hasta 10, modifica la política de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Attribute count exceeded 2 at line 3(possibly around char 105)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> de la política XMLThreatProtection contiene un documento XML en el que el número de atributos de un solo elemento supera el número especificado en el elemento <AttributeCountPerElement> de la política.

Por ejemplo, si el elemento <AttributeCountPerElement> se especifica como 2 en la política XMLThreatProtection, pero la carga útil de entrada tiene un elemento con más de dos atributos, se producirá este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera el número de atributos. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XMLThreat-Protection-1 y el número de línea de la carga útil es 3:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    count exceeded 2 at line 3(possibly around char 105)
    
  2. Examine la política que ha fallado (identificada en el paso 1) y anote el valor especificado en el elemento <AttributeCountPerElement>.

    En el siguiente ejemplo de política, <AttributeCountPerElement> se define 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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y comprueba si el número de atributos especificado supera el número especificado en el elemento <AttributeCountPerElementh> (identificado en el paso 2). Si el número de atributos supera el recuento, esa es la causa del error.

    A continuación, se muestra un ejemplo de carga útil 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>
    

    La carga útil XML que se muestra arriba, en la línea 3, tiene un elemento con tres atributos. Como el número de atributos es superior a 2 (el valor especificado para el elemento <AttributeCountPerElement>), se produce el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection tiene como objetivo proteger contra cargas útiles que superen un número específico de atributos, el mensaje de error es el esperado. En este caso, no es necesario que hagas nada más.

Sin embargo, si determina que se puede permitir un mayor número de atributos, modifique <AttributeCountPerElement>por un valor adecuado en función de sus requisitos.

Por ejemplo, si cree que puede permitir un máximo de cinco atributos por elemento, modifique la política de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Attribute name length exceeded 5 at line 3(possibly around char 105)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> de la política XMLThreatProtection contiene un documento XML en el que el nombre de un atributo supera el número de caracteres especificado en el elemento secundario <Attribute> del elemento <NameLimits> de la política.

Por ejemplo, si el elemento <Attribute> se especifica como 5 en la política, pero la carga útil de entrada tiene un nombre de atributo con más de 5 caracteres, se producirá este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera la longitud del nombre del atributo. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XML-Threat-Protection-1 y el número de línea de la carga útil es 3:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    name length exceeded 5 at line 3(possibly around char 105)
    
  2. Examine la política que ha fallado (identificada en el paso 1) y anote el valor especificado en el elemento <Attribute>.

    En el siguiente ejemplo de política XMLThreatProtection, <Attribute> se ha 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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y comprueba si la longitud del atributo especificado tiene más caracteres que el número especificado en el elemento <Attribute> (identificado en el paso 2). Si el número de caracteres supera el valor del atributo, esa es la causa del error.

    A continuación, se muestra un ejemplo de carga útil 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>
    

    La carga útil XML que se muestra arriba en la línea 3 tiene dos atributos, category y cuisine, con una longitud de nombre de 8 y 7 caracteres, respectivamente.. Como la longitud del nombre del atributo es superior a 5 (el valor especificado para el elemento <Attribute>), se produce el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection tiene como objetivo proteger contra cargas útiles que superen una longitud de nombre de atributo específica, el mensaje de error es el esperado. En este caso, no es necesario que hagas nada más.

Sin embargo, si determina que se puede permitir una longitud mayor para el nombre del atributo, modifique <Attribute> y asígnele un valor adecuado en función de sus requisitos.

Por ejemplo, si cree que puede tener nombres de atributos de hasta 10 caracteres, modifique la política de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Attribute value length exceeded 10 at line 3(possibly around char 111)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> de la política contiene un documento XML en el que el valor de un atributo supera el número de caracteres especificado en el elemento secundario <Attribute> del elemento <ValueLimits>.

Por ejemplo, si el elemento <Attribute> se especifica como 10 en la política XMLThreatProtection, pero la carga útil de entrada tiene un valor de atributo con más de 10 caracteres, se produce este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera el número de atributos. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XML-Threat-Protection-1 y el número de línea de la carga útil es 3:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    value length exceeded 10 at line 3(possibly around char 111)
    
  2. Examine la política rechazada (identificada en el paso 1) y anote el valor especificado en el elemento secundario <Attribute> del elemento <ValueLimits>.

    En el siguiente ejemplo de política XMLThreatProtection, <Attribute> se ha definido en 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 el número de línea específico (identificado en el paso 1) de la carga útil de entrada y compruebe si la longitud del valor del atributo especificado tiene más caracteres que el número indicado en el elemento <Attribute> (identificado en el paso 2). Si el número de caracteres supera el valor del atributo, esa es la causa del error.

    A continuación, se muestra un ejemplo de carga útil 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>
    

    La carga útil XML que se muestra arriba, en la línea 3, tiene un atributo (cuisine) con una longitud de valor de 12 caracteres. Como la longitud del valor del atributo es superior a 10 (el valor especificado para el elemento <Attribute>), se produce el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection tiene como objetivo proteger contra cargas útiles que superen una longitud de valor de atributo específica, se espera que se muestre el mensaje de error. En este caso, no es necesario que hagas nada más.

Sin embargo, si determina que se pueden permitir valores de atributo más largos, modifique el elemento secundario <Attribute> del elemento <ValueLimits> con un valor adecuado según sus requisitos.

Por ejemplo, si cree que puede atribuir valores de hasta 15 caracteres, modifique la política de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Text length exceeded 15 at line 4(possibly around char 66)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> de la política XMLThreatProtection contiene un documento XML en el que la longitud del texto de un elemento supera el número de caracteres especificado en el elemento secundario <Text> del elemento <ValueLimits> de la política.

Por ejemplo, si el elemento <Text> se especifica como 15 en la política, pero la carga útil de entrada tiene un texto con más de 15 caracteres, se produce este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera el número de atributos. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XML-Threat-Protection-1 y el número de línea de la carga útil es 4:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Text length
    exceeded 15 at line 4(possibly around char 66)
    
  2. Examine la política rechazada (identificada en el paso 1) y anote el valor especificado en el elemento secundario <Text> del elemento <ValueLimits>.

    En el siguiente ejemplo de política XMLThreatProtection, <Text> se ha 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 el número de línea específico (identificado en el paso 1) de la carga útil de entrada y compruebe si la longitud del valor del atributo especificado tiene más caracteres que el número indicado en el elemento <Text> (identificado en el paso 2). Si el número de caracteres supera el valor del atributo, esa es la causa del error.

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

    La carga útil XML que se muestra arriba, en la línea 4, tiene un texto de 53 caracteres. Como la longitud del valor del atributo es superior a 15 (el valor especificado para el elemento <Text>), se produce el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection tiene como objetivo proteger contra cargas útiles que superen una longitud de texto específica, es normal que se muestre el mensaje de error. En este caso, no es necesario que hagas nada más.

Sin embargo, si determina que se pueden permitir longitudes de texto más largas, modifique el <Text>elemento secundario del elemento <ValueLimits> con un valor adecuado según sus requisitos.

Por ejemplo, si cree que puede tener valores de atributo de hasta 60 caracteres, modifique la política de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "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 error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> de la política XMLThreatProtection contiene un documento XML en el que la longitud de un comentario supera el número de caracteres especificado en el elemento secundario <Comment> del elemento <ValueLimits> de la política.

Por ejemplo, si el elemento <Comment> se especifica como 10 en la política, pero la carga útil de entrada tiene un comentario con más de 10 caracteres, se produce este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera la longitud del comentario. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XML-Threat-Protection-1 y el número de línea de la carga útil es 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Comment length exceeded 10 at line 2(possibly around char 48)
    
  2. Examine la política rechazada (identificada en el paso 1) y anote el valor especificado en el elemento secundario <Comment> del elemento <ValueLimits>.

    En el siguiente ejemplo de política XMLThreatProtection, <Comment> se ha 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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y comprueba si la longitud del comentario especificado tiene más caracteres que el número especificado en el elemento <Comment> (identificado en el paso 2). Si el número de caracteres supera el valor del atributo, esa es la causa del error.

    A continuación, se muestra un ejemplo de carga útil 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>
    

    La carga útil XML que se muestra arriba, en la línea 2, tiene un comentario con una longitud de valor de 31 caracteres.. Como la longitud del comentario es superior a 10 (el valor especificado para el elemento <Comment>), se produce el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection tiene como objetivo proteger contra cargas útiles que superen una longitud de comentario específica, el mensaje de error es el esperado. En este caso, no es necesario que hagas nada más.

Sin embargo, si determinas que se puede permitir un comentario más largo, modifica el <Comment>elemento secundario del elemento <ValueLimits> a un valor adecuado según tus requisitos.

Por ejemplo, si cree que puede atribuir valores de hasta 40 caracteres, modifique la política de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Processing Instruction data length exceeded 30 at line 2(possibly around char 109)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> de la política XMLThreatProtection contiene un documento XML en el que una instrucción de datos de procesamiento supera el número de caracteres especificado en el elemento secundario <ProcessingInstructionData> del elemento <ValueLimits> de la política.

Por ejemplo, si el elemento <ProcessingInstructionData> se especifica como 10 en la política XMLThreatProtection, pero la carga útil de entrada tiene una instrucción de procesamiento con más de 10 caracteres, se produce este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera la longitud de la instrucción de procesamiento. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XML-Threat-Protection-1 y el número de línea de la carga útil es 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction data length exceeded 30 at line 2(possibly around char 109)
    
  2. Examine la política rechazada (identificada en el paso 1) y anote el valor especificado en el elemento secundario <ProcessingInstructionData> del elemento <ValueLimits> .

    En el siguiente ejemplo de política XMLThreatProtection, <ProcessingInstructionData> se ha 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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y comprueba si la longitud de los datos de la instrucción de procesamiento especificada tiene más caracteres que el número indicado en el elemento <ProcessingInstructionData> (identificado en el paso 2). Si el número de caracteres supera los datos de la instrucción de procesamiento, esa es la causa del error.

    A continuación, se muestra un ejemplo de carga útil 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>
    

    La carga útil XML que se muestra arriba en la línea 1 tiene un elemento de datos de instrucción de procesamiento (type="text/xsl" href="mobilephones.xsl"?)con una longitud de 40 caracteres.). Como esta longitud es superior a 30 (el valor especificado para el elemento <ProcessingInstructionData>), se produce el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection tiene como objetivo proteger contra cargas útiles que superen una longitud de datos de instrucción de procesamiento específica, el mensaje de error es el esperado. En este caso, no es necesario que hagas nada más.

Sin embargo, si determina que se pueden permitir elementos de datos de instrucciones de procesamiento más largos, modifique el elemento secundario <ProcessingInstructionData> del elemento <ValueLimits> con un valor adecuado según sus requisitos.

Por ejemplo, si crees que puedes tener longitudes de instrucciones de tratamiento de datos de hasta 50 caracteres, modifica la política de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Processing Instruction target length exceeded 10 at line 2(possibly around char 114)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> de la política XMLThreatProtection contiene un documento XML en el que el destino de una instrucción de proceso supera el número de caracteres especificado en el elemento secundario <ProcessingInstructionTarget> del elemento <NameLimits> de la política.

Por ejemplo, si el elemento <ProcessingInstructionTarget> se especifica como 10 en la política XMLThreatProtection, pero la carga útil de entrada tiene un destino de instrucción de procesamiento con más de 10 caracteres, se producirá este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera el número de destinos de la instrucción de procesamiento. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XML-Threat-Protection-1 y el número de línea de la carga útil es 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. Examina la política XMLThreatProtection fallida (identificada en el paso 1) y anota el valor especificado en el elemento secundario <ProcessingInstructionTarget> del elemento <NameLimits>.

    En el siguiente ejemplo de política XMLThreatProtection, <ProcessingInstructionTarget> se ha 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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y comprueba si la longitud del destino de la instrucción de procesamiento especificada tiene más caracteres que el número especificado en el elemento <ProcessingInstructionTarget> (identificado en el paso 2). Si el número de caracteres supera el límite de tamaño de destino, esa es la causa del error.

    A continuación, se muestra un ejemplo de carga útil 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>
    

    La carga útil XML que se muestra arriba, en la línea 2, tiene un nombre de destino de instrucción de procesamiento "xml-stylesheet"" con una longitud de 14 caracteres. Como el nombre de destino de la instrucción de procesamiento tiene más de 10 caracteres (el valor especificado para el elemento <ProcessingInstructionTarget>), se muestra el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection se ha diseñado para proteger contra cargas útiles que superen una longitud de destino de instrucción de proceso específica, el mensaje de error es el esperado. En este caso, no es necesario que hagas nada más.

Sin embargo, si determina que un destino de instrucción de proceso puede ser más largo, modifique el elemento secundario <ProcessingInstructionTarget> del elemento <NameLimits> con un valor adecuado en función de sus requisitos.

Por ejemplo, si crees que puedes tener objetivos de instrucciones de proceso de hasta 25 caracteres, modifica la política de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Namespace uri length exceeded 10 at line 2(possibly around char 97)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> de la política XMLThreatProtection contiene un documento XML en el que un URI de espacio de nombres supera el número de caracteres especificado en el elemento secundario <NamespaceURI> del elemento <ValueLimits> de la política.

Por ejemplo, si el elemento <NamespaceURI> se especifica como 10 en la política, pero la carga útil de entrada tiene un URI de espacio de nombres con más de 10 caracteres, se producirá este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera la longitud del URI del espacio de nombres. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XML-Threat-Protection-1 y el número de línea de la carga útil es 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    uri length exceeded 10 at line 2(possibly around char 97)
    
  2. Examine la política que ha fallado (identificada en el paso 1) y anote el valor especificado en el elemento secundario <NamespaceURI> del elemento <ValueLimits>.

    En el siguiente ejemplo de política XMLThreatProtection, <NamespaceURI> se ha 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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y comprueba si la longitud del URI del espacio de nombres especificado tiene más caracteres que el número indicado en el elemento <NamespaceURI> (identificado en el paso 2). Si el número de caracteres supera la longitud del URI del espacio de nombres, ese es el motivo del error.

    A continuación, se muestra un ejemplo de carga útil 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>
    

    La carga útil XML que se muestra arriba, en la línea 2, tiene un URI de espacio de nombres, http://www.example/profile, con una longitud de 22 caracteres. Como la longitud del URI del espacio de nombres es superior a 10 (el valor especificado para el elemento <NamespaceURI>), se muestra el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection tiene como objetivo proteger contra cargas útiles que superen una longitud de URI de espacio de nombres específica, es normal que se muestre el mensaje de error. En este caso, no es necesario que hagas nada más.

Sin embargo, si determina que se puede permitir un URI de espacio de nombres más largo, modifique el elemento secundario <NamespaceURI> del elemento <ValueLimits> con un valor adecuado en función de sus requisitos.

Por ejemplo, si cree que puede tener longitudes de URI de espacio de nombres de hasta 30 caracteres, modifique la política de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Namespace prefix length exceeded 10 at line 2(possibly around char 105)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> contiene un documento XML en el que un prefijo Namespace supera el número de caracteres especificado en el elemento secundario <NamespacePrefix> del elemento <NameLimits> de la política.

Por ejemplo, si el elemento <NamespacePrefix> se especifica como 10 en la política XMLThreatProtection, pero la carga útil de entrada tiene un prefijo de espacio de nombres con más de 10 caracteres, se producirá este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera la longitud del prefijo del URI del espacio de nombres. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XML-Threat-Protection-1 y el número de línea de la carga útil es 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    prefix length exceeded 10 at line 2(possibly around char 105)
    
  2. Examine la política que ha fallado (identificada en el paso 1) y anote el valor especificado en el elemento secundario <NamespacePrefix> del elemento <NameLimits>.

    En el siguiente ejemplo de política XMLThreatProtection, <NamespacePrefix> se ha 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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y comprueba si la longitud del prefijo del espacio de nombres especificado tiene más caracteres que el número especificado en el elemento <NamespacePrefix> (identificado en el paso 2). Si el número de caracteres supera el límite del prefijo del espacio de nombres, esa es la causa del error.

    A continuación, se muestra un ejemplo de carga útil 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>
    

    La carga útil XML que se muestra arriba en la línea 2 tiene un prefijo de espacio de nombres userprofile con una longitud de 11 caracteres. Como la longitud del prefijo del URI del espacio de nombres es superior a 10 (el valor especificado para el elemento <NamespacePrefix>), se muestra el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection tiene como objetivo proteger contra cargas útiles que superen una longitud de prefijo de URI de espacio de nombres específica, el mensaje de error es el esperado. En este caso, no es necesario que hagas nada más.

Sin embargo, si determina que se puede permitir un prefijo de URI de espacio de nombres más largo, modifique el elemento secundario <NamespacePrefix> del elemento <NameLimits> con un valor adecuado según sus requisitos.

Por ejemplo, si cree que puede tener prefijos de URI de espacio de nombres de hasta 15 caracteres, modifique la política de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace count exceeded 3 at line 2(possibly around char 234)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> de la política XMLThreatProtection contiene un documento XML en el que el número de espacios de nombres utilizados en un solo elemento supera el número especificado en el elemento secundario <NamespaceCountPerElement> del elemento <StructureLimits> de la política.

Por ejemplo, si el elemento <NamespaceCountPerElement> se especifica como 3 en la política, pero la carga útil de entrada tiene un elemento con más de 3 espacios de nombres, se producirá este error.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política XMLThreatProtection y el número de línea en el que se supera el número de espacios de nombres. Por ejemplo, en el siguiente mensaje de error, el nombre de la política es XMLThreat-Protection-1 y el número de línea de la carga útil es 2:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace count
    exceeded 3 at line 2(possibly around char 234)
    
  2. Examine la política que ha fallado (identificada en el paso 1) y anote el valor especificado en el elemento secundario <NamespaceCountPerElement> del elemento <StructureLimits>.

    En el siguiente ejemplo de política XMLThreatProtection, <NamespaceCountPerElement> se ha 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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y comprueba si el número de espacios de nombres especificado para un solo elemento es superior al número especificado en el elemento <NamespaceCountPerElement> (identificado en el paso 2). Si el número de espacios de nombres supera el límite de espacios de nombres por elemento, esa es la causa del error.

    A continuación, se muestra un ejemplo de carga útil 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>
    

    La carga útil XML que se muestra arriba, en la línea 2, tiene más de 3 espacios de nombres. Como el número de espacios de nombres es superior a 3 (el valor especificado para el elemento <NamespaceCountPerElement>), se muestra el siguiente error:

    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)
    

Resolución

Si la política XMLThreatProtection tiene como objetivo proteger contra cargas útiles que superen un número específico de espacios de nombres en un solo elemento, el mensaje de error es el esperado. En este caso, no es necesario que hagas nada más.

Sin embargo, si determina que se puede permitir un número mayor de espacios de nombres, modifique el elemento secundario <NamespaceCountPerElement> del elemento <StructureLimits> con un valor adecuado en función de sus requisitos.

Por ejemplo, si cree que puede tener hasta 5 espacios de nombres en un solo elemento, modifique la política de la siguiente manera:

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

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

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

Causa

Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> de la política XMLProtectionPolicy no es un documento XML válido.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política en la que se ha producido el error. En el siguiente ejemplo, el nombre de la política es XML-Threat-Protection-1.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: Syntax error while parsing XML prologue
    
  2. Examina la carga útil de entrada y comprueba si el documento XML que se ha enviado en la carga útil tiene un formato correcto.

    A continuación, se muestra un ejemplo de carga útil 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>
    

    En la carga útil XML que se muestra arriba, la línea 9 no cierra el elemento raíz correctamente, ya que falta /. Como el formato XML no es correcto, se produce el siguiente error:

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

Resolución

Asegúrate de que se transmita una carga útil XML de entrada válida a cualquier proxy de API que incluya la política XMLThreatProtection.

Para corregir el error del ejemplo descrito anteriormente, modifica la carga útil XML de entrada de la siguiente manera:

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

steps.xmlthreatprotection.SourceUnavailable

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

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

Causa

Este error se produce si la variable message especificada en el elemento <Source> de la política XMLThreatProtection es:

  • Fuera del ámbito (no disponible en el flujo específico en el que se está ejecutando la política)
  • No es uno de los valores válidos request, response o message

Por ejemplo, este error se produce si el elemento <Source> de la política se asigna a una variable que no existe en el flujo en el que se ejecuta la política.

Diagnóstico

  1. Identifique el nombre de la política XMLThreatProtection y el nombre de la variable Source en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política XMLThreatProtection es XML-Threat-Protection-1 y la variable Source es requests:.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    
  2. Examina la política XMLThreatProtection fallida y comprueba el valor especificado para el elemento <Source> identificado en el paso 1.

    En el siguiente ejemplo de política XMLThreatProtection, el elemento <Source> se ha 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>
    

    Los valores válidos del elemento <Source> son request, response o message.. Como requests no es un valor válido y no existe en el flujo en el que se está ejecutando la política, se produce el siguiente error:

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

Resolución

Asegúrate de que la variable definida en el elemento <Source> de la política XMLThreatProtection fallida se haya definido como request, response o message y que exista en el flujo en el que se ejecuta la política.

Para corregir la política de ejemplo que se muestra arriba, puede modificar el elemento <Source> para usar la variable request , ya que existe en el flujo de solicitudes:

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

steps.xmlthreatprotection.NonMessageVariable

Cuerpo de respuesta de error

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

Cuerpo de respuesta de error de ejemplo

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

Causa

Este error se produce si el elemento <Source> de la política XMLThreatProtection se asigna a una variable que no es del tipo message.

Las variables de tipo de mensaje representan solicitudes y respuestas HTTP completas. Las variables de flujo integradas de Apigee request, response y message son de tipo Message. Para obtener más información sobre las variables de mensaje, consulta la referencia de variables de flujo.

Diagnóstico

  1. Identifique el nombre de la variable que se resuelve en una variable de tipo Mensaje a partir del mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la variable es message.content.

    Variable message.content does not resolve to a Message
    
  2. Examina todas las políticas XMLThreadProtection del proxy de API en el que se ha producido el error e identifica la política XMLThreadProtection específica en la que se especifica el elemento <Source> con el nombre de variable identificado en el paso 1 anterior.

    En el siguiente ejemplo de política XMLThreatProtection, <Source> se ha 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 la variable message.content no es del tipo Message, se produce el siguiente error:

    Variable message.content does not resolve to a Message
    

Resolución

Asegúrate de que el elemento <Source> de la política XMLThreatProtection fallida se haya definido en una variable de flujo message que exista en el flujo en el que se ejecuta la política.

Para corregir la política, puede modificar el elemento <Source> para especificar una variable de tipo Message. Por ejemplo, en el elemento XMLThreatProtection fallido, puedes especificar el 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>