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

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

ExecutionFailed

Código de error

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de la 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 la 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 arrojar varios tipos de errores ExecutionFailed. En la siguiente tabla, se enumeran los diferentes tipos de errores y las posibles causas:

Error Causa
ElementNameExceeded Se excede la longitud máxima de string permitida en una etiqueta XML.
ChildCountExceeded Se excede la cantidad máxima de elementos secundarios permitidos en una carga útil de XML.
NodeDepthExceeded Se excede la profundidad máxima de los elementos XML permitidos en una carga útil de XML.
AttributeCountExceeded Se superó la cantidad máxima de atributos en un solo elemento.
AttributeNameExceeded Se superó la longitud máxima permitida para un nombre de atributo.
AttributeValueExceeded Se excedió la longitud máxima permitida para un valor de atributo.
TextExceeded Se superó la longitud máxima permitida para el texto.
CommentExceeded Se superó la longitud máxima permitida para un comentario.
PIDataExceeded Se excede la longitud de los datos de instrucciones de procesamiento permitida.
PITargetExceeded Se excede la longitud del nombre de la instrucción del proceso.
NSURIExceeded Se excede la longitud de la URL del espacio de nombres.
NSPrefixExceeded Se excede la longitud del prefijo del espacio de nombres.
NSCountExceeded Se superó la cantidad de espacios de nombres usados en un solo elemento.
InvalidXMLPayload La carga útil de XML de entrada no es válida.

ElementNameExceeded

Código de error

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de la respuesta de error

El tráfico de entorno de ejecución muestra 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 la 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> 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 de más de 5 caracteres, se produce 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 caracteres en la carga útil de entrada en la que se excedió 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 en la carga útil es 1 y el número de caracteres 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. Examina la política con errores (identificada en el paso 1) y anota el valor especificado en el elemento <Element>.

    Por ejemplo, en la siguiente política XMLThreatProtection, <Element> se establece en 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 verifica si la longitud del elemento en esa línea es mayor que el valor especificado para el elemento <Element> (identificado en el paso 2). Si la longitud del elemento excede este valor, esa es la causa del error.

    A continuación, te mostramos un ejemplo de carga útil de entrada:

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

    La carga útil de XML que se muestra arriba tiene un elemento raíz llamado company en la línea 1, que tiene 7 caracteres. Dado que la longitud del elemento es mayor que 5 (el valor especificado para el elemento <Element>), recibirás 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)
    

Solución

Si la política XMLThreadProtection está diseñada para proteger contra cargas útiles con nombres de elementos que excedan el valor definido, se espera el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

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

Por ejemplo, si crees que puedes permitir elementos de una longitud de hasta 10, 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 la 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 la 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 que especifica 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 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 excede la cantidad 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 en 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. Examina la política con errores (identificada en el paso 1) y anota el valor especificado en el elemento <ChildCount>.

    En el siguiente ejemplo de política, <ChildCount> se establece en 3 (ten en cuenta que los comentarios, incluidos los elementos y demás, se consideran en 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 verifica si la cantidad de elementos secundarios (incluidos todos los comentarios, etc.) en la carga útil es mayor que el valor especificado para el elemento <ChildCount> (identificado en el Paso 2). Si la cantidad de elementos secundarios excede el recuento de secundarios, esa es la causa del error.

    A continuación, te mostramos 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>. Dado que el recuento de elementos secundarios en la carga útil de XML de entrada es mayor que 3 (el valor especificado para el elemento <ChildCount>), recibirás 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)
    

Solución

Si la política XMLThreatProtection está diseñada para ofrecer protección contra cargas útiles con un recuento de elementos secundarios que exceda un límite específico, se espera que aparezca el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

