Apigee Edge 문서입니다.
Apigee X 문서. 정보
ExecutionFailed
오류 코드
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 오류를 발생시킬 수 있습니다. 아래 표에는 다양한 오류 유형과 가능한 원인이 나와 있습니다.
오류 | 원인 |
ElementNameExceeded | XML 태그에 허용되는 최대 문자열 길이를 초과했습니다. |
ChildCountExceeded | XML 페이로드에 허용되는 하위 요소의 최대 개수를 초과했습니다. |
NodeDepthExceeded | XML 페이로드에 허용되는 XML 요소의 최대 깊이가 초과되었습니다. |
AttributeCountExceeded | 단일 요소의 최대 속성 수를 초과했습니다. |
AttributeNameExceeded | 속성 이름에 허용되는 최대 길이를 초과했습니다. |
AttributeValueExceeded | 속성 값에 허용되는 최대 길이를 초과했습니다. |
TextExceeded | 텍스트에 허용되는 최대 길이를 초과했습니다. |
CommentExceeded | 주석에 허용된 최대 길이를 초과했습니다. |
PIDataExceeded | 허용되는 처리 안내 데이터 길이를 초과했습니다. |
PITargetExceeded | 프로세스 안내 이름 길이를 초과되었습니다. |
NSURIExceeded | 네임스페이스 URL 길이를 초과했습니다. |
NSPrefixExceeded | 네임스페이스 프리픽스 길이를 초과했습니다. |
NSCountExceeded | 단일 요소에 사용되는 네임스페이스 수가 초과되었습니다. |
잘못된 XML 페이로드 | 입력 XML 페이로드가 잘못되었습니다. |
ElementNameExceeded
오류 코드
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>
요소에서 지정된 입력 페이로드에 <NameLimits>
요소 아래의 <Element>
요소에 지정된 최대 길이를 초과하는 XML 요소가 포함된 경우에 발생합니다.
예를 들어 XML ThreatProtection 정책에서 <Element>
요소가 5
로 지정되었지만 입력 페이로드에 5자보다 많은 요소가 있는 경우 이 오류가 발생합니다.
진단
오류 메시지를 검토하여 요소 길이가 초과된 입력 페이로드에서 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)
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>
입력 페이로드의 특정 행 번호(1단계에서 확인됨)를 검토하고 해당 행의 요소가
<Element>
요소에 지정된 값(2단계에서 확인됨)보다 큰지 확인합니다. 요소의 길이가 이 값을 초과하면 이것이 오류의 원인입니다.다음은 입력 페이로드의 예입니다.
<company> <name>Google</name> <country>USA</country> </company>
위에 표시된 XML 페이로드의 1행에 7자로 된
company
라는 루트 요소가 있습니다. 요소의 길이가 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>
요소에서 지정한 입력 메시지 페이로드에 정책의 <ChildCount>
요소에 지정된 값보다 더 많은 하위 요소가 있는 XML 요소가 포함된 경우에 발생합니다.
예를 들어 <ChildCount>
요소가 3개지만 입력 XML 페이로드에 하위 요소가 3개 넘게 있는 요소가 있으면 이 오류가 발생합니다.
진단
오류 메시지를 검토하여 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)"
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>
입력 페이로드의 특정 행 번호(1단계에서 확인됨)를 살펴보고 페이로드의 하위 요소(모든 주석 등 포함)가
<ChildCount>
요소에 지정된 값(2단계에서 확인됨)보다 큰지 확인합니다. 하위 요소의 개수가 하위 요소 수를 초과하는 경우 오류의 원인이 됩니다.다음은 입력 페이로드의 예입니다.
<movie> <title>Jurassic Park</title> <language>English</language> <country>USA</country> <director>Steven Spielberg</director> </movie>
위에 표시된 XML 페이로드에서 5행에 루트 요소
<movie>
의 네 번째 하위 요소<director>
가 포함되어 있습니다. 입력 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>
요소에서 지정된 입력 메시지 페이로드에 노드 계층이 XMLThreatProtection 정책의 <NodeDepth>
요소에 지정된 수를 초과하는 XML 문서가 포함된 경우에 발생합니다.
예를 들어 정책에서 <NodeDepth>
요소가 4
로 지정되었지만 입력 페이로드의 노드 깊이가 4
를 초과하면 이 오류가 발생합니다.
진단
오류 메시지를 검토하여 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)
1단계에서 확인된 실패한 XMLThreatProtection 정책을 검토하고
<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>
입력 페이로드의 특정 행 번호(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>
위의 6행에 표시된 XML 페이로드의 노드 깊이는 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"
}
}
}
원인
이 오류는 XMLThreatProtection 정책의 <Source>
요소에서 지정한 입력 메시지 페이로드에 단일 요소의 속성 수가 정책의 <AttributeCountPerElement>
요소에 지정된 수를 초과하는 XML 문서를 포함할 때 발생합니다.
예를 들어 XMLThreatProtection 정책에서
<AttributeCountPerElement>
요소가 2
로 지정되었지만 입력 페이로드에 속성이 2개를 초과하는 요소가 있는 경우 이 오류가 발생합니다.
진단
오류 메시지를 검토하여 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)
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>
입력 페이로드의 특정 행 번호(1단계에서 확인됨)를 검토하고 지정된 속성 수가 2단계에서 확인된
<AttributeCountPerElementh>
요소에 지정된 수를 초과하는지 확인합니다. 속성 수가 개수를 초과하면 오류의 원인입니다.다음은 입력 페이로드의 예입니다.
<?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>
위의 3행에 표시된 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>
AttributeNameExceeded
오류 코드
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"
}
}
}
원인
이 오류는 XML ThreatProtection 정책의 <Source>
요소에서 지정된 입력 메시지 페이로드에 속성 이름이 정책 <NameLimits>
요소의 <Attribute>
하위 요소에 지정된 문자 수를 초과하는 XML 문서가 포함된 경우에 발생합니다.
예를 들어 정책에서 <Attribute>
요소가 5
로 지정되었지만 입력 페이로드의 속성 이름이 5자를 초과하면 이 오류가 발생합니다.
진단
오류 메시지를 검토하여 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)
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>
입력 페이로드의 특정 행 번호(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>
위의 3행에 표시된 XML 페이로드에는 각각 이름 길이가 8자 및 7자인 두 개의 속성
category
및cuisine
이 있습니다.
속성 이름 길이가 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>
AttributeValueExceeded
오류 코드
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>
요소에서 지정된 입력 메시지 페이로드에 속성 값이 <ValueLimits>
요소의 <Attribute>
하위 요소에 지정된 문자 수를 초과하는 XML 문서를 포함하는 경우에 발생합니다.
예를 들어 XMLThreatProtection 정책에서 <Attribute>
요소가 10
으로 지정되었지만 입력 페이로드의 속성 값이 10자를 초과하면 이 오류가 발생합니다.
진단
오류 메시지를 검토하여 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)
1단계에서 확인된 실패한 정책을 검토하고
<ValueLimits>
요소의<Attribute>
하위 요소에 지정된 값을 확인합니다.다음 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>
입력 페이로드의 특정 행 번호(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>
위의 3행에 표시된 XML 페이로드에는 속성 길이가 12자인 속성(cuisine)이 있습니다. 속성 값 길이가 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 정책이 특정 속성 값 길이를 초과하는 페이로드로부터 보호하려는 경우 오류 메시지가 표시됩니다. 이 경우에는 추가 작업이 필요하지 않습니다.
그러나 긴 속성 값을 허용할 수 있다고 판단할 경우 <ValueLimits>
요소의 <Attribute>
하위 요소를 요구사항에 따라 적절한 값으로 수정합니다.
예를 들어 최대 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>
TextExceeded
오류 코드
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"
}
}
원인
이 오류는 XMLThreatProtection 정책의 <Source>
에서 지정한 입력 메시지 페이로드에 요소에 텍스트 길이가 <ValueLimits>
요소의 <Text>
하위 요소에 지정된 문자 수를 초과하는 XML 문서가 포함된 경우에 발생합니다. 하세요.
예를 들어 정책에서 <Text>
요소가 15
로 지정되었지만 입력 페이로드의 텍스트가 15자를 초과하면 이 오류가 발생합니다.
진단
오류 메시지를 검토하여 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)
1단계에서 확인된 실패한 정책을 검토하고
<ValueLimits>
요소의<Text>
하위 요소에 지정된 값을 확인합니다.다음 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>
입력 페이로드의 특정 행 번호(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>
위의 4행에 표시된 XML 페이로드에는 길이가 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 정책이 특정 텍스트 길이를 초과하는 페이로드로부터 보호하려는 경우 오류 메시지가 표시됩니다. 이 경우에는 추가 작업이 필요하지 않습니다.
그러나 긴 텍스트 길이를 허용할 수 있다고 판단할 경우 <ValueLimits>
요소의 <Text>
하위 요소를 요구사항에 따라 적절한 값으로 수정합니다.
예를 들어 최대 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>
CommentExceeded
오류 코드
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"
}
}
}
원인
이 오류는 XML ThreatProtection 정책의 <Source>
요소에서 지정된 입력 메시지 페이로드에 주석 길이가 정책 <ValueLimits>
요소의 <Comment>
하위 요소에 지정된 문자 수를 초과하는 XML 문서가 포함된 경우에 발생합니다.
예를 들어 정책에서 <Comment>
요소가 10
으로 지정되었지만 입력 페이로드의 주석이 10자(영문 기준)를 초과하는 경우 이 오류가 발생합니다.
진단
오류 메시지를 검토하여 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)
1단계에서 확인된 실패한 정책을 검토하고
<ValueLimits>
요소의<Comment>
하위 요소에 지정된 값을 확인합니다.다음 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>
입력 페이로드의 특정 행 번호(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>
위의 2행에 표시된 XML 페이로드의 주석 값은 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 정책이 특정 주석 길이를 초과하는 페이로드로부터 보호하려는 경우 오류 메시지가 표시됩니다. 이 경우에는 추가 작업이 필요하지 않습니다.
하지만 더 긴 주석을 허용할 수 있다고 판단되면 요구사항에 따라 <ValueLimits>
요소의 <Comment>
하위 요소를 적절한 값으로 수정합니다.
예를 들어 최대 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"
}
}
}
원인
이 오류는 XML ThreatProtection 정책의 <Source>
요소에서 지정된 입력 메시지 페이로드에 처리 데이터 명령이 정책의 <ValueLimits>
요소의 <ProcessingInstructionData>
하위 요소에 지정된 문자 수를 초과하는 XML 문서가 포함된 경우에 발생합니다.
예를 들어 XMLThreatProtection 정책에서 <ProcessingInstructionData>
요소가 10
으로 지정되었지만 입력 페이로드의 처리 명령이 10자보다 긴 경우, 이 오류가 발생합니다.
진단
오류 메시지를 검토하여 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)
1단계에서 확인된 실패한 정책을 검토하고
<ValueLimits>
요소의<ProcessingInstructionData>
하위 요소에 지정된 값을 확인합니다.다음 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>
입력 페이로드의 특정 행 번호(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>
위의 1행에 표시된 XML 페이로드에는 길이가 40자인 처리 명령 데이터 요소(
type="text/xsl" href="mobilephones.xsl"?)
가 있습니다.
이 길이는 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 정책이 특정 처리 명령 데이터 길이를 초과하는 페이로드로부터 보호하려는 경우 오류 메시지가 표시됩니다. 이 경우에는 추가 작업이 필요하지 않습니다.
그러나 더 긴 처리 명령 데이터 요소를 허용할 수 있다고 판단되면 <ValueLimits>
요소의 <ProcessingInstructionData>
하위 요소를 요구사항에 따라 적절한 값으로 수정합니다.
예를 들어 데이터 처리 명령의 길이를 최대 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"
}
}
}
원인
이 오류는 XML ThreatProtection 정책의 <Source>
요소에서 지정된 입력 메시지 페이로드에 처리 명령 대상이 정책의 <NameLimits>
요소의 <ProcessingInstructionTarget>
하위 요소에 지정된 문자 수를 초과하는 XML 문서가 포함된 경우에 발생합니다.
예를 들어 XMLThreatProtection 정책에서 <ProcessingInstructionTarget>
요소가 10
으로 지정되었지만 입력 페이로드에 10자(영문 기준)를 넘는 처리 명령 대상이 있으면 이 오류가 발생합니다.
진단
오류 메시지를 검토하여 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)
실패한 XMLThreatProtection 정책(1단계에서 확인됨)을 검토하고
<NameLimits
> 요소의<ProcessingInstructionTarget>
하위 요소에 지정된 값을 확인합니다.다음 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>
입력 페이로드의 특정 행 번호(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>
위의 2행에 표시된 XML 페이로드에는 길이가 14자인 처리 명령 대상 이름 '
xml-stylesheet"
'가 있습니다. 처리 명령 대상 이름이 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 정책이 특정 처리 명령 대상 길이를 초과하는 페이로드로부터 보호하려는 경우 오류 메시지가 표시됩니다. 이 경우에는 추가 작업이 필요하지 않습니다.
그러나 처리 명령 대상을 더 길게 할 수 있다고 판단되는 경우에는 <NameLimits>
요소의 <ProcessingInstructionTarget>
하위 요소를 요구사항에 따라 적절한 값으로 수정합니다.
예를 들어 최대 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>
NSURIExceeded
오류 코드
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"
}
}
}
원인
이 오류는 XML ThreatProtection 정책의 <Source>
요소에서 지정된 입력 메시지 페이로드에 네임스페이스 URI가 정책의 <ValueLimits>
요소의 <NamespaceURI>
하위 요소에 지정된 문자 수를 초과하는 XML 문서가 포함된 경우에 발생합니다.
예를 들어 정책에서 <NamespaceURI>
요소가 10
으로 지정되었지만 입력 페이로드의 네임스페이스 URI가 10자(영문 기준)를 초과하면 이 오류가 발생합니다.
진단
오류 메시지를 검토하여 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)
1단계에서 확인된 실패한 정책을 검토하고
<ValueLimits
> 요소의<NamespaceURI>
하위 요소에 지정된 값을 확인합니다.다음 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>
입력 페이로드의 특정 행 번호(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>
위의 2행에 표시된 XML 페이로드에는 길이가 22자인 네임스페이스 URI www.google.com/profile이 있습니다. 네임스페이스 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를 허용할 수 있다고 판단되면 요구사항에 따라 <ValueLimits>
요소의 <NamespaceURI>
하위 요소를 적절한 값으로 수정합니다.
예를 들어 네임스페이스 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>
요소에서 지정된 입력 메시지 페이로드에 네임스페이스 프리픽스가 <NameLimits>
요소의 <NamespacePrefix>
하위 요소에 지정된 문자 수를 초과하는 XML 문서가 포함된 경우에 발생합니다.
예를 들어 XMLThreatProtection 정책에서 <NamespacePrefix>
요소가 10
으로 지정되었지만 입력 페이로드의 네임스페이스 프리픽스가 10자보다 긴 경우, 이 오류가 발생합니다.
진단
오류 메시지를 검사하여 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)
1단계에서 확인된 실패한 정책을 검토하고
<NameLimits
> 요소의<NamespacePrefix>
하위 요소에 지정된 값을 확인합니다.다음 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>
입력 페이로드의 특정 행 번호(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>
위의 2행에 표시된 XML 페이로드에는 11자 길이의 네임스페이스 프리픽스
userprofile
이 있습니다. 네임스페이스 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 프리픽스를 허용할 수 있다고 판단되면 요구사항에 따라 <NameLimits>
요소의 <NamespacePrefix>
하위 요소를 적절한 값으로 수정합니다.
예를 들어 네임스페이스 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>
NSCountExceeded
오류 코드
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"
}
}
}
원인
이 오류는 XMLThreatProtection 정책의 <Source>
요소에 지정된 입력 메시지 페이로드에 단일 요소에 사용된 네임스페이스의 수가 정책의 <StructureLimits>
요소의 <NamespaceCountPerElement>
하위 요소에 지정된 수를 초과하는 XML 문서가 포함된 경우에 발생합니다.
예를 들어 정책에서 <NamespaceCountPerElement>
요소가 3
으로 지정되었지만 입력 페이로드에 네임스페이스가 3개 넘게 있는 요소가 있으면 이 오류가 발생합니다.
진단
오류 메시지를 검사하여 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)
1단계에서 확인된 실패한 정책을 검토하고
<StructureLimits
> 요소의<NamespaceCountPerElement>
하위 요소에 지정된 값을 확인합니다.다음 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>
입력 페이로드의 특정 행 번호(1단계에서 확인됨)를 검토하고 단일 요소에 지정된 네임스페이스 수가 2단계에서 확인된
<NamespaceCountPerElement>
요소보다 큰지 확인합니다. 네임스페이스 수가 요소 한도당 네임스페이스 수를 초과하는 경우 오류의 원인이 됩니다.다음은 입력 페이로드의 예입니다.
<?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>
위의 2행에 표시된 XML 페이로드에는 네임스페이스가 3개 넘게 있습니다. 네임스페이스 수가 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 정책이 단일 요소의 특정 네임스페이스 수를 초과하는 페이로드로부터 보호하기 위한 것이라면 오류 메시지가 발생할 수 있습니다. 이 경우에는 추가 작업이 필요하지 않습니다.
하지만 더 많은 네임스페이스를 허용할 수 있다고 판단되면 요구사항에 따라 <StructureLimits>
요소의 <NamespaceCountPerElement>
하위 요소를 요구사항에 따라 적절한 값으로 수정합니다.
예를 들어 단일 요소에 최대 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>
InvalidXMLPayload
오류 코드
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"
}
}
}
원인
이 오류는 XMLProtectionPolicy 정책의 <Source>
요소에서 지정한 입력 메시지 페이로드가 유효한 XML 문서가 아닌 경우 발생합니다.
진단
오류 메시지를 검토하여 오류가 발생한 정책 이름을 확인합니다. 다음 예시에서 정책 이름은
XML-Threat-Protection-1
입니다.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologue
입력 페이로드를 검사하고 페이로드로 전달된 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 페이로드가 XMLThreatProtection 정책이 포함된 API 프록시로 전달되는지 확인합니다.
위에 설명된 오류 예시를 수정하려면 다음과 같이 입력 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>
SourceUnavailable
오류 코드
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"
}
}
}
원인
이 오류는 XMLThreatProtection 정책의 <Source>
요소에 지정된 message 변수가 다음 중 하나일 때 발생합니다.
- 범위를 벗어난 경우(정책이 실행 중인 특정 흐름에서 사용할 수 없음)
- 유효한 값
request
,response
또는message
중 하나가 아님
예를 들어 정책의 <Source>
요소가 정책이 실행되는 흐름에 존재하지 않는 변수로 설정된 경우 이 오류가 발생합니다.
진단
XMLThreatProtection 정책 이름 및 오류 메시지에서 소스 변수 이름을 식별합니다. 예를 들어 다음 오류 메시지에서 XMLThreatProtection 정책 이름은
XML-Threat-Protection-1
이고 소스 변수는requests:
입니다.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests is not available
실패한 XMLThreatProtection 정책을 검토하고 1단계에서 확인된
<Source>
요소에 지정된 값을 확인합니다.다음 XMLThreatProtection 정책 예시에서는
<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
해결 방법
실패한 XMLThreatProtection 정책의 <Source>
요소에 설정된 변수가 request
, response
또는 message
로 설정되어 있으며 정책이 실행되는 흐름에서 존재해야 합니다.
위에 나온 정책 예시를 수정하려면 request
변수를 사용하도록 <Source>
요소를 수정하면 됩니다. 이는 요청 흐름에 존재하기 때문입니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
<DisplayName>XML Threat Protection-1</DisplayName>
<Properties/>
<NameLimits>
<Element>10</Element>
<Attribute>10</Attribute>
<NamespacePrefix>10</NamespacePrefix>
<ProcessingInstructionTarget>10</ProcessingInstructionTarget>
</NameLimits>
<Source>request</Source>
<StructureLimits>
<NodeDepth>10</NodeDepth>
<AttributeCountPerElement>5</AttributeCountPerElement>
<NamespaceCountPerElement>3</NamespaceCountPerElement>
<ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
</StructureLimits>
<ValueLimits>
<Text>20</Text>
<Attribute>15</Attribute>
<NamespaceURI>40</NamespaceURI>
<Comment>10</Comment>
<ProcessingInstructionData>30</ProcessingInstructionData>
</ValueLimits>
</XMLThreatProtection>
NonMessageVariable
오류 코드
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"
}
}
}
원인
이 오류는 XMLThreatProtection 정책의 <Source>
요소가 Message 유형이 아닌 변수로 설정된 경우 발생합니다.
메시지 유형 변수는 전체 HTTP 요청 및 응답을 나타냅니다. 기본 제공되는 Apigee Edge 흐름 변수 request
, response
, message
는 메시지 유형입니다. message 변수에 대한 자세한 내용은 변수 참조를 확인하세요.
진단
오류 메시지에서 변수 메시지 유형으로 확인되는 변수의 이름을 식별합니다. 예를 들어 다음 오류 메시지에서 변수 이름은
message.content
입니다.Variable message.content does not resolve to a Message
오류가 발생한 API 프록시의 모든 XMLThreadProtection 정책을 검토하고 위 1단계에서 확인된 변수 이름으로
<Source>
요소가 지정된 특정 XMLThreadProtection 정책을 확인합니다.다음 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
해결 방법
실패한 XMLThreatProtection 정책의 <Source>
요소가 정책이 실행되는 흐름에 있는 Message 유형 흐름 변수로 설정되어 있는지 확인합니다.
정책을 수정하려면 <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>