Устранение ошибок во время выполнения политики XMLThreatProtection

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Выполнение не удалось

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Виды ошибок и возможные причины

Политика XMLThreatProtection может выдавать множество различных типов ошибок ExecutionFailed. В таблице ниже перечислены различные типы ошибок и их возможные причины:

Ошибка Причина
ИмяЭлементаПревышено Превышена максимальная длина строки, разрешенная в теге XML.
ChildCountExceeded Превышено максимальное количество дочерних элементов, разрешенное в полезных данных XML.
NodeDepthExceeded Превышена максимальная глубина XML-элементов, разрешенная в полезных данных XML.
AttributeCountExceeded Превышено максимальное количество атрибутов в одном элементе.
ИмяАтрибутаПревышено Превышена максимальная длина имени атрибута.
АтрибутЗначениеПревышено Превышена максимальная длина, разрешенная для значения атрибута.
ТекстПревышен Превышена максимальная длина текста.
КомментарийПревышен Превышена максимальная длина комментария.
PIDataExceeded Превышена разрешенная длина данных инструкции обработки.
PITargetExceeded Превышена длина имени инструкции процесса.
НСУРИПревышено Превышена длина URL-адреса пространства имен.
NSPrefixExceeded Превышена длина префикса пространства имен.
НСКаунтекссеедед Превышено количество пространств имен, используемых в одном элементе.
Неверная полезная нагрузка XML Входная полезная нагрузка XML недействительна.

ИмяЭлементаПревышено

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

Трафик среды выполнения возвращает код ответа 500 со следующей ошибкой:

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если входные полезные данные, указанные элементом <Source> политики, содержат элементы XML, длина которых превышает максимальную длину, указанную в элементе <Element> под элементом <NameLimits> .