Sin embargo, si determinas que se puede incluir una mayor cantidad de elementos secundarios (incluidos los comentarios, etc.) en la carga útil sin ninguna consecuencia, modifica <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 la 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 la 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 que especifica el elemento <Source> contiene un documento XML en el que la jerarquía de nodos supera la cantidad especificada 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 que supera 4, entonces 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 excede la profundidad del contenedor. 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 en 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 con errores (identificada en el paso 1) y anota el valor especificado en el elemento <NodeDepth>.

    En el siguiente ejemplo de la política XMLThreatProtection, <NodeDepth> se establece en 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 verifica si la profundidad del nodo especificada tiene un recuento mayor que el número especificado en el elemento <NodeDepth> (identificado en el paso 2). Si el nivel de los elementos secundarios XML excede el recuento, esa es la causa del error.

    A continuación, te mostramos 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 antes en la línea 6 tiene una profundidad de nodo de 6.. Debido a que la profundidad del nodo es mayor que 5 (el valor especificado para el elemento <NodeDepth>), recibirás 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)
    

Solución

Si la política XMLThreatProtection está diseñada para ofrecer protección contra cargas útiles con el umbral de profundidad de nodo específico, se espera que aparezca el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

Sin embargo, si determinas que se puede permitir una profundidad de nodo mayor, modifica <NodeDepth> a un valor adecuado según tus requisitos.

Por ejemplo, si crees que puedes permitir una profundidad de nodo de hasta 10, debes modificar 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 la 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 la 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 que especifica el elemento <Source> de la política XMLThreatProtection contiene un documento XML en el que la cantidad de atributos de un solo elemento supera la cantidad especificada 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 2 atributos, 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 excede la cantidad 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 en 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. Examina la política con errores (identificada en el paso 1) y anota el valor especificado en el elemento <AttributeCountPerElement>.

    En el siguiente ejemplo de política, <AttributeCountPerElement> se configura 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 verifica si la cantidad de atributos especificada supera la cantidad especificada en el elemento <AttributeCountPerElementh> (identificado en el paso 2). Si el número de atributos excede el recuento, esa es la causa del error.

    A continuación, te mostramos 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. Debido a que el recuento de atributos es mayor que 2 (el valor especificado para el elemento <AttributeCountPerElement>), recibirás 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)
    

Solución

Si la política XMLThreatProtection está diseñada para ofrecer protección contra cargas útiles que excedan una cantidad específica de atributos, se espera que aparezca el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

Sin embargo, si determinas que se puede permitir una mayor cantidad de atributos, modifica <AttributeCountPerElement> a un valor adecuado según tus requisitos.

Por ejemplo, si crees que puedes permitir un número de atributos por elemento de hasta 5, 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>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 la 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 la 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 un nombre de atributo excede la cantidad de caracteres especificada 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 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 donde se excede la longitud de string. 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 en 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. Examina la política con errores (identificada en el paso 1) y anota el valor especificado en el elemento <Attribute>

    En el siguiente ejemplo de la política XMLThreatProtection, <Attribute> se establece en 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 verifica 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 la cantidad de caracteres excede el valor del atributo, esa es la causa del error.

    A continuación, te mostramos 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 ycuisine con una longitud de nombre de 8 y 7 caracteres respectivamente.. Debido a que la longitud del nombre del atributo es mayor que 5 (el valor especificado para <Attribute>) obtienes 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)
    

Solución

Si la política XMLThreatProtection está diseñada para ofrecer protección contra cargas útiles que excedan una longitud de nombre de atributo específica, se espera el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

Sin embargo, si determinas que se puede permitir una longitud de nombre de atributo más larga, modifica <Attribute> a un valor adecuado según tus requisitos.

Por ejemplo, si crees que puedes tener nombres de atributos de hasta 10 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>10</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

AttributeValueExceeded

Código de error

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de la 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 la 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 que especifica el elemento <Source> de la política contiene un documento XML en el que el valor de un atributo excede la cantidad de caracteres especificada 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 excede la cantidad 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 en 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. Examina la política con errores (identificada en el paso 1) y anota el valor especificado en el elemento secundario <Attribute> del elemento <ValueLimits>.

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

    A continuación, te mostramos 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 (cocina) con una longitud de valor de 12 caracteres. Debido a que la longitud del valor del atributo es mayor que 10 (el valor especificado para el elemento <Attribute>), recibirás 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)
    

