Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
ExecutionFailed
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Typy błędów i ich możliwe przyczyny
Zasada XMLThreatProtection może zgłaszać wiele różnych typów błędów ExecutionFailed. Tabela poniżej zawiera opis różnych typów błędów i ich możliwych przyczyn:
Błąd | Przyczyna |
ElementNameExceeded | Przekroczono maksymalną długość ciągu znaków w tagu XML. |
ChildCountExceeded | Przekroczona została maksymalna dozwolona liczba elementów podrzędnych w ładunku XML. |
NodeDepthExceeded | Przekroczono maksymalną głębokość elementów XML w ładunku XML. |
AttributeCountExceeded | Przekroczono maksymalną liczbę atrybutów w jednym elemencie. |
AttributeNameExceeded | Przekroczono maksymalną długość nazwy atrybutu. |
AttributeValueExceeded | Przekroczono maksymalną długość wartości atrybutu. |
TextExceeded | Przekroczono maksymalną długość tekstu. |
CommentExceeded | Przekroczono maksymalną długość komentarza. |
PIDataExceeded | Przekroczono dozwoloną długość danych instrukcji przetwarzania. |
PITargetExceeded | Przekroczono długość nazwy w instrukcji procesu. |
NSURIExceeded | Przekroczono długość adresu URL przestrzeni nazw. |
NSPrefixExceeded | Przekroczono długość prefiksu przestrzeni nazw. |
NSCountExceeded | Liczba przestrzeni nazw używanych w jednym elemencie została przekroczona. |
Nieprawidłowy ładunek XML | Wejściowy ładunek XML jest nieprawidłowy. |
ElementNameExceeded
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
Ruch środowiska wykonawczego zwraca kod odpowiedzi 500 z tym błędem:
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli ładunek wejściowy określony przez element <Source>
zasady zawiera elementy XML, które przekraczają maksymalną długość podaną w elemencie <Element>
pod elementem <NameLimits>
.
Jeśli na przykład element <Element>
jest określony jako 5
w zasadzie XMLThreatProtection, ale ładunek wejściowy zawiera element, który ma więcej niż 5 znaków, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection, numer wiersza i możliwy numer znaku w ładunku wejściowym, w którym przekroczono długość elementu.
Na przykład w poniższym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1,
numer wiersza w ładunku to1
, a możliwy numer znaku to „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)
Sprawdź nieudane zasady (określone w kroku 1) i zanotuj wartość podaną w elemencie
<Element>
.Na przykład w następującej zasadzie XMLThreatProtection
<Element>
ma wartość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>
Sprawdź numer konkretnego wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy długość elementu w tym wierszu jest większa niż wartość określona dla elementu
<Element>
(określona w kroku 2). Jeśli długość elementu przekracza tę wartość, to jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<company> <name>Google</name> <country>USA</country> </company>
Przedstawiony powyżej ładunek XML zawiera element główny o nazwie
company
w wierszu 1, który ma 7 znaków. Długość elementu przekracza 5 (czyli wartość określona dla elementu<Element>
), więc pojawia się ten błąd: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)
Rozdzielczość
Jeśli zasada XMLThreadProtection ma na celu ochronę przed ładunkami z nazwami elementów, które przekraczają zdefiniowaną wartość, pojawia się komunikat o błędzie. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że w ładunku można bez żadnych konsekwencji określić dłuższe elementy, zmodyfikuj atrybut <Element>
do odpowiedniej wartości na podstawie własnych wymagań.
Jeśli na przykład uważasz, że dozwolone są elementy o długości do 10 elementów, zmodyfikuj zasadę XMLThreatProtection w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli ładunek komunikatu wejściowego określony przez element <Source>
zawiera element XML zawierający więcej elementów podrzędnych niż wartość określona w elemencie <ChildCount>
zasady.
Jeśli np. element <ChildCount>
ma wartość 3, ale wejściowy ładunek XML zawiera element zawierający więcej niż 3 elementy podrzędne, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono liczbę wpisów. Na przykład w tym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1
, a numer wiersza w ładunku to5
: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)"
Sprawdź nieudane zasady (określone w kroku 1) i zanotuj wartość podaną w elemencie
<ChildCount>
.W poniższym przykładzie zasady
<ChildCount>
ma wartość3
(pamiętaj, że do tego limitu wliczają się komentarze, elementy itd.):<?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>
Sprawdź numer konkretnego wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy liczba elementów podrzędnych (w tym wszystkich komentarzy itp.) w ładunku jest większa niż wartość określona dla elementu
<ChildCount>
(określona w kroku 2). Jeśli liczba elementów podrzędnych przekracza liczbę elementów podrzędnych, to jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<movie> <title>Jurassic Park</title> <language>English</language> <country>USA</country> <director>Steven Spielberg</director> </movie>
W pokazanym powyżej ładunku XML wiersz 5 zawiera czwarty element podrzędny
<director>
elementu głównego<movie>
. Ponieważ liczba elementów podrzędnych w wejściowym ładunku XML jest większa niż 3 (wartość określona dla elementu<ChildCount>
), pojawia się ten błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami z elementami podrzędnymi, które przekraczają określony próg, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że bez żadnych konsekwencji można uwzględnić w ładunku większą liczbę elementów podrzędnych (w tym komentarzy itp.), zmień <ChildCount>
na odpowiednią wartość zgodnie ze swoimi wymaganiami.
Jeśli na przykład uważasz, że możesz zezwolić na maksymalnie 10 elementów podrzędnych, zmodyfikuj zasadę XMLThreatProtection w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli ładunek komunikatu wejściowego określony przez element <Source>
zawiera dokument XML, w którym hierarchia węzłów przekracza liczbę określoną w elemencie <NodeDepth>
w zasadzie XMLThreatProtection.
Jeśli na przykład element <NodeDepth>
jest określony w zasadzie jako 4
, ale głębokość węzła w ładunku wejściowym przekracza 4
, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczona jest głębokość węzła. Na przykład w tym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1
, a numer wiersza w ładunku to6
: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)
Sprawdź nieudaną zasadę XMLThreatProtection (określoną w kroku 1) i zanotuj wartość określoną w elemencie
<NodeDepth>
.W poniższym przykładzie zasady XMLThreatProtection
<NodeDepth>
ma wartość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>
Sprawdź numer konkretnego wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy określona w nim głębokość węzła jest większa niż liczba określona w elemencie
<NodeDepth>
(określona w kroku 2). Jeśli liczba elementów podrzędnych XML przekracza liczbę, to właśnie jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<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>
Ładunek XML widoczny powyżej w wierszu 6 ma głębokość węzła równą 6
.
Ponieważ głębokość węzła jest większa niż 5 (wartość określona dla elementu<NodeDepth>
), pojawia się następujący błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami z określonym progiem głębokości węzła, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że można zezwolić na większą głębokość węzłów, zmień <NodeDepth>
na odpowiednią wartość odpowiednio do swoich wymagań.
Jeśli na przykład uważasz, że możesz zezwolić na głębokość węzłów wynoszącą do 10, zmodyfikuj zasadę w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli ładunek wiadomości wejściowej określony przez element <Source>
zasady XMLThreatProtection zawiera dokument XML, w którym liczba atrybutów pojedynczego elementu przekracza liczbę określoną w elemencie <AttributeCountPerElement>
zasady.
Jeśli na przykład element <AttributeCountPerElement>
jest określony jako 2
w zasadzieXMLThreatProtection, ale ładunek wejściowy zawiera element z więcej niż 2 atrybutami, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono liczbę atrybutów. Na przykład w tym komunikacie o błędzie nazwa zasady to
XMLThreat-Protection-1
, a numer wiersza w ładunku to3
: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)
Sprawdź nieudane zasady (określone w kroku 1) i zanotuj wartość podaną w elemencie
<AttributeCountPerElement>
.W tym przykładzie zasady
<AttributeCountPerElement>
ma wartość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>
Sprawdź numer konkretnego wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy liczba określonych atrybutów przekracza liczbę podaną w elemencie
<AttributeCountPerElementh>
(określonym w kroku 2). Jeśli liczba atrybutów przekracza liczbę, to jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<?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>
Ładunek XML widoczny w wierszu 3 powyżej zawiera element z 3 atrybutami. Ponieważ liczba atrybutów jest większa niż 2 (wartość określona dla elementu
<AttributeCountPerElement>
), pojawia się ten błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami, które przekraczają określoną liczbę atrybutów, pojawia się komunikat o błędzie. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że dozwolona jest większa liczba atrybutów, zmień <AttributeCountPerElement>
na odpowiednią wartość na podstawie swoich wymagań.
Jeśli na przykład uważasz, że w jednym elemencie można dodać maksymalnie 5 atrybutów, zmień zasadę w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli ładunek komunikatu wejściowego określony przez element <Source>
zasady XMLThreatProtection zawiera dokument XML, w którym nazwa atrybutu przekracza liczbę znaków określoną w elemencie podrzędnym <Attribute>
elementu <NameLimits>
zasady.
Jeśli na przykład element <Attribute>
jest określony w zasadzie jako 5
, ale ładunek wejściowy ma nazwę atrybutu o długości większej niż 5 znaków, zgłaszany jest ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczona jest długość nazwy atrybutu. Na przykład w tym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1
, a numer wiersza w ładunku to3
: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)
Sprawdź nieudane zasady (określone w kroku 1) i zanotuj wartość podaną w elemencie
<Attribute>
.W poniższym przykładzie zasady XMLThreatProtection
<Attribute>
ma wartość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>
Sprawdź numer konkretnego wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy długość podanego atrybutu ma więcej znaków niż liczba określona w elemencie
<Attribute>
(określona w kroku 2). Jeśli liczba znaków przekracza wartość atrybutu, to jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<?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>
Ładunek XML widoczny w wierszu 3 ma 2 atrybuty
category
icuisine
o długości odpowiednio 8 i 7 znaków..
Ponieważ długość nazwy atrybutu jest większa niż 5 (wartość podana dla elementu<Attribute>
), pojawia się następujący błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami przekraczającymi określoną długość nazwy atrybutu, wówczas komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że może być dozwolona większa długość nazwy atrybutu, zmień <Attribute>
na odpowiednią wartość na podstawie swoich wymagań.
Jeśli na przykład uważasz, że możesz mieć nazwy atrybutów o długości do 10 znaków, zmień zasadę w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli dane wejściowe komunikatu określonego przez element <Source>
zasady zawierają dokument XML, w którym wartość atrybutu przekracza liczbę znaków określoną w elemencie podrzędnym <Attribute>
elementu <ValueLimits>
.
Jeśli na przykład element <Attribute>
jest określony jako 10
w zasadzie XMLThreatProtection, ale ładunek wejściowy ma wartość atrybutu o długości większej niż 10 znaków, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono liczbę atrybutów. Na przykład w tym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1
, a numer wiersza w ładunku to3
: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)
Sprawdź nieudane zasady (określone w kroku 1) i zanotuj wartość podaną w elemencie podrzędnym
<Attribute>
elementu<ValueLimits>
.W tym przykładzie zasady XMLThreatProtection
<Attribute>
ma wartość 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>
Sprawdź konkretny numer wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy długość podanej wartości atrybutu zawiera więcej znaków niż liczba określona w elemencie
<Attribute>
(określona w kroku 2). Jeśli liczba znaków przekracza wartość atrybutu, to jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<?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>
Ładunek XML widoczny w wierszu 3 ma atrybut (kuchnia) o wartości 12 znaków. Ponieważ długość wartości atrybutu przekracza 10 (wartość określona dla elementu
<Attribute>
), pojawia się ten błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami, które przekraczają określoną długość wartości atrybutu, pojawia się komunikat o błędzie. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że można zezwolić na dłuższe wartości atrybutów, zmodyfikuj <Attribute>
element podrzędny elementu <ValueLimits>
do odpowiedniej wartości w zależności od wymagań.
Jeśli np. uważasz, że możesz przypisywać wartości o długości do 15 znaków, zmień zasadę w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
Przyczyna
Ten błąd występuje, jeśli ładunek wiadomości wejściowej określony przez element <Source>
zasady XMLThreatProtection zawiera dokument XML, w którym długość tekstu elementu przekracza liczbę znaków określoną w elemencie podrzędnym <Text>
elementu <ValueLimits>
zasady.
Jeśli na przykład element <Text>
jest określony w zasadzie jako 15
, ale ładunek wejściowy zawiera tekst dłuższy niż 15 znaków, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono liczbę atrybutów. Na przykład w tym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1
, a numer wiersza w ładunku to4
: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)
Sprawdź nieudane zasady (określone w kroku 1) i zanotuj wartość podaną w elemencie podrzędnym
<Text>
elementu<ValueLimits>
.W poniższym przykładzie zasady XMLThreatProtection
<Text>
ma wartość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>
Sprawdź konkretny numer wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy długość podanej wartości atrybutu zawiera więcej znaków niż liczba określona w elemencie
<Text>
(określona w kroku 2). Jeśli liczba znaków przekracza wartość atrybutu, to jest przyczyną błędu.<food> <name>Veg Sandwich</name> <price>$5.95</price> <description>Vegetarian Sandwich with onions, tomatoes and lettuce</description> <calories>650</calories> </food>
Ładunek XML widoczny powyżej w wierszu 4 zawiera tekst o długości 53 znaków. Ponieważ długość wartości atrybutu jest większa niż 15 (wartość określona dla elementu
<Text>
), wystąpi ten błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami przekraczającymi określoną długość tekstu, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że można używać większych długości tekstu, zmodyfikuj <Text>
element podrzędny elementu <ValueLimits>
do odpowiedniej wartości w zależności od wymagań.
Jeśli na przykład uważasz, że wartości atrybutów mogą zawierać do 60 znaków, zmień zasadę w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli dane wejściowe komunikatu wejściowego określone przez element <Source>
zasady XMLThreatProtection zawierają dokument XML, w którym długość komentarza przekracza liczbę znaków określoną w elemencie podrzędnym <Comment>
elementu <ValueLimits>
zasady.
Jeśli na przykład element <Comment>
jest określony w zasadzie jako 10
, ale ładunek wejściowy zawiera komentarz dłuższy niż 10 znaków, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono długość komentarza. Na przykład w tym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1
, a numer wiersza w ładunku to2
: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)
Sprawdź nieudane zasady (określone w kroku 1) i zanotuj wartość podaną w elemencie podrzędnym
<Comment>
elementu<ValueLimits>
.W poniższym przykładzie zasady XMLThreatProtection
<Comment>
ma wartość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>
Sprawdź numer konkretnego wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy podany w nim komentarz zawiera więcej znaków niż liczba określona w elemencie
<Comment>
(określona w kroku 2). Jeśli liczba znaków przekracza wartość atrybutu, to jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<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>
Ładunek XML widoczny powyżej w wierszu 2 zawiera komentarz o wartości 31 znaków
.
Ponieważ długość komentarza przekracza 10 (wartość podana dla elementu<Comment>
), pojawia się ten błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami przekraczającymi określoną długość komentarza, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że można użyć dłuższego komentarza, zmień <Comment>
element podrzędny elementu <ValueLimits>
do odpowiedniej wartości w zależności od wymagań.
Jeśli np. uważasz, że możesz przypisywać wartości o długości do 40 znaków, zmień zasadę w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli ładunek komunikatu wejściowego określony przez element <Source>
zasady XMLThreatProtection zawiera dokument XML, w którym liczba znaków w instrukcji przetwarzania danych przekracza liczbę znaków określoną w <ProcessingInstructionData>
elemencie podrzędnym <ValueLimits>
zasady.
Jeśli na przykład element <ProcessingInstructionData>
jest określony jako 10
w zasadzie XMLThreatProtection, ale ładunek wejściowy zawiera instrukcję przetwarzania o długości przekraczającej 10 znaków, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczona została długość instrukcji przetwarzania. Na przykład w tym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1
, a numer wiersza w ładunku to2
: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)
Sprawdź nieudane zasady (określone w kroku 1) i zanotuj wartość podaną w elemencie podrzędnym
<ProcessingInstructionData>
elementu<ValueLimits>
.W poniższym przykładzie zasady XMLThreatProtection
<ProcessingInstructionData>
ma wartość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>
Sprawdź numer konkretnego wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy długość danych instrukcji przetwarzania określona w tym kroku ma więcej znaków niż liczba określona w elemencie
<ProcessingInstructionData>
(określona w kroku 2). Jeśli liczba znaków przekracza limit danych w instrukcji przetwarzania, to jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<?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>
Ładunek XML widoczny w wierszu 1 zawiera element danych instrukcji przetwarzania (
type="text/xsl" href="mobilephones.xsl"?)
o długości 40 znaków.
), ponieważ ta długość jest większa niż 30 (wartość podana dla elementu<ProcessingInstructionData>
), pojawia się następujący błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami, które przekraczają określoną długość danych instrukcji przetwarzania, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że można zezwolić na dłuższe przetwarzanie elementów danych w instrukcjach, zmodyfikuj element podrzędny <ProcessingInstructionData>
elementu <ValueLimits>
do odpowiedniej wartości w zależności od wymagań.
Jeśli na przykład uważasz, że instrukcje przetwarzania danych mogą mieć maksymalnie 50 znaków, zmień tę zasadę w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli ładunek komunikatu wejściowego określony przez element <Source>
zasady XMLThreatProtection zawiera dokument XML, w którym wartość docelowa instrukcji procesu przekracza liczbę znaków określoną w <ProcessingInstructionTarget>
elemencie podrzędnym <NameLimits>
elementu zasady.
Jeśli na przykład element <ProcessingInstructionTarget>
jest określony jako 10
w zasadzie XMLThreatProtection, ale ładunek wejściowy ma miejsce docelowe instrukcji procesu mającej więcej niż 10 znaków, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono docelową liczbę instrukcji przetwarzania. Na przykład w tym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1
, a numer wiersza w ładunku to1
: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)
Sprawdź nieudaną zasadę XMLThreatProtection (określoną w kroku 1) i zanotuj wartość podaną w elemencie podrzędnym
<ProcessingInstructionTarget>
elementu<NameLimits
>.W poniższym przykładzie zasady XMLThreatProtection
<ProcessingInstructionTarget>
ma wartość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>
Sprawdź konkretny numer wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy długość celu instrukcji przetwarzania określona w tym celu zawiera więcej znaków niż liczba określona w elemencie
<ProcessingInstructionTarget>
(określona w kroku 2). Jeśli liczba znaków przekracza limit rozmiaru docelowego, to jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<?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>
Ładunek XML widoczny powyżej w wierszu 2 ma nazwę celu instrukcji przetwarzania „
xml-stylesheet"
” o długości 14 znaków. Nazwa celu w instrukcji przetwarzania jest dłuższa niż 10 (wartość określona dla elementu<ProcessingInstructionTarget>
), dlatego pojawia się ten błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami przekraczającymi określoną długość docelową instrukcji procesu, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że cel instrukcji procesu może być dłuższy, zmodyfikuj <ProcessingInstructionTarget>
element podrzędny elementu <NameLimits>
do odpowiedniej wartości w zależności od wymagań.
Jeśli na przykład uważasz, że elementy docelowe instrukcji przetwarzania mogą zawierać do 25 znaków, zmodyfikuj tę zasadę w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli ładunek wiadomości wejściowej określony przez element <Source>
zasady XMLThreatProtection zawiera dokument XML, w którym identyfikator URI przestrzeni nazw przekracza liczbę znaków określoną w elemencie podrzędnym <NamespaceURI>
w elemencie <ValueLimits>
zasady.
Jeśli na przykład element <NamespaceURI>
jest określony w zasadzie jako 10
, ale ładunek wejściowy ma identyfikator URI przestrzeni nazw zawierający ponad 10 znaków, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczona została długość identyfikatora URI przestrzeni nazw. Na przykład w tym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1
, a numer wiersza w ładunku to2
: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)
Sprawdź nieudane zasady (określone w kroku 1) i zanotuj wartość podaną w elemencie podrzędnym
<NamespaceURI>
elementu<ValueLimits
>.W poniższym przykładzie zasady XMLThreatProtection
<NamespaceURI>
ma wartość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>
Sprawdź konkretny numer wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy długość identyfikatora URI określonego w przestrzeni nazw zawiera więcej znaków niż liczba określona w elemencie
<NamespaceURI>
(określona w kroku 2). Jeśli liczba znaków przekracza długość identyfikatora URI przestrzeni nazw, to jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<?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>
Ładunek XML widoczny w wierszu 2 zawiera identyfikator URI przestrzeni nazw www.google.com/profile o długości 22 znaków. Ponieważ długość identyfikatora URI przestrzeni nazw przekracza 10 (wartość określona dla elementu
<NamespaceURI>
), pojawia się ten błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami przekraczającymi określoną długość identyfikatora URI przestrzeni nazw, wyświetlany jest komunikat o błędzie. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że można stosować dłuższy identyfikator URI przestrzeni nazw, zmodyfikuj element podrzędny <NamespaceURI>
elementu <ValueLimits>
do odpowiedniej wartości w zależności od wymagań.
Jeśli na przykład uważasz, że identyfikator URI przestrzeni nazw może mieć maksymalnie 30 znaków, zmień zasadę w następujący sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli dane wejściowe komunikatu określonego przez element <Source>
zawierają dokument XML, w którym prefiks przestrzeni nazw przekracza liczbę znaków określoną w elemencie podrzędnym <NamespacePrefix>
elementu <NameLimits>
zasady.
Jeśli na przykład element <NamespacePrefix>
jest określony jako 10
w zasadzie XMLThreatProtection, ale ładunek wejściowy ma prefiks przestrzeni nazw zawierający ponad 10 znaków, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczona została długość prefiksu identyfikatora URI przestrzeni nazw. Na przykład w tym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1
, a numer wiersza w ładunku to2
: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)
Sprawdź nieudane zasady (określone w kroku 1) i zanotuj wartość podaną w elemencie podrzędnym
<NamespacePrefix>
elementu<NameLimits
>.W poniższym przykładzie zasady XMLThreatProtection
<NamespacePrefix>
ma wartość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>
Sprawdź konkretny numer wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy długość podanego prefiksu przestrzeni nazw zawiera więcej znaków niż liczba określona w elemencie
<NamespacePrefix>
(określona w kroku 2). Jeśli liczba znaków przekracza limit prefiksu przestrzeni nazw, to jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<?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>
Ładunek XML widoczny powyżej w wierszu 2 ma prefiks przestrzeni nazw
userprofile
o długości 11 znaków. Ponieważ długość prefiksu identyfikatora URI przestrzeni nazw przekracza 10 (wartość określona dla elementu<NamespacePrefix>
), pojawia się ten błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami o większej długości prefiksu identyfikatora URI przestrzeni nazw, wyświetlany jest komunikat o błędzie. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że można stosować dłuższy prefiks identyfikatora URI przestrzeni nazw, zmień element podrzędny <NamespacePrefix>
elementu <NameLimits>
do odpowiedniej wartości w zależności od wymagań.
Jeśli na przykład uważasz, że prefiks identyfikatora URI przestrzeni nazw może mieć maksymalnie 15 znaków, zmień zasadę w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "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" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"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"
}
}
}
Przyczyna
Ten błąd występuje, jeśli ładunek komunikatu wejściowego określony przez element <Source>
zasady XMLThreatProtection zawiera dokument XML, w którym liczba przestrzeni nazw używanych w pojedynczym elemencie przekracza liczbę określoną w <NamespaceCountPerElement>
elemencie podrzędnym <StructureLimits>
elementu zasady.
Jeśli na przykład element <NamespaceCountPerElement>
jest określony w zasadzie jako 3
, ale ładunek wejściowy zawiera element o więcej niż 3 przestrzeni nazw, ten błąd jest zgłaszany.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczona jest liczba przestrzeni nazw. Na przykład w tym komunikacie o błędzie nazwa zasady to
XMLThreat-Protection-1
, a numer wiersza w ładunku to2
: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)
Sprawdź nieudane zasady (określone w kroku 1) i zanotuj wartość podaną w elemencie podrzędnym
<NamespaceCountPerElement>
elementu<StructureLimits
>.W poniższym przykładzie zasady XMLThreatProtection
<NamespaceCountPerElement>
ma wartość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>
Sprawdź numer konkretnego wiersza (określony w kroku 1) ładunku wejściowego i sprawdź, czy liczba przestrzeni nazw określona w tym miejscu dla pojedynczego elementu jest większa niż liczba określona w elemencie
<NamespaceCountPerElement>
(określona w kroku 2). Jeśli liczba przestrzeni nazw przekracza limit liczby przestrzeni nazw na element, to jest przyczyną błędu.Oto przykładowy ładunek wejściowy:
<?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>
Ładunek XML widoczny powyżej w wierszu 2 ma więcej niż 3 przestrzenie nazw. Ponieważ liczba przestrzeni nazw jest większa niż 3 (wartość określona dla elementu
<NamespaceCountPerElement>
), pojawia się ten błąd: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)
Rozdzielczość
Jeśli zasada XMLThreatProtection ma na celu ochronę przed ładunkami przekraczającymi określoną liczbę przestrzeni nazw w jednym elemencie, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic robić.
Jeśli jednak stwierdzisz, że można zezwolić na większą liczbę przestrzeni nazw, zmodyfikuj element podrzędny <NamespaceCountPerElement>
elementu <StructureLimits>
do odpowiedniej wartości w zależności od wymagań.
Jeśli na przykład uważasz, że w jednym elemencie możesz mieć maksymalnie 5 przestrzeni nazw, zmodyfikuj zasady w ten sposób:
<?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
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi o błędzie
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. Reason: [error_description]", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"fault": {
"faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
Execution failed. reason: Syntax error while parsing XML prologue",
"detail": {
"errorcode": "steps.xmlthreatprotection.ExecutionFailed"
}
}
}
Przyczyna
Ten błąd występuje, jeśli ładunek wiadomości wejściowej określony przez element <Source>
zasady XMLProtectionPolicy nie jest prawidłowym dokumentem XML.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady, w której wystąpił błąd. W poniższym przykładzie nazwa zasady to
XML-Threat-Protection-1
.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologue
Sprawdź ładunek wejściowy i sprawdź, czy dokument XML przekazany w ładunku jest rzeczywiście poprawnie sformatowanym dokumentem XML.
Oto przykładowy ładunek wejściowy:
<?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>
W przedstawionym powyżej ładunku XML wiersz 9 nie zamyka prawidłowo elementu głównego, ponieważ brakuje parametru
/
. Ten kod XML nie jest poprawnie sformułowany, więc pojawia się błąd:XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologue
Rozdzielczość
Sprawdź, czy do każdego serwera proxy interfejsu API, który zawiera zasadę XMLThreatProtection, przekazywany jest prawidłowy wejściowy ładunek XML.
Aby poprawić przykładowy błąd opisany powyżej, zmodyfikuj wejściowych ładunek XML w następujący sposób:
<?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
Kod błędu
steps.xmlthreatprotection.SourceUnavailable
Treść odpowiedzi o błędzie
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition[policy_name]: Source[var_name] is not available" "detail": { "errorcode": "steps.xmlthreatprotection.SourceUnavailable" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"fault": {
"faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
Source requests is not available",
"detail": {
"errorcode": "steps.xmlthreatprotection.SourceUnavailable"
}
}
}
Przyczyna
Ten błąd występuje, jeśli zmienna message określona w elemencie <Source>
zasady XMLThreatProtection ma wartość:
- Poza zakresem (niedostępne w konkretnym procesie, w którym jest wykonywana zasada)
- Nie jest jedną z prawidłowych wartości
request
,response
lubmessage
Ten błąd występuje np. wtedy, gdy element <Source>
w zasadzie jest ustawiony na zmienną, która nie istnieje w procesie, w którym jest wykonywana.
Diagnostyka
Znajdź nazwę zasady XMLThreatProtection i nazwę zmiennej Source z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady XMLThreatProtection to
XML-Threat-Protection-1
, a zmienna źródłowa torequests:
.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests is not available
Sprawdź nieudaną zasadę XMLThreatProtection i sprawdź wartość podaną dla elementu
<Source>
wskazanego w kroku 1.W poniższym przykładzie zasady XMLThreatProtection element
<Source>
jest ustawiony narequests
.<?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>
Prawidłowe wartości elementu
<Source>
torequest
,response
lubmessage.
. Ponieważrequests
nie jest prawidłową wartością i nie istnieje w procesie, w którym jest wykonywana zasada, pojawia się błąd:XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests is not available
Rozdzielczość
Sprawdź, czy zmienna ustawiona w elemencie <Source>
nieudanej zasady XMLThreatProtection jest ustawiona na request
, response
lub message
i istnieje w procesie uruchamiania zasady.
Aby poprawić przykładową zasadę widoczną powyżej, możesz zmodyfikować element <Source>
tak, aby używał zmiennej request
, ponieważ występuje ona w procesie żądania:
<?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
Kod błędu
steps.xmlthreatprotection.NonMessageVariable
Treść odpowiedzi o błędzie
{ "fault": { "faultstring": "Variable var_name does not resolve to a Message" "detail": { "errorcode": "steps.xmlthreatprotection.NonMessageVariable" } } }
Przykładowa treść odpowiedzi dotyczącej błędu
{
"fault": {
"faultstring": "Variable message.content does not resolve to a Message",
"detail": {
"errorcode": "steps.xmlthreatprotection.NonMessageVariable"
}
}
}
Przyczyna
Ten błąd występuje, jeśli element <Source>
w zasadzie XMLThreatProtection jest ustawiony na zmienną, która nie jest typu Message.
Zmienne typu wiadomości reprezentują całe żądania i odpowiedzi HTTP. Wbudowane zmienne przepływu Apigee Edge request
, response
i message
są typu Message. Więcej informacji o zmiennych dotyczących wiadomości znajdziesz w informacjach o zmiennych.
Diagnostyka
Wskaż nazwę zmiennej, która odpowiada zmiennej typu komunikatu z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zmiennej to
message.content
Variable message.content does not resolve to a Message
Sprawdź wszystkie zasady XMLThreadProtection na serwerze proxy interfejsu API, w których wystąpił błąd, i odszukaj konkretną zasadę XMLThreadProtection zawierającą element
<Source>
z nazwą zmiennej określoną w kroku 1 powyżej.W poniższym przykładzie zasady XMLThreatProtection
<Source>
ma wartość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>
Ponieważ zmienna
message.content
nie jest typu komunikat, występuje błąd:Variable message.content does not resolve to a Message
Rozdzielczość
Sprawdź, czy element <Source>
w nieudanej zasadzie XMLThreatProtection jest ustawiony na zmienną przepływu typu Wiadomość występującą w procesie, w którym jest wykonywana zasada.
Aby poprawić zasadę, możesz zmodyfikować element <Source>
, aby określić zmienną typu Wiadomość. Na przykład w nieudanej próbie XMLThreatProtection można określić element <Source>
jako 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>