Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
ExecutionFailed
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi na błąd
{ "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 na błąd
{
"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"
}
}
}
Rodzaje błędów i możliwe przyczyny
Zasady XMLThreatProtection mogą zgłaszać wiele różnych typów błędów ExecutionFailed. W tabeli poniżej znajdziesz różne typy błędów i ich możliwe przyczyny:
| Błąd | Przyczyna |
| ElementNameExceeded | Przekroczono maksymalną długość ciągu znaków dozwoloną w tagu XML. |
| ChildCountExceeded | Przekroczono maksymalną liczbę elementów podrzędnych dozwolonych w ładunku XML. |
| NodeDepthExceeded | Przekroczono maksymalną dozwoloną głębokość elementów XML w ładunku XML. |
| AttributeCountExceeded | Przekroczono maksymalną liczbę atrybutów w jednym elemencie. |
| AttributeNameExceeded | Przekroczono maksymalną dozwoloną długość nazwy atrybutu. |
| AttributeValueExceeded | Przekroczono maksymalną dozwoloną długość wartości atrybutu. |
| TextExceeded | Przekroczono maksymalną dozwoloną długość tekstu. |
| CommentExceeded | Przekroczono maksymalną dozwoloną długość komentarza. |
| PIDataExceeded | Przekroczono dozwoloną długość danych instrukcji przetwarzania. |
| PITargetExceeded | Przekroczono długość nazwy instrukcji procesu. |
| NSURIExceeded | Długość adresu URL przestrzeni nazw została przekroczona. |
| NSPrefixExceeded | Przekroczono długość prefiksu przestrzeni nazw. |
| NSCountExceeded | Przekroczono liczbę przestrzeni nazw używanych w jednym elemencie. |
| Nieprawidłowy ładunek XML | Wejściowy ładunek XML jest nieprawidłowy. |
ElementNameExceeded
Kod błędu
steps.xmlthreatprotection.ExecutionFailed
Treść odpowiedzi na błąd
Ruch w czasie działania 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 na błąd
{
"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> zasad zawiera elementy XML, które przekraczają maksymalną długość określoną w elemencie <Element> pod elementem <NameLimits>.
Jeśli na przykład element <Element> jest określony jako 5 w zasadach XMLThreatProtection, ale ładunek wejściowy zawiera element, który ma więcej niż 5 znaków, zostanie zgłoszony ten błąd.
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 tym komunikacie o błędzie nazwa zasady to
XML-Threat-Protection-1,, numer wiersza w ładunku to1, a możliwy numer znaku to9..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ź zasadę, która nie została spełniona (zidentyfikowaną w kroku 1), i zanotuj wartość podaną w elemencie
<Element>.Na przykład w tych zasadach XMLThreatProtection parametr
<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ź konkretny numer wiersza (określony w kroku 1) w ładunku wejściowym i zobacz, czy długość elementu w tym wierszu jest większa niż wartość określona dla elementu
<Element>(określonego w kroku 2). Jeśli długość elementu przekracza tę wartość, to jest to przyczyną błędu.Oto przykładowy ładunek wejściowy:
<company> <name>Google</name> <country>USA</country> </company>W pokazanym powyżej ładunku XML element główny o nazwie
companyznajduje się w wierszu 1 i ma 7 znaków. Długość elementu jest większa niż 5 (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 chronić przed ładunkami z nazwami elementów, które przekraczają zdefiniowaną wartość, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że w ładunku można określić dłuższe elementy bez żadnych konsekwencji, zmień wartość <Element>na odpowiednią na podstawie swoich wymagań.
Jeśli na przykład uważasz, że możesz zezwolić na elementy o długości do 10, zmień 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 na błąd
{ "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 na błąd
{
"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 wiadomości wejściowej określony przez element <Source> zawiera element XML, który zawiera więcej elementów podrzędnych niż wartość określona w elemencie <ChildCount> zasad.
Jeśli na przykład element <ChildCount> ma wartość 3, ale wejściowy ładunek XML zawiera element z więcej niż 3 elementami podrzędnymi, wystąpi ten błąd.
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ź zasadę, która nie została spełniona (zidentyfikowaną w kroku 1), i zanotuj wartość podaną w elemencie
<ChildCount>.W tym przykładzie zasady
<ChildCount>mają wartość3(pamiętaj, że komentarze, elementy dołączane i inne elementy wliczają się do tego limitu):<?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ź konkretny numer wiersza (zidentyfikowany w kroku 1) w ładunku wejściowym i zobacz, czy liczba elementów podrzędnych (w tym wszystkie komentarze itp.) w ładunku jest większa niż wartość określona dla elementu
<ChildCount>(zidentyfikowanego w kroku 2). Jeśli liczba elementów podrzędnych przekracza liczbę elementów podrzędnych, to jest to 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 w wierszu 5 znajduje się czwarty element podrzędny
<director>elementu głównego<movie>. Liczba elementów podrzędnych w wejściowym ładunku XML jest większa niż 3 (wartość określona dla elementu<ChildCount>), więc 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 zasady XMLThreatProtection mają chronić przed ładunkami, w których liczba elementów podrzędnych przekracza określony próg, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz podejmować żadnych dodatkowych działań.
Jeśli jednak stwierdzisz, że w ładunku można umieścić większą liczbę elementów podrzędnych (w tym komentarzy itp.) bez żadnych konsekwencji, zmień wartość <ChildCount>na odpowiednią na podstawie swoich wymagań.
Jeśli na przykład uważasz, że możesz zezwolić na maksymalnie 10 elementów podrzędnych, zmień zasady 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 na błąd
{ "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 na błąd
{
"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 wiadomości wejściowej określony przez element <Source> zawiera dokument XML, w którym hierarchia węzłów przekracza liczbę określoną w elemencie <NodeDepth> zasad XMLThreatProtection.
Jeśli na przykład element <NodeDepth> jest określony w zasadach jako 4, ale ładunek wejściowy ma głębokość węzła przekraczającą 4, wystąpi ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono 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ź zasadę XMLThreatProtection, która spowodowała błąd (zidentyfikowaną w kroku 1), i zanotuj wartość podaną w elemencie
<NodeDepth>.W tym przykładzie zasady XMLThreatProtection parametr
<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ź konkretny numer wiersza (określony w kroku 1) w ładunku wejściowym i zobacz, czy głębokość węzła określona w tym wierszu ma większą wartość niż liczba podana w elemencie
<NodeDepth>(określonym w kroku 2). Jeśli liczba elementów podrzędnych XML przekracza podaną wartość, to jest to 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>W wierszu 6 powyższego ładunku XML węzeł ma głębokość 6
.. Ponieważ głębokość węzła jest większa niż 5 (wartość określona dla elementu<NodeDepth>), pojawia się ten 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 zasady XMLThreatProtection mają chronić przed ładunkami o określonym progu głębokości węzła, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że można zezwolić na większą głębokość węzła, zmień wartość <NodeDepth> na odpowiednią wartość na podstawie swoich wymagań.
Jeśli na przykład uważasz, że możesz zezwolić na głębokość węzła do 10, zmień 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>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 na błąd
{ "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 na błąd
{
"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> w zasadach XMLThreatProtection zawiera dokument XML, w którym liczba atrybutów pojedynczego elementu przekracza liczbę określoną w elemencie <AttributeCountPerElement> tych zasad.
Jeśli na przykład element <AttributeCountPerElement> jest określony jako 2 w zasadach XMLThreatProtection, ale ładunek wejściowy zawiera element z więcej niż 2 atrybutami, zostanie zgłoszony ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby znaleźć 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ź zasadę, która nie została spełniona (zidentyfikowaną w kroku 1), i zanotuj wartość podaną w elemencie
<AttributeCountPerElement>.W tym przykładzie zasady
<AttributeCountPerElement>są ustawione na2:<?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) w ładunku wejściowym i sprawdź, czy liczba określonych atrybutów przekracza liczbę określoną w elemencie
<AttributeCountPerElementh>(określonym w kroku 2). Jeśli liczba atrybutów przekracza podaną wartość, to jest to 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>W przykładzie powyżej w wierszu 3 znajduje się element z 3 atrybutami. Ponieważ liczba atrybutów jest większa niż 2 (wartość określona dla elementu
<AttributeCountPerElement>), otrzymasz 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 chronić przed ładunkami, które przekraczają określoną liczbę atrybutów, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że można zezwolić na większą liczbę atrybutów, zmień wartość <AttributeCountPerElement> na odpowiednią wartość na podstawie swoich wymagań.
Jeśli na przykład uważasz, że możesz zezwolić na maksymalnie 5 atrybutów na element, zmień 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>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 na błąd
{ "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 na błąd
{
"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 wiadomości wejściowej 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 zasadach jako 5, ale ładunek wejściowy ma nazwę atrybutu dłuższą niż 5 znaków, wystąpi ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby znaleźć nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono 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ź zasadę, która nie została spełniona (zidentyfikowaną w kroku 1), i zanotuj wartość podaną w elemencie
<Attribute>.W tym przykładzie zasady XMLThreatProtection parametr
<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ź konkretny numer wiersza (określony w kroku 1) w ładunku wejściowym i zobacz, czy długość atrybutu określonego w tym wierszu ma więcej znaków niż liczba podana w elemencie
<Attribute>(określonym w kroku 2). Jeśli liczba znaków przekracza wartość atrybutu, to jest to 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>W pokazanym powyżej ładunku XML w wierszu 3 znajdują się 2 atrybuty
categoryicuisine, których nazwy mają odpowiednio 8 i 7 znaków.. Ponieważ długość nazwy atrybutu jest większa niż 5 (wartość określona 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 chronić przed ładunkami, które przekraczają określoną długość nazwy atrybutu, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że można zezwolić na dłuższą nazwę atrybutu, zmień wartość <Attribute> na odpowiednią na podstawie swoich wymagań.
Jeśli na przykład uważasz, że nazwy atrybutów mogą mieć maksymalnie 10 znaków, zmień 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>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 na błąd
{ "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 na błąd
{
"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 ładunek wiadomości wejściowej określony przez element <Source> zasady zawiera 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 zasadach XMLThreatProtection, ale ładunek wejściowy ma wartość atrybutu zawierającą więcej niż 10 znaków, wystąpi ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby znaleźć 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ź zasadę, która nie została spełniona (zidentyfikowaną w kroku 1), i zapisz wartość podaną w elemencie podrzędnym
<Attribute>elementu<ValueLimits>.W tym przykładzie zasady XMLThreatProtection wartość
<Attribute>jest ustawiona na 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) w ładunku wejściowym i zobacz, czy długość wartości atrybutu określonej w tym wierszu ma więcej znaków niż liczba podana w elemencie
<Attribute>(określonym w kroku 2). Jeśli liczba znaków przekracza wartość atrybutu, to jest to 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>W pokazanym powyżej ładunku XML w wierszu 3 znajduje się atrybut (cuisine) o wartości składającej się z 12 znaków. Ponieważ długość wartości atrybutu jest większa niż 10 (wartość określona dla elementu
<Attribute>), otrzymasz 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 chronić przed ładunkami, które przekraczają określoną długość wartości atrybutu, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że dłuższe wartości atrybutów mogą być dozwolone, zmień element podrzędny <Attribute> elementu <ValueLimits> na odpowiednią wartość zgodnie z Twoimi wymaganiami.
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 na błąd
{ "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 na błąd
{
"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> zasad XMLThreatProtection zawiera dokument XML, w którym długość tekstu elementu przekracza liczbę znaków określoną w elemencie podrzędnym <Text> elementu <ValueLimits> zasad.
Jeśli na przykład element <Text> jest określony w zasadach jako 15, ale ładunek wejściowy zawiera tekst o długości ponad 15 znaków, wystąpi ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby znaleźć 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ź zasadę, która nie została spełniona (zidentyfikowaną w kroku 1), i zapisz wartość podaną w elemencie podrzędnym
<Text>elementu<ValueLimits>.W tym przykładzie zasady XMLThreatProtection parametr
<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) w ładunku wejściowym i zobacz, czy długość wartości atrybutu określonej w tym wierszu ma więcej znaków niż liczba podana w elemencie
<Text>(określonym w kroku 2). Jeśli liczba znaków przekracza wartość atrybutu, to jest to 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>W wierszu 4 powyższego kodu XML znajduje się tekst o długości 53 znaków. Długość wartości atrybutu jest większa niż 15 (wartość określona dla elementu
<Text>), dlatego występuje 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 chronić przed ładunkami, które przekraczają określoną długość tekstu, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że można zezwolić na dłuższe teksty, zmień wartość elementu <Text>podrzędnego elementu <ValueLimits> na odpowiednią wartość zgodnie z Twoimi wymaganiami.
Jeśli na przykład uważasz, że wartości atrybutów mogą mieć 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 na błąd
{ "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 na błąd
{
"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 ładunek wiadomości wejściowej określony przez element <Source> zasad XMLThreatProtection zawiera dokument XML, w którym długość komentarza przekracza liczbę znaków określoną w elemencie podrzędnym <Comment> elementu <ValueLimits> zasad.
Jeśli na przykład element <Comment> jest określony w zasadach jako 10, ale w danych wejściowych znajduje się komentarz zawierający więcej niż 10 znaków, zostanie zgłoszony ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby znaleźć 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ź zasadę, która nie została spełniona (zidentyfikowaną w kroku 1), i zapisz wartość podaną w elemencie podrzędnym
<Comment>elementu<ValueLimits>.W tym przykładzie zasady XMLThreatProtection parametr
<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ź konkretny numer wiersza (określony w kroku 1) w wejściowym ładunku i zobacz, czy długość komentarza podana w tym wierszu ma więcej znaków niż liczba określona w elemencie
<Comment>(określonym w kroku 2). Jeśli liczba znaków przekracza wartość atrybutu, to jest to 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>W wierszu 2 powyższego ładunku XML znajduje się komentarz o długości 31 znaków.
.Ponieważ długość komentarza jest większa niż 10 (wartość określona dla elementu<Comment>), pojawia się następujący 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 chronić przed ładunkami, które przekraczają określoną długość komentarza, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że dłuższy komentarz może być dozwolony, zmień element <Comment>elementu<ValueLimits> na odpowiednią wartość zgodnie z Twoimi wymaganiami.
Jeśli na przykład uważasz, że możesz przypisać wartości o długości do 40 znaków, zmień 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>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 na błąd
{ "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 na błąd
{
"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 wiadomości wejściowej określony przez element <Source> zasad XMLThreatProtection zawiera dokument XML, w którym instrukcja przetwarzania danych przekracza liczbę znaków określoną w elemencie podrzędnym <ProcessingInstructionData> elementu <ValueLimits> zasad.
Jeśli na przykład element <ProcessingInstructionData> jest określony jako 10 w zasadach XMLThreatProtection, ale wejściowy ładunek zawiera instrukcję przetwarzania z więcej niż 10 znakami, wystąpi ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono 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ź zasadę, która nie została spełniona (zidentyfikowaną w kroku 1), i zapisz wartość podaną w
<ProcessingInstructionData>elemencie podrzędnym elementu<ValueLimits>.W tym przykładzie zasady XMLThreatProtection parametr
<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ź konkretny numer wiersza (określony w kroku 1) w ładunku wejściowym i zobacz, czy długość danych instrukcji przetwarzania określona w tym wierszu ma więcej znaków niż liczba podana w elemencie
<ProcessingInstructionData>(określonym w kroku 2). Jeśli liczba znaków przekracza dane instrukcji przetwarzania, to jest to 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>W pokazanym powyżej ładunku XML w wierszu 1 znajduje się 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ść określona dla elementu<ProcessingInstructionData>), pojawia się ten 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 zasady XMLThreatProtection mają chronić przed ładunkami, które przekraczają określoną długość danych instrukcji przetwarzania, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że dłuższe elementy danych instrukcji przetwarzania mogą być dozwolone, zmień element podrzędny <ProcessingInstructionData> elementu <ValueLimits> na odpowiednią wartość zgodnie z Twoimi wymaganiami.
Jeśli na przykład uważasz, że długość instrukcji przetwarzania danych może wynosić do 50 znaków, zmień 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>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 na błąd
{ "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 na błąd
{
"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 wiadomości wejściowej określony przez element <Source> w zasadach XMLThreatProtection zawiera dokument XML, w którym cel instrukcji przetwarzania przekracza liczbę znaków określoną w elemencie podrzędnym <ProcessingInstructionTarget> elementu <NameLimits> zasad.
Jeśli na przykład element <ProcessingInstructionTarget> jest określony jako 10 w zasadach XMLThreatProtection, ale wejściowy ładunek ma cel instrukcji przetwarzania z więcej niż 10 znakami, wystąpi ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono liczbę docelowych 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ź zasadę XMLThreatProtection, która nie została zastosowana (zidentyfikowaną w kroku 1), i zanotuj wartość podaną w elemencie podrzędnym
<ProcessingInstructionTarget>elementu<NameLimits>.W tym przykładzie zasady XMLThreatProtection parametr
<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) w ładunku wejściowym i zobacz, czy długość docelowego elementu instrukcji przetwarzania określonego w tym wierszu ma więcej znaków niż liczba podana w elemencie
<ProcessingInstructionTarget>(określonym w kroku 2). Jeśli liczba znaków przekracza limit rozmiaru docelowego, to jest to 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>W wierszu 2 powyższego kodu XML znajduje się nazwa instrukcji przetwarzania „
xml-stylesheet"” o długości 14 znaków. Ponieważ nazwa elementu docelowego instrukcji przetwarzania jest dłuższa niż 10 znaków (wartość określona dla elementu<ProcessingInstructionTarget>), pojawi 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 chronić przed ładunkami, które przekraczają określoną docelową długość instrukcji przetwarzania, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że docelowa instrukcja przetwarzania może być dłuższa, zmień element <ProcessingInstructionTarget>elementu <NameLimits> na odpowiednią wartość zgodnie z wymaganiami.
Jeśli na przykład uważasz, że instrukcje dotyczące procesu mogą mieć maksymalnie 25 znaków, zmień 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>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 na błąd
{ "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 na błąd
{
"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> w zasadach XMLThreatProtection zawiera dokument XML, w którym identyfikator URI Namespace przekracza liczbę znaków określoną w elemencie podrzędnym <NamespaceURI> elementu <ValueLimits> zasad.
Jeśli na przykład element <NamespaceURI> jest określony w zasadach jako 10, ale ładunek wejściowy ma identyfikator URI przestrzeni nazw zawierający więcej niż 10 znaków, wystąpi ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby znaleźć nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono 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ź zasadę, która nie została spełniona (zidentyfikowaną w kroku 1), i zanotuj wartość podaną w elemencie podrzędnym
<NamespaceURI>elementu<ValueLimits>.W tym przykładzie zasady XMLThreatProtection parametr
<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) w ładunku wejściowym i zobacz, czy długość identyfikatora URI przestrzeni nazw określonego w tym wierszu ma więcej znaków niż liczba podana w elemencie
<NamespaceURI>(określonym w kroku 2). Jeśli liczba znaków przekracza długość identyfikatora URI przestrzeni nazw, to jest to 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>W linii 2 powyższego kodu XML znajduje się identyfikator URI przestrzeni nazw www.google.com/profile o długości 22 znaków. Ponieważ długość identyfikatora URI przestrzeni nazw jest większa niż 10 (wartość określona dla elementu
<NamespaceURI>), otrzymasz 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 chronić przed ładunkami, które przekroczyły określoną długość identyfikatora URI przestrzeni nazw, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że dłuższy identyfikator URI przestrzeni nazw jest dopuszczalny, zmień element podrzędny <NamespaceURI> elementu <ValueLimits> na odpowiednią wartość zgodnie z Twoimi wymaganiami.
Jeśli na przykład uważasz, że długość identyfikatorów URI przestrzeni nazw może wynosić do 30 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>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 na błąd
{ "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 na błąd
{
"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 ładunek wiadomości wejściowej określony przez element <Source> zawiera dokument XML, w którym prefiks Namespace przekracza liczbę znaków określoną w elemencie podrzędnym <NamespacePrefix> elementu <NameLimits> zasad.
Jeśli na przykład element <NamespacePrefix> jest określony jako 10 w zasadach XMLThreatProtection, ale ładunek wejściowy ma prefiks przestrzeni nazw zawierający więcej niż 10 znaków, wystąpi ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby zidentyfikować nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono długość prefiksu 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ź zasadę, która nie została spełniona (zidentyfikowaną w kroku 1), i zanotuj wartość podaną w elemencie podrzędnym
<NamespacePrefix>elementu<NameLimits>.W tym przykładzie zasady XMLThreatProtection parametr
<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) w ładunku wejściowym i zobacz, czy długość prefiksu przestrzeni nazw określonego w tym wierszu ma więcej znaków niż liczba podana w elemencie
<NamespacePrefix>(określonym w kroku 2). Jeśli liczba znaków przekracza limit prefiksu przestrzeni nazw, to jest to 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>W wierszu 2 powyższego kodu XML znajduje się prefiks przestrzeni nazw
userprofileo długości 11 znaków. Długość prefiksu identyfikatora URI przestrzeni nazw jest większa niż 10 (wartość określona dla elementu<NamespacePrefix>), więc 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 chronić przed ładunkami, które przekraczają określoną długość prefiksu URI przestrzeni nazw, komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że dłuższy prefiks URI przestrzeni nazw jest dopuszczalny, zmień element podrzędny <NamespacePrefix> elementu <NameLimits> na odpowiednią wartość zgodnie z Twoimi wymaganiami.
Jeśli na przykład uważasz, że długość prefiksów identyfikatorów URI przestrzeni nazw może wynosić 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 na błąd
{ "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 na błąd
{
"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 wiadomości wejściowej określony przez element <Source> w zasadach XMLThreatProtection zawiera dokument XML, w którym liczba przestrzeni nazw używanych w jednym elemencie przekracza liczbę określoną w elemencie podrzędnym <NamespaceCountPerElement> elementu <StructureLimits> zasad.
Jeśli na przykład element <NamespaceCountPerElement> jest określony w zasadach jako 3, ale w danych wejściowych znajduje się element z więcej niż 3 przestrzeniami nazw, wystąpi ten błąd.
Diagnostyka
Sprawdź komunikat o błędzie, aby znaleźć nazwę zasady XMLThreatProtection i numer wiersza, w którym przekroczono liczbę 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ź zasadę, która nie została spełniona (zidentyfikowaną w kroku 1), i zanotuj wartość podaną w elemencie podrzędnym
<NamespaceCountPerElement>elementu<StructureLimits>.W tym przykładzie zasady XMLThreatProtection parametr
<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ź konkretny numer wiersza (zidentyfikowany w kroku 1) w ładunku wejściowym i zobacz, czy liczba przestrzeni nazw określonych w nim dla pojedynczego elementu jest większa niż liczba określona w elemencie
<NamespaceCountPerElement>(zidentyfikowanym w kroku 2). Jeśli liczba przestrzeni nazw przekracza limit liczby przestrzeni nazw na element, to jest to 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 pokazany powyżej w wierszu 2 zawiera więcej niż 3 przestrzenie nazw. Ponieważ liczba przestrzeni nazw jest większa niż 3 (wartość określona dla elementu
<NamespaceCountPerElement>), otrzymasz 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 chronić przed ładunkami, które przekraczają określoną liczbę przestrzeni nazw w jednym elemencie, ten komunikat o błędzie jest oczekiwany. W takim przypadku nie musisz nic więcej robić.
Jeśli jednak stwierdzisz, że można zezwolić na większą liczbę przestrzeni nazw, zmień wartość elementu podrzędnego <NamespaceCountPerElement> elementu <StructureLimits> na odpowiednią wartość zgodnie z Twoimi wymaganiami.
Jeśli na przykład uważasz, że w jednym elemencie możesz mieć maksymalnie 5 przestrzeni nazw, 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>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 na błąd
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. Reason: [error_description]", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Przykładowa treść odpowiedzi na błąd
{
"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 tym przykładzie nazwa zasady to
XML-Threat-Protection-1.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologueSprawdź ładunek wejściowy i zobacz, czy dokument XML przekazany w ładunku jest prawidłowo 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 pokazanym powyżej ładunku XML w wierszu 9 nieprawidłowo zamknięto element główny, ponieważ brakuje znaku
/. Ponieważ nie jest to poprawnie sformułowany plik XML, zobaczysz błąd:XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologue
Rozdzielczość
Upewnij się, że do każdego serwera proxy interfejsu API, który zawiera zasadę XMLThreatProtection, przekazywany jest prawidłowy wejściowy ładunek XML.
Aby naprawić opisany powyżej błąd, zmodyfikuj wejściowy ładunek XML w ten 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 na błąd
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition[policy_name]: Source[var_name] is not available" "detail": { "errorcode": "steps.xmlthreatprotection.SourceUnavailable" } } }
Przykładowa treść odpowiedzi na błąd
{
"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 jest:
- Poza zakresem (niedostępne w określonym procesie, w którym są wykonywane zasady)
- nie jest jedną z prawidłowych wartości
request,responseanimessage;
Ten błąd występuje na przykład, gdy element <Source> w zasadach jest ustawiony na zmienną, która nie istnieje w przepływie, w którym zasady są wykonywane.
Diagnostyka
Zidentyfikuj nazwę zasady XMLThreatProtection i nazwę zmiennej Source w komunikacie o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady XMLThreatProtection to
XML-Threat-Protection-1, a zmienna Source torequests:.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests is not availableSprawdź, czy w nieudanej zasadzie XMLThreatProtection wartość elementu
<Source>zidentyfikowanego w kroku 1 jest prawidłowa.W tym przykładzie zasady XMLThreatProtection element
<Source>ma wartość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>Prawidłowe wartości elementu
<Source>torequest,responselubmessage.. Ponieważrequestsnie jest prawidłową wartością i nie występuje w procesie, w którym wykonywana jest 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 ma wartość request, response lub message i czy występuje w przepływie, w którym jest wykonywana zasada.
Aby poprawić powyższą zasadę, 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 na błąd
{ "fault": { "faultstring": "Variable var_name does not resolve to a Message" "detail": { "errorcode": "steps.xmlthreatprotection.NonMessageVariable" } } }
Przykładowa treść odpowiedzi na błąd
{
"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 zasadach XMLThreatProtection ma wartość zmiennej, 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 w wiadomościach znajdziesz w dokumentacji zmiennych.
Diagnostyka
Z komunikatu o błędzie odczytaj nazwę zmiennej, która nie jest zmienną typu Message. Na przykład w tym komunikacie o błędzie nazwa zmiennej to
message.contentVariable message.content does not resolve to a MessageSprawdź wszystkie zasady XMLThreadProtection w proxy interfejsu API, w którym wystąpił błąd, i określ konkretną zasadę XMLThreadProtection, w której element
<Source>jest określony z nazwą zmiennej zidentyfikowaną w kroku 1 powyżej.W tym przykładzie zasady XMLThreatProtection parametr
<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.contentnie jest typu Message, pojawi się błąd:Variable message.content does not resolve to a Message
Rozdzielczość
Sprawdź, czy element <Source> w zasadach XMLThreatProtection, które nie zostały zastosowane, jest ustawiony na zmienną przepływu typu Message, która występuje w przepływie, w którym są wykonywane zasady.
Aby poprawić zasady, możesz zmodyfikować element <Source>, aby określić zmienną typu Message. Na przykład w przypadku nieudanej ochrony XMLThreatProtection możesz 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>