Solución

Si la política XMLThreatProtection está diseñada para ofrecer protección contra cargas útiles que excedan una longitud del valor del atributo específica, se espera el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

Sin embargo, si determinas que se pueden permitir valores de atributos más largos, modifica el elemento secundario <Attribute> del elemento <ValueLimits> a un valor adecuado según tus requisitos.

Por ejemplo, si crees que puedes atribuir valores de hasta 15 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>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

TextExceeded

Código de error

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de la 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 la 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 de texto de un elemento supera la cantidad especificada de caracteres del 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 excede la cantidad 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 en 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. Examina la política con errores (identificada en el paso 1) y anota el valor especificado en el elemento secundario <Text> del elemento <ValueLimits>.

    En el siguiente ejemplo de la política XMLThreatProtection, <Text> se establece en 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. Examina el número de línea específico (identificado en el paso 1) de la carga útil de entrada y verifica si la longitud del valor del atributo especificado tiene más caracteres que el número especificado en el elemento <Text> (identificado en el paso 2). Si la cantidad de caracteres excede 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. Debido a que la longitud del valor del atributo es mayor que 15 (el valor especificado para el elemento <Text>), recibirás 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)
    

Solución

Si la política XMLThreatProtection está diseñada para protegerte contra cargas útiles que excedan una longitud de texto específica, se espera el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

Sin embargo, si determinas que se pueden permitir longitudes de texto más largas, modifica el elemento secundario <Text> del elemento <ValueLimits> a un valor adecuado según tus requisitos.

Por ejemplo, si crees que puedes tener valores de atributo de hasta 60 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>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 la 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 la 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 excede la cantidad de caracteres especificada 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 donde se excede la longitud de string. 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 en 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. Examina la política con errores (identificada en el paso 1) y anota el valor especificado en el elemento secundario <Comment> del elemento <ValueLimits>.

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

    A continuación, te mostramos 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.. Debido a que la longitud del comentario es mayor que 10 (el valor especificado para el elemento <Comment>), recibirás 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)
    

Solución

Si la política XMLThreatProtection está diseñada para ofrecer protección contra cargas útiles que excedan una longitud del comentario específica, se espera el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

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

Por ejemplo, si crees que puedes atribuir valores de hasta 40 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>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

PIDataExceeded

Código de error

steps.xmlthreatprotection.ExecutionFailed

Cuerpo de la 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 la 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 excede la cantidad de caracteres especificada 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 donde se excede la longitud de string. 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 en 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. Examina la política con errores (identificada en el paso 1) y anota el valor especificado en el elemento secundario <ProcessingInstructionData> del elemento <ValueLimits>.

    En el siguiente ejemplo de la política XMLThreatProtection, <ProcessingInstructionData> se establece en 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 verifica si la longitud de los datos de instrucción de procesamiento especificados tiene más caracteres que el número especificado en el elemento <ProcessingInstructionData> (identificado en el paso 2). Si la cantidad de caracteres excede los datos de instrucciones de procesamiento, esa es la causa del error.

    A continuación, te mostramos 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 instrucciones de procesamiento (type="text/xsl" href="mobilephones.xsl"?) con una longitud de 40 caracteres.) porque esta longitud es mayor que 30 (el valor especificado para el elemento <ProcessingInstructionData>) que obtienes 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)
    

Solución

Si la política XMLThreatProtection está diseñada para protegerte contra cargas útiles que excedan una longitud específica de datos de instrucción de procesamiento, se espera que aparezca el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

Sin embargo, si determinas que se pueden permitir elementos de datos de instrucción de procesamiento más largos, modifica el elemento secundario <ProcessingInstructionData> del elemento <ValueLimits> a un valor adecuado según tus requisitos.