Например, если в политике XMLThreatProtection для элемента <Element> указано значение 5 , но входные полезные данные содержат элемент, содержащий более 5 символов, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection, номер строки и возможный номер символа во входных полезных данных, где длина элемента была превышена.

    Например, в следующем сообщении об ошибке имя политики — XML-Threat-Protection-1, номер строки в полезных данных — 1 , а возможный номер символа — 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. Проверьте ошибочную политику (определенную на шаге 1) и запишите значение, указанное в элементе <Element> .

    Например, в следующей политике XMLThreatProtection <Element> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, превышает ли длина элемента в этой строке значение, указанное для элемента <Element> (определенное на шаге 2). Если длина элемента превышает это значение, то это и есть причина ошибки.

    Вот пример входной полезной нагрузки:

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

    Полезная нагрузка XML, показанная выше, имеет корневой элемент с именем company в строке 1, который имеет 7 символов. Поскольку длина элемента превышает 5 (значение, указанное для элемента <Element> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreadProtection предназначена для защиты от полезных данных, имена элементов которых превышают определенное значение, то ожидается сообщение об ошибке. В этом случае дополнительных действий не требуется.

Однако если вы решите, что более длинные элементы могут быть указаны в полезных данных без каких-либо последствий, измените <Element> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что можете разрешить элементы длиной до 10, измените политику XMLThreatProtection следующим образом:

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

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезные данные входного сообщения, указанные элементом <Source> , содержат элемент XML, который содержит больше дочерних элементов, чем значение, указанное в элементе <ChildCount> политики.

Например, если элемент <ChildCount> равен 3, но входные полезные данные XML содержат элемент с более чем тремя дочерними элементами, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышено количество записей. Например, в следующем сообщении об ошибке имя политики — XML-Threat-Protection-1 , а номер строки в полезных данных — 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. Проверьте ошибочную политику (определенную на шаге 1) и запишите значение, указанное в элементе <ChildCount> .

    В следующем примере политики для <ChildCount> установлено значение 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>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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, превышает ли количество дочерних элементов (включая все комментарии и т. д.) в полезных данных значение, указанное для элемента <ChildCount> (определенное на шаге 2). ). Если количество дочерних элементов превышает количество дочерних элементов, это является причиной ошибки.

    Вот пример входной полезной нагрузки:

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

    В показанной выше полезной нагрузке XML строка 5 содержит четвертый дочерний элемент <director> корневого элемента <movie> . Поскольку количество дочерних элементов во входных полезных данных XML превышает 3 (значение, указанное для элемента <ChildCount> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных, количество дочерних элементов которых превышает определенный порог, то ожидается сообщение об ошибке. В этом случае никаких дополнительных действий предпринимать не нужно.

Однако если вы определите, что большее количество дочерних элементов (включая комментарии и т. д.) может быть включено в полезные данные без каких-либо последствий, измените <ChildCount> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что можете разрешить до 10 дочерних элементов, измените политику XMLThreatProtection следующим образом:

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

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезные данные входного сообщения, указанные элементом <Source> , содержат XML-документ, в котором иерархия узлов превышает число, указанное в элементе <NodeDepth> политики XMLThreatProtection.

Например, если в политике для элемента <NodeDepth> указано значение 4 , но входные полезные данные имеют глубину узла, превышающую 4 , возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышена глубина узла. Например, в следующем сообщении об ошибке имя политики — XML-Threat-Protection-1 , а номер строки в полезных данных — 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. Проверьте неудачную политику XMLThreatProtection (определенную на шаге 1) и обратите внимание на значение, указанное в элементе <NodeDepth> .

    В следующем примере политики XMLThreatProtection <NodeDepth> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, имеет ли указанная там глубина узла большее значение, чем число, указанное в элементе <NodeDepth> (определенном на шаге 2). Если уровень дочерних элементов XML превышает счетчик, это и есть причина ошибки.

    Вот пример входной полезной нагрузки:

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

    Полезная нагрузка XML, показанная выше в строке 6, имеет глубину узла 6 . Поскольку глубина узла превышает 5 (значение, указанное для элемента <NodeDepth> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных с определенным порогом глубины узла, то ожидается сообщение об ошибке. В этом случае дополнительных действий не требуется.

Однако если вы решите, что можно разрешить большую глубину узла, измените <NodeDepth> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что можете разрешить глубину узла до 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>

AttributeCountExceeded

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезные данные входного сообщения, указанные элементом <Source> политики XMLThreatProtection, содержат XML-документ, в котором количество атрибутов одного элемента превышает число, указанное в элементе <AttributeCountPerElement> политики.

Например, если элемент <AttributeCountPerElement> указан как 2 в XMLThreatProtection, но входные полезные данные содержат элемент с более чем двумя атрибутами, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышено количество атрибутов. Например, в следующем сообщении об ошибке имя политики — XMLThreat-Protection-1 , а номер строки в полезных данных — 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. Проверьте ошибочную политику (определенную на шаге 1) и обратите внимание на значение, указанное в элементе <AttributeCountPerElement> .

    В следующем примере политики <AttributeCountPerElement> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, превышает ли количество указанных атрибутов число, указанное в элементе <AttributeCountPerElementh> (определенном на шаге 2). Если количество атрибутов превышает счетчик, это и есть причина ошибки.

    Вот пример входной полезной нагрузки:

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

    Полезная нагрузка XML, показанная выше в строке 3, содержит элемент с тремя атрибутами. Поскольку количество атрибутов больше 2 (значение, указанное для элемента <AttributeCountPerElement> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных, число атрибутов которых превышает определенное, то ожидается сообщение об ошибке. В этом случае дополнительных действий не требуется.

Однако если вы решите, что можно разрешить большее количество атрибутов, измените <AttributeCountPerElement> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что можете разрешить количество атрибутов для каждого элемента до 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>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>

ИмяАтрибутаПревышено

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезные данные входного сообщения, указанные элементом <Source> политики XMLThreatProtection, содержат XML-документ, в котором имя атрибута превышает количество символов, указанное в дочернем элементе <Attribute> элемента <NameLimits> политики.

Например, если в политике для элемента <Attribute> указано значение 5 , но входные полезные данные имеют имя атрибута, содержащее более 5 символов, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышена длина имени атрибута. Например, в следующем сообщении об ошибке имя политики — XML-Threat-Protection-1 , а номер строки в полезных данных — 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. Проверьте ошибочную политику (определенную на шаге 1) и обратите внимание на значение, указанное в элементе <Attribute>

    В следующем примере политики XMLThreatProtection <Attribute> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, содержит ли длина указанного там атрибута больше символов, чем число, указанное в элементе <Attribute> (определенном на шаге 2). Если количество символов превышает значение атрибута, это и есть причина ошибки.

    Вот пример входной полезной нагрузки:

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

    Полезная нагрузка XML, показанная выше в строке 3, имеет два атрибута category и cuisine с длиной имени 8 и 7 символов соответственно . Поскольку длина имени атрибута превышает 5 (значение, указанное для элемента <Attribute> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных, длина которых превышает определенную длину имени атрибута, ожидается сообщение об ошибке. В этом случае дополнительных действий не требуется.

Однако если вы решите, что допустима более длинная длина имени атрибута, измените <Attribute> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что имена атрибутов могут содержать до 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>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

АтрибутЗначениеПревышено

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезная нагрузка входного сообщения, указанная элементом <Source> политики, содержит XML-документ, в котором значение атрибута превышает количество символов, указанное в дочернем элементе <Attribute> элемента <ValueLimits> .

Например, если в политике XMLThreatProtection для элемента <Attribute> указано значение 10 , но входные полезные данные имеют значение атрибута, содержащее более 10 символов, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышено количество атрибутов. Например, в следующем сообщении об ошибке имя политики — XML-Threat-Protection-1 , а номер строки в полезных данных — 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. Изучите ошибочную политику (определенную на шаге 1) и запишите значение, указанное в дочернем элементе <Attribute> элемента <ValueLimits> .

    В следующем примере политики XMLThreatProtection <Attribute> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, содержит ли длина указанного там значения атрибута больше символов, чем число, указанное в элементе <Attribute> (определенном на шаге 2). Если количество символов превышает значение атрибута, это и есть причина ошибки.

    Вот пример входной полезной нагрузки:

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

    Полезная нагрузка XML, показанная выше в строке 3, имеет атрибут (кухня) длиной значения 12 символов. Поскольку длина значения атрибута превышает 10 (значение, указанное для элемента <Attribute> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных, длина которых превышает определенную длину значения атрибута, ожидается сообщение об ошибке. В этом случае дополнительных действий не требуется.

Однако если вы решите, что могут быть разрешены более длинные значения атрибута, измените дочерний элемент <Attribute> элемента <ValueLimits> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что можете присвоить значения длиной до 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>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>

ТекстПревышен

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезная нагрузка входного сообщения, указанная элементом <Source> политики XMLThreatProtection, содержит XML-документ, в котором длина текста элемента превышает количество символов, указанное в дочернем элементе <Text> элемента <ValueLimits> политики. .

Например, если в политике для элемента <Text> указано значение 15 , но входные полезные данные содержат текст длиной более 15 символов, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышено количество атрибутов. Например, в следующем сообщении об ошибке имя политики — XML-Threat-Protection-1 , а номер строки в полезных данных — 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. Изучите ошибочную политику (определенную на шаге 1) и обратите внимание на значение, указанное в дочернем элементе <Text> элемента <ValueLimits> .

    В следующем примере политики XMLThreatProtection для <Text> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, содержит ли длина указанного там значения атрибута больше символов, чем число, указанное в элементе <Text> (определенное на шаге 2). Если количество символов превышает значение атрибута, это и есть причина ошибки.

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

    Полезная нагрузка XML, показанная выше в строке 4, содержит текст длиной 53 символа. Поскольку длина значения атрибута превышает 15 (значение, указанное для элемента <Text> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных, длина которых превышает определенную длину текста, ожидается сообщение об ошибке. В этом случае никаких дополнительных действий не требуется.

Однако если вы решите, что можно использовать более длинный текст, измените дочерний элемент <Text> элемента <ValueLimits> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что значения атрибутов могут иметь длину до 60 символов, измените политику следующим образом:

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

КомментарийПревышен

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезные данные входного сообщения, указанные элементом <Source> политики XMLThreatProtection, содержат документ XML, длина комментария в котором превышает количество символов, указанное в дочернем элементе <Comment> элемента <ValueLimits> политики.

Например, если в политике для элемента <Comment> указано значение 10 , но входные полезные данные содержат комментарий длиной более 10 символов, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышена длина комментария. Например, в следующем сообщении об ошибке имя политики — XML-Threat-Protection-1 , а номер строки в полезных данных — 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. Изучите ошибочную политику (определенную на шаге 1) и обратите внимание на значение, указанное в дочернем элементе <Comment> элемента <ValueLimits> .

    В следующем примере политики XMLThreatProtection <Comment> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, содержит ли длина указанного там комментария больше символов, чем число, указанное в элементе <Comment> (определенном на шаге 2). Если количество символов превышает значение атрибута, это и есть причина ошибки.

    Вот пример входной полезной нагрузки:

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

    Полезная нагрузка XML, показанная выше в строке 2, содержит комментарий длиной 31 символ . Поскольку длина комментария превышает 10 (значение, указанное для элемента <Comment> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных, длина которых превышает определенную длину комментария, ожидается сообщение об ошибке. В этом случае дополнительных действий не требуется.

Однако если вы решите, что можно разрешить более длинный комментарий, измените дочерний элемент <Comment> элемента <ValueLimits> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что можете присвоить значения длиной до 40 символов, измените политику следующим образом:

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

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезная нагрузка входного сообщения, указанная элементом <Source> политики XMLThreatProtection, содержит XML-документ, в котором инструкция обработки данных превышает количество символов, указанное в дочернем элементе <ProcessingInstructionData> элемента <ValueLimits> политики.

Например, если в политике XMLThreatProtection для элемента <ProcessingInstructionData> указано значение 10 , но входные полезные данные содержат инструкцию обработки, содержащую более 10 символов, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышена длина инструкции обработки. Например, в следующем сообщении об ошибке имя политики — XML-Threat-Protection-1 , а номер строки в полезных данных — 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. Изучите ошибочную политику (выявленную на шаге 1) и обратите внимание на значение, указанное в дочернем элементе <ProcessingInstructionData> элемента <ValueLimits> .

    В следующем примере политики XMLThreatProtection <ProcessingInstructionData> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, содержит ли длина указанных там данных инструкции обработки больше символов, чем число, указанное в элементе <ProcessingInstructionData> (определенном на шаге 2). Если количество символов превышает данные инструкции обработки, то это и есть причина ошибки.

    Вот пример входной полезной нагрузки:

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

    Полезная нагрузка XML, показанная выше в строке 1, содержит элемент данных инструкции обработки ( type="text/xsl" href="mobilephones.xsl"?) длиной 40 символов . Поскольку эта длина превышает 30 (значение, указанное для элемента <ProcessingInstructionData> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных, длина которых превышает определенную длину данных инструкции обработки, то ожидается сообщение об ошибке. В этом случае дополнительных действий не требуется.

Однако если вы определите, что можно разрешить более длинные элементы данных инструкций по обработке, измените дочерний элемент <ProcessingInstructionData> элемента <ValueLimits> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что длина инструкций обработки данных может достигать 50 символов, измените политику следующим образом:

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

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезные данные входного сообщения, указанные элементом <Source> политики XMLThreatProtection, содержат XML-документ, в котором цель инструкции процесса превышает количество символов, указанное в дочернем элементе <ProcessingInstructionTarget> элемента <NameLimits> политики.

Например, если в политике XMLThreatProtection для элемента <ProcessingInstructionTarget> указано значение 10 , но входные полезные данные содержат целевую инструкцию процесса, содержащую более 10 символов, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышено количество целевых инструкций обработки. Например, в следующем сообщении об ошибке имя политики — XML-Threat-Protection-1 , а номер строки в полезных данных — 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. Изучите неудачную политику XMLThreatProtection (определенную на шаге 1) и обратите внимание на значение, указанное в дочернем элементе <ProcessingInstructionTarget> элемента <NameLimits .

    В следующем примере политики XMLThreatProtection <ProcessingInstructionTarget> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, содержит ли длина указанной там целевой инструкции обработки больше символов, чем число, указанное в элементе <ProcessingInstructionTarget> (определенном на шаге 2). Если количество символов превышает целевой предел размера, это и есть причина ошибки.

    Вот пример входной полезной нагрузки:

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

    Полезная нагрузка XML, показанная выше в строке 2, имеет целевое имя инструкции обработки « xml-stylesheet" длиной 14 символов. Поскольку имя целевого объекта инструкции обработки превышает 10 (значение, указанное для элемента <ProcessingInstructionTarget> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных, которые превышают целевую длину определенной инструкции процесса, то ожидается сообщение об ошибке. В этом случае дополнительных действий не требуется.

Однако если вы определите, что цель инструкции процесса может быть длиннее, измените дочерний элемент <ProcessingInstructionTarget> элемента <NameLimits> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что целевые инструкции процесса могут иметь длину до 25 символов, измените политику следующим образом:

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

НСУРИПревышено

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезная нагрузка входного сообщения, указанная элементом <Source> политики XMLThreatProtection, содержит документ XML, в котором URI пространства имен превышает количество символов, указанное в дочернем элементе <NamespaceURI> элемента <ValueLimits> политики.

Например, если в политике для элемента <NamespaceURI> указано значение 10 , но входные полезные данные имеют URI пространства имен, содержащий более 10 символов, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышена длина URI пространства имен. Например, в следующем сообщении об ошибке имя политики — XML-Threat-Protection-1 , а номер строки в полезных данных — 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. Изучите ошибочную политику (определенную на шаге 1) и обратите внимание на значение, указанное в дочернем элементе <NamespaceURI> элемента <ValueLimits .

    В следующем примере политики XMLThreatProtection <NamespaceURI> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, содержит ли длина указанного там URI пространства имен больше символов, чем число, указанное в элементе <NamespaceURI> (определенном на шаге 2). Если количество символов превышает длину URI пространства имен, это и есть причина ошибки.

    Вот пример входной полезной нагрузки:

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

    Полезная нагрузка XML, показанная выше в строке 2, имеет URI пространства имен www.google.com/profile длиной 22 символа. Поскольку длина URI пространства имен превышает 10 (значение, указанное для элемента <NamespaceURI> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных, длина которых превышает определенную длину URI пространства имен, то ожидается сообщение об ошибке. В этом случае дополнительных действий не требуется.

Однако если вы решите, что можно разрешить более длинный URI пространства имен, измените дочерний элемент <NamespaceURI> элемента <ValueLimits> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что длина URI пространства имен может достигать 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>30</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

NSPrefixExceeded

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезные данные входного сообщения, указанные элементом <Source> , содержат документ XML, в котором префикс пространства имен превышает количество символов, указанное в дочернем элементе <NamespacePrefix> элемента <NameLimits> политики.

Например, если в политике XMLThreatProtection для элемента <NamespacePrefix> указано значение 10 , но входные полезные данные имеют префикс пространства имен, содержащий более 10 символов, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышена длина префикса URI пространства имен. Например, в следующем сообщении об ошибке имя политики — XML-Threat-Protection-1 , а номер строки в полезных данных — 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. Изучите ошибочную политику (определенную на шаге 1) и обратите внимание на значение, указанное в дочернем элементе <NamespacePrefix> элемента <NameLimits .

    В следующем примере политики XMLThreatProtection <NamespacePrefix> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, содержит ли длина указанного там префикса пространства имен больше символов, чем число, указанное в элементе <NamespacePrefix> (определенном на шаге 2). Если количество символов превышает предел префикса пространства имен, это и есть причина ошибки.

    Вот пример входной полезной нагрузки:

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

    Полезная нагрузка XML, показанная выше в строке 2, имеет префикс пространства имен userprofile длиной 11 символов. Поскольку длина префикса URI пространства имен превышает 10 (значение, указанное для элемента <NamespacePrefix> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных, длина которых превышает определенную длину префикса URI пространства имен, то ожидается сообщение об ошибке. В этом случае никаких дополнительных действий не требуется.

Однако если вы решите, что можно разрешить более длинный префикс URI пространства имен, измените дочерний элемент <NamespacePrefix> элемента <NameLimits> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что длина префикса URI пространства имен может достигать 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>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>

НСКаунтекссеедед

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезная нагрузка входного сообщения, указанная элементом <Source> политики XMLThreatProtection, содержит документ XML, в котором количество пространств имен, используемых в одном элементе, превышает число, указанное в дочернем элементе <NamespaceCountPerElement> элемента <StructureLimits> элемента политика.

Например, если в политике для элемента <NamespaceCountPerElement> указано значение 3 , но входные полезные данные содержат элемент с более чем тремя пространствами имен, возникает эта ошибка.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики XMLThreatProtection и номер строки, в которой превышено количество пространств имен. Например, в следующем сообщении об ошибке имя политики — XMLThreat-Protection-1 , а номер строки в полезных данных — 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. Изучите ошибочную политику (определенную на шаге 1) и обратите внимание на значение, указанное в дочернем элементе <NamespaceCountPerElement> элемента <StructureLimits .

    В следующем примере политики XMLThreatProtection <NamespaceCountPerElement> установлено значение 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. Проверьте конкретный номер строки (определенный на шаге 1) входных полезных данных и проверьте, превышает ли количество пространств имен, указанных там для одного элемента, число, указанное в элементе <NamespaceCountPerElement> (определенном на шаге 2). Если количество пространств имен превышает ограничение количества пространств имен на элемент, это и есть причина ошибки.

    Вот пример входной полезной нагрузки:

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

    Полезная нагрузка XML, показанная выше в строке 2, имеет более трех пространств имен. Поскольку количество пространств имен превышает 3 (значение, указанное для элемента <NamespaceCountPerElement> ), вы получаете следующую ошибку:

    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)
    

Разрешение

Если политика XMLThreatProtection предназначена для защиты от полезных данных, которые превышают определенное количество пространств имен в одном элементе, то ожидается сообщение об ошибке. В этом случае никаких дополнительных действий не требуется.

Однако если вы решите, что можно разрешить большее количество пространств имен, измените дочерний элемент <NamespaceCountPerElement> элемента <StructureLimits> на подходящее значение в соответствии с вашими требованиями.

Например, если вы считаете, что в одном элементе может быть до 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>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>

Неверная XML-полезная нагрузка

Код ошибки

steps.xmlthreatprotection.ExecutionFailed

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если полезная нагрузка входного сообщения, указанная элементом <Source> политики XMLProtectionPolicy, не является допустимым XML-документом.

Диагностика

  1. Изучите сообщение об ошибке, чтобы определить имя политики, в которой произошла ошибка. В следующем примере имя политики — XML-Threat-Protection-1 .

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: Syntax error while parsing XML prologue
    
  2. Проверьте входные полезные данные и проверьте, действительно ли XML-документ, переданный в полезных данных, является правильно сформированным XML-документом или нет.

    Вот пример входной полезной нагрузки:

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

    В полезных данных XML, показанных выше, строка 9 неправильно закрывает корневой элемент, поскольку / отсутствует. Поскольку это неправильно сформированный XML, вы получаете ошибку:

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

Разрешение

Убедитесь, что действительные входные полезные данные XML передаются любому прокси-серверу API, который включает политику XMLThreatProtection.

Чтобы исправить ошибку примера, описанную выше, измените входные полезные данные XML следующим образом:

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

ИсточникНедоступен

Код ошибки

steps.xmlthreatprotection.SourceUnavailable

Тело ответа об ошибке

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

Пример тела ответа об ошибке

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

Причина

Эта ошибка возникает, если переменная сообщения , указанная в элементе <Source> политики XMLThreatProtection, имеет одно из следующих значений:

  • Вне области действия (недоступно в конкретном потоке, в котором выполняется политика)
  • Не является одним из допустимых значений request , response или message

Например, эта ошибка возникает, если для элемента <Source> в политике задана переменная, которая не существует в потоке, в котором выполняется политика.

Диагностика

  1. Определите имя политики XMLThreatProtection и имя переменной Source из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики XMLThreatProtection — XML-Threat-Protection-1 , а переменная Source — requests:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    
  2. Изучите неудачную политику XMLThreatProtection и проверьте значение, указанное для элемента <Source> , указанного на шаге 1.

    В следующем примере политики XMLTHRETProtection элемент <Source> устанавливается на 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>
    

    Допустимыми значениями для элемента <Source> являются request , response или message. Поскольку requests не являются допустимым значением и не существуют в потоке, где выполняется политика, вы получаете ошибку:

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

Разрешение

Убедитесь, что переменная, установленная в элементе <Source> неудачной политики XMLTHREATProtection, установлена ​​на request , response или message и существует в потоке, где выполняется политика.

Чтобы исправить пример политики, показанного выше, вы можете изменить элемент <Source> для использования request переменная, потому что она существует в потоке запросов:

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

Несоответствующий

Код ошибки

steps.xmlthreatprotection.NonMessageVariable

Тело ответа об ошибке

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

Пример тела ответа на ошибку

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

Причина

Эта ошибка возникает, если элемент <Source> в политике XMLThReatProtection устанавливается на переменную, которая не имеет сообщения типа.

Переменные типа сообщения представляют целые HTTP -запросы и ответы. Встроенный request переменных потока края апигей, response и message типа. Чтобы узнать больше о переменных сообщениях, см. Ссылку переменных .

Диагностика

  1. Определите имя переменной, которая решает тип сообщения переменной из сообщения об ошибке. Например, в следующем сообщении об ошибке имя переменной - это message.content

    Variable message.content does not resolve to a Message
    
  2. Изучите все политики XMLTHreadProtection в прокси -сервере API, где произошел сбой, и определите конкретную политику XMLThreadProtection, где элемент <Source> указан с именем переменной, идентифицированным на шаге 1 выше.

    В следующем примере политики XMLTHREATPROTECTION <Source> устанавливается на 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>
    

    Поскольку message.content не имеет сообщения типа, вы получаете ошибку:

    Variable message.content does not resolve to a Message
    

Разрешение

Убедитесь, что элемент <Source> в неудачной политике XMLTHREATProtection устанавливается на переменную потока типа сообщения , которая существует в потоке, где выполняется политика.

Чтобы исправить политику, вы можете изменить элемент <Source> , чтобы указать переменную, которая имеет сообщение типа. Например, в неудачной XMLTHREATProtection вы можете указать элемент <Source> как 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>