Por ejemplo, si crees que puedes tener longitudes de instrucciones de procesamiento 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 la 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 la 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 un objetivo de instrucciones de proceso supera la cantidad de caracteres especificada 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 objetivo de instrucción de proceso 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 excede el número de instrucciones 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 en 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 con errores (identificada en el paso 1) y anota el valor especificado en el elemento secundario <ProcessingInstructionTarget> del elemento <NameLimits>.

    En el siguiente ejemplo de la política XMLThreatProtection, <ProcessingInstructionTarget> se establece 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>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 verifica si la longitud del objetivo de instrucción de procesamiento especificado tiene más caracteres que el número especificado en el elemento <ProcessingInstructionTarget> (identificado en el Paso 2). Si la cantidad de caracteres supera el límite de tamaño de destino, esa es la causa del error.

    A continuación, te mostramos 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 antes en la línea 2 tiene un nombre de destino de instrucción de procesamiento “xml-stylesheet" con una longitud de 14 caracteres”. Debido a que el nombre del destino de las instrucciones de procesamiento es mayor que 10 (el valor especificado para el elemento <ProcessingInstructionTarget>), recibirás 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)
    

Solución

Si la política XMLThreatProtection está diseñada para ofrecer protección contra cargas útiles que excedan una longitud del objetivo de la instrucción del proceso específica, se espera el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

Sin embargo, si determinas que un objetivo de instrucción de proceso puede ser más largo, modifica el elemento secundario <ProcessingInstructionTarget> del elemento <NameLimits> a un valor adecuado según tus requisitos.

Por ejemplo, si crees que puedes tener objetivos de instrucción 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 la 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 la 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 que especifica el elemento <Source> de la política XMLThreatProtection contiene un documento XML en el que un URI de espacio de nombres supera la cantidad de caracteres especificada 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 de 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 donde se excede la longitud de string. 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 en 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. Examina la política con errores (identificada en el paso 1) y anota el valor especificado en el elemento secundario <NamespaceURI> del elemento <ValueLimits>.

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

    A continuación, te mostramos un ejemplo de carga útil de entrada:

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

    La carga útil XML que se muestra arriba en la línea 2 tiene un URI de espacio de nombres, www.google.com/profile, con una longitud de 22 caracteres. Debido a que la longitud del URI del espacio de nombres es mayor que 10 (el valor especificado para el elemento <NamespaceURI>), recibirás 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)
    

Solución

Si la política XMLThreatProtection está diseñada para ofrecer protección contra cargas útiles que excedan una longitud específica de URI de espacio de nombres, se espera el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

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

Por ejemplo, si crees que puedes tener longitudes de URI de espacio de nombres de hasta 30 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>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 la 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 la 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 la<Source> contiene un documento XML donde Espacio de nombres excede el número de caracteres especificados en la <NamespacePrefix> elemento secundario del <NameLimits> elemento 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 de 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 donde se excede la longitud de string. 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 en 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. Examina la política con errores (identificada en el paso 1) y anota el valor especificado en el elemento secundario <NamespacePrefix> del elemento <NameLimits>.

    En el siguiente ejemplo de la política XMLThreatProtection, <NamespacePrefix> se establece 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>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 verifica 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 la cantidad de caracteres excede el límite de prefijo del espacio de nombres, esa es la causa del error.

    A continuación, te mostramos un ejemplo de carga útil de entrada:

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

    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. Debido a que la longitud del prefijo de URI del espacio de nombres es mayor que 10 (el valor especificado para el elemento <NamespacePrefix>), recibirás 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)
    

Solución

Si la política XMLThreatProtection está diseñada para ofrecer protección contra cargas útiles que excedan una longitud de prefijo de URI de espacio de nombres específica, se espera el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

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

Por ejemplo, si crees que puedes tener longitudes de prefijos de URI de espacio de nombres de hasta 15 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>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 la 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 la 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 la cantidad de espacios de nombres usados 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 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 donde se supera la cantidad 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 en 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. Examina la política con errores (identificada en el paso 1) y anota el valor especificado en el elemento secundario <NamespaceCountPerElement> del elemento <StructureLimits>.

    En el siguiente ejemplo de la política XMLThreatProtection, <NamespaceCountPerElement> se establece en 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 verifica si la cantidad de espacios de nombres especificada allí para un solo elemento es mayor que el número especificado en el elemento <NamespaceCountPerElement> (identificado en el Paso 2). Si la cantidad de espacios de nombres excede el límite de espacios de nombres por elemento, esa es la causa del error.

    A continuación, te mostramos 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. Debido a que el recuento de espacio de nombres es mayor que 3 (el valor especificado para el elemento <NamespaceCountPerElement>), recibirás 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)
    

Solución

Si la política XMLThreatProtection está diseñada para ofrecer protección contra cargas útiles que excedan una cantidad específica de espacios de nombres en un solo elemento, se espera que aparezca el mensaje de error. En este caso, no es necesario que realices ninguna acción adicional.

Sin embargo, si determinas que se puede permitir una mayor cantidad de espacios de nombres, modifica el elemento secundario <NamespaceCountPerElement> del elemento <StructureLimits> a un valor adecuado según tus requisitos.

Por ejemplo, si crees que puedes tener hasta 5 espacios de nombres en un solo elemento, 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>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 la respuesta de error

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

Cuerpo de la 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 genera si la carga útil del mensaje de entrada que especifica el elemento <Source> de la política XMLThreatProtection no es un documento XML válido.

Diagnóstico

  1. Examina el mensaje de error para identificar el nombre de la política donde ocurrió 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 verifica si el documento XML que se pasó en la carga útil es realmente un documento XML con el formato correcto.

    A continuación, te mostramos 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 de forma correcta porque falta /. Debido a que este no es un formato XML correcto, se produce el siguiente error:

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

Solución

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

Para corregir el error de ejemplo descrito antes, modifica la carga útil de 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 la respuesta de error

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

Cuerpo de la 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 mensaje especificada en el elemento <Source> de la política JSONThreatProtection es una de las siguientes opciones:

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

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

Diagnóstico

  1. Identifica el nombre de la política XMLThreatProtection y el nombre de la variable de origen 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 de origen es requests::

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

    En el siguiente ejemplo de política XMLThreatProtection, el elemento <Source> se configura 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 para el elemento <Source> son request, response o message.. porque requests no es un valor válido y no existe en el flujo en el que se ejecuta la política. Aparece el error:

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

Solución

Asegúrate de que la variable establecida en el elemento <Source> de la política con errores JSONThreatProtection esté establecida en request, response o message, y que exista en el flujo en el que se ejecuta la política.

Si quieres corregir la política JSONThreatProtection de ejemplo que se muestra arriba, puedes modificar el elemento <Source> a fin de 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 la respuesta de error

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

Cuerpo de la respuesta de error de ejemplo

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

Causa

Este error ocurre si el elemento <Source> en la política XMLThreatProtection está configurado en una variable que no es del tipo mensaje.

Las variables del tipo de mensaje representan respuestas y solicitudes HTTP completas. Las variables de flujo integradas de Apigee Edge request, response y message son de tipo de mensaje. Para obtener más información acerca de las variables de mensaje, consulta la Referencia de lasvariables.

Diagnóstico

  1. Identifica el nombre de la variable que se resuelve en un tipo de variable de mensaje 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 en el proxy de API en el que se produjo el error e identifica la política XMLThreadProtection específica en la que se especifica el elemento <Source> con el nombre de la variable identificado en el paso 1 anterior.

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

    Debido a que la variable message.content no es del tipo Message, verá el siguiente error:

    Variable message.content does not resolve to a Message
    

Solución

Asegúrate de que el elemento <Source> de la política con errores XMLThreatProtection esté establecido en una variable de flujo de tipo Message que exista en el flujo en el que se ejecuta la política.

A fin de corregir la política, puedes modificar el elemento <Source> para especificar una variable que sea de tipo de mensaje. Por ejemplo, en el JSON con error JSONThreatProtection, podrías 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>