Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat dokumentasi
Apigee Edge.
ExecutionFailed
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition policy_name: Execution failed. Reason: error_description at line line_num (possibly around char char_num)", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Jenis Error dan kemungkinan penyebabnya
Kebijakan XMLThreatProtection dapat menampilkan berbagai jenis error ExecutionFailed. Tabel di bawah mencantumkan berbagai jenis error dan kemungkinan penyebabnya:
Error | Penyebab |
ElementNameExceeded | Panjang string maksimum yang diizinkan dalam tag XML terlampaui. |
ChildCountExceeded | Jumlah maksimum elemen turunan yang diizinkan dalam payload XML terlampaui. |
NodeDepthExceeded | Kedalaman maksimum elemen XML yang diizinkan dalam payload XML terlampaui. |
AttributeCountExceeded | Jumlah maksimum atribut dalam satu elemen terlampaui. |
AttributeNameExceeded | Panjang maksimum yang diizinkan untuk nama atribut terlampaui. |
AttributeValueExceeded | Panjang maksimum yang diizinkan untuk nilai atribut terlampaui. |
TextExceeded | Panjang maksimum yang diizinkan untuk teks terlampaui. |
CommentExceeded | Panjang maksimum yang diizinkan untuk komentar terlampaui. |
PIDataExceeded | Panjang data petunjuk pemrosesan yang diizinkan terlampaui. |
PITargetExceeded | Panjang nama petunjuk proses terlampaui. |
NSURIExceeded | Panjang URL namespace terlampaui. |
NSPrefixExceeded | Panjang awalan namespace terlampaui. |
NSCountExceeded | Jumlah namespace yang digunakan dalam satu elemen terlampaui. |
Payload XML Tidak Valid | Payload XML input tidak valid. |
ElementNameExceeded
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
Traffic runtime menampilkan kode respons 500 dengan error berikut:
{ "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" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload input yang ditentukan oleh elemen <Source>
kebijakan berisi elemen XML yang melebihi panjang maksimum yang ditentukan dalam elemen <Element>
di bawah elemen <NameLimits>
.
Misalnya, jika elemen <Element>
ditentukan sebagai 5
dalam kebijakan XMLThreatProtection, tetapi payload input memiliki elemen yang memiliki lebih dari 5 karakter, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection, nomor baris, dan kemungkinan jumlah karakter dalam payload input tempat panjang elemen terlampaui.
Misalnya, dalam pesan error berikut, nama kebijakan adalah
XML-Threat-Protection-1,
, nomor baris dalam payload adalah1
, dan kemungkinan nomor karakter adalah9.
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)
Periksa kebijakan yang gagal (diidentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen
<Element>
.Misalnya, dalam kebijakan XMLThreatProtection berikut,
<Element>
ditetapkan ke5
:<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah panjang elemen pada baris tersebut lebih besar dari nilai yang ditentukan untuk elemen
<Element>
(diidentifikasi pada Langkah 2). Jika panjang elemen melebihi nilai ini, hal tersebut adalah penyebab error.Berikut adalah contoh payload input:
<company> <name>Example</name> <country>USA</country> </company>
Payload XML yang ditampilkan di atas memiliki elemen root bernama
company
di baris 1 yang memiliki 7 karakter. Karena panjang elemen lebih besar dari 5 (nilai yang ditentukan untuk elemen<Element>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreadProtection dimaksudkan untuk melindungi dari payload dengan nama elemen yang melebihi nilai yang ditentukan, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa elemen yang lebih panjang dapat ditentukan dalam payload tanpa konsekuensi apa pun, ubah <Element>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat mengizinkan elemen hingga panjang 10, ubah kebijakan XMLThreatProtection sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition policy_name: Execution failed. reason: XMLThreatProtection stepDefinition policy_name: Children count exceeded num at line num(possibly around char num)", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
berisi elemen XML yang berisi lebih banyak elemen turunan daripada nilai yang ditentukan dalam elemen <ChildCount>
kebijakan.
Misalnya, jika elemen <ChildCount>
adalah 3, tetapi payload XML input memiliki elemen dengan lebih dari 3 elemen turunan, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah entri terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XML-Threat-Protection-1
dan nomor baris dalam payload adalah5
: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)"
Periksa kebijakan yang gagal (diidentifikasi pada Langkah 1) dan catat nilai yang ditentukan dalam elemen
<ChildCount>
.Dalam contoh kebijakan berikut,
<ChildCount>
ditetapkan ke3
(perhatikan bahwa komentar, elemen yang disertakan, dan lainnya dihitung dalam batas ini):<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah jumlah elemen turunan (termasuk semua komentar, dll.) dalam payload lebih besar dari nilai yang ditentukan untuk elemen
<ChildCount>
(diidentifikasi pada Langkah 2). Jika jumlah elemen turunan melebihi jumlah turunan, hal itu adalah penyebab error.Berikut adalah contoh payload input:
<movie> <title>Jurassic Park</title> <language>English</language> <country>USA</country> <director>Steven Spielberg</director> </movie>
Dalam payload XML yang ditampilkan di atas, baris 5 berisi elemen turunan keempat
<director>
dari elemen root<movie>
. Karena jumlah elemen turunan dalam payload XML input lebih besar dari 3 (nilai yang ditentukan untuk elemen<ChildCount>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload dengan jumlah elemen turunan yang melebihi nilai minimum tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa elemen turunan dalam jumlah yang lebih besar (termasuk komentar, dll.) dapat disertakan dalam payload tanpa konsekuensi apa pun, ubah <ChildCount>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat mengizinkan hingga 10 elemen turunan, ubah kebijakan XMLThreatProtection sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]: Node depth exceeded [num] at line [num](possibly around char [num])", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
berisi dokumen XML dengan hierarki node yang melebihi jumlah yang ditentukan dalam elemen <NodeDepth>
kebijakan XMLThreatProtection.
Misalnya, jika elemen <NodeDepth>
ditentukan sebagai 4
dalam kebijakan, tetapi payload input memiliki kedalaman node yang melebihi 4
, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat kedalaman node terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XML-Threat-Protection-1
dan nomor baris dalam payload adalah6
: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)
Periksa kebijakan XMLThreatProtection yang gagal (diidentifikasi di Langkah 1) dan catat nilai yang ditentukan dalam elemen
<NodeDepth>
.Dalam contoh kebijakan XMLThreatProtection berikut,
<NodeDepth>
ditetapkan ke5
:<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah kedalaman node yang ditentukan di sana memiliki jumlah yang lebih tinggi daripada jumlah yang ditentukan dalam elemen
<NodeDepth>
(diidentifikasi pada Langkah 2). Jika level elemen turunan XML melebihi jumlah, hal tersebut adalah penyebab error.Berikut adalah contoh payload input:
<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>
Payload XML yang ditampilkan di atas pada baris 6 memiliki kedalaman node 6
.
Karena kedalaman node lebih besar dari 5 (nilai yang ditentukan untuk elemen<NodeDepth>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload dengan nilai minimum kedalaman node tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa kedalaman node yang lebih besar dapat diizinkan, ubah <NodeDepth>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat mengizinkan kedalaman node hingga 10, ubah kebijakan sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]: Attribute count exceeded [num] at line [num](possibly around char [num])", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
kebijakan XMLThreatProtection berisi dokumen XML dengan jumlah atribut satu elemen melebihi jumlah yang ditentukan dalam elemen <AttributeCountPerElement>
kebijakan.
Misalnya, jika elemen <AttributeCountPerElement>
ditentukan sebagai 2
dalam kebijakanXMLThreatProtection, tetapi payload input memiliki elemen dengan lebih dari 2 atribut, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah atribut terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XMLThreat-Protection-1
dan nomor baris dalam payload adalah3
: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)
Periksa kebijakan yang gagal (diidentifikasi pada Langkah 1), dan catat nilai yang ditentukan dalam elemen
<AttributeCountPerElement>
.Dalam contoh kebijakan berikut,
<AttributeCountPerElement>
ditetapkan ke2
:<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah jumlah atribut yang ditentukan melebihi jumlah yang ditentukan dalam elemen
<AttributeCountPerElementh>
(diidentifikasi pada Langkah 2). Jika jumlah atribut melebihi jumlah, hal itu adalah penyebab error.Berikut adalah contoh payload input:
<?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>
Payload XML yang ditampilkan di atas pada baris 3 memiliki elemen dengan tiga atribut. Karena jumlah atribut lebih besar dari 2 (nilai yang ditentukan untuk elemen
<AttributeCountPerElement>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload yang melebihi jumlah atribut tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa jumlah atribut yang lebih besar dapat diizinkan, ubah <AttributeCountPerElement>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat mengizinkan sejumlah atribut per elemen hingga 5, ubah kebijakan sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]: Attribute name length exceeded [num] at line [num](possibly around char [num])", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
kebijakan XMLThreatProtection berisi dokumen XML dengan nama atribut yang melebihi jumlah karakter yang ditentukan dalam elemen turunan <Attribute>
dari elemen <NameLimits>
kebijakan.
Misalnya, jika elemen <Attribute>
ditentukan sebagai 5
dalam kebijakan, tetapi payload input memiliki nama atribut dengan lebih dari 5 karakter, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat panjang nama atribut terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XML-Threat-Protection-1
dan nomor baris dalam payload adalah3
: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)
Periksa kebijakan yang gagal (diidentifikasi pada Langkah 1) dan catat nilai yang ditentukan dalam elemen
<Attribute>
Dalam contoh kebijakan XMLThreatProtection berikut,
<Attribute>
ditetapkan ke5
:<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah panjang atribut yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen
<Attribute>
(diidentifikasi pada Langkah 2). Jika jumlah karakter melebihi nilai atribut, hal itu adalah penyebab error.Berikut adalah contoh payload input:
<?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>
Payload XML yang ditampilkan di atas pada baris 3 memiliki dua atribut
category
dancuisine
dengan panjang nama masing-masing 8 dan 7 karakter.
Karena panjang nama atribut lebih besar dari 5 (nilai yang ditentukan untuk elemen<Attribute>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload yang melebihi panjang nama atribut tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa panjang nama atribut yang lebih panjang dapat diizinkan, ubah <Attribute>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat memiliki nama atribut hingga 10 karakter, ubah kebijakan sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]: Attribute value length exceeded [num] at line [num](possibly around char [num])", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
kebijakan berisi dokumen XML dengan nilai atribut yang melebihi jumlah karakter yang ditentukan dalam elemen turunan <Attribute>
dari elemen <ValueLimits>
.
Misalnya, jika elemen <Attribute>
ditentukan sebagai 10
dalam kebijakan XMLThreatProtection, tetapi payload input memiliki nilai atribut dengan lebih dari 10 karakter, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah atribut terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XML-Threat-Protection-1
dan nomor baris dalam payload adalah3
: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)
Periksa kebijakan yang gagal (diidentifikasi pada Langkah 1) dan catat nilai yang ditentukan di elemen turunan
<Attribute>
dari elemen<ValueLimits>
.Dalam contoh kebijakan XMLThreatProtection berikut,
<Attribute>
ditetapkan ke 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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah panjang nilai atribut yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen
<Attribute>
(diidentifikasi pada Langkah 2). Jika jumlah karakter melebihi nilai atribut, hal itu adalah penyebab error.Berikut adalah contoh payload input:
<?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>
Payload XML yang ditampilkan di atas pada baris 3 memiliki atribut (cuisine) dengan panjang nilai 12 karakter. Karena panjang nilai atribut lebih besar dari 10 (nilai yang ditentukan untuk elemen
<Attribute>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload yang melebihi panjang nilai atribut tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa nilai atribut yang lebih panjang dapat diizinkan, ubah elemen turunan <Attribute>
dari elemen <ValueLimits>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat mengatribusikan nilai hingga 15 karakter, ubah kebijakan sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]: Text length exceeded [num] at line [num](possibly around char [num])", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
kebijakan XMLThreatProtection berisi dokumen XML dengan panjang teks elemen melebihi jumlah karakter yang ditentukan dalam elemen turunan <Text>
dari elemen <ValueLimits>
kebijakan.
Misalnya, jika elemen <Text>
ditentukan sebagai 15
dalam kebijakan, tetapi payload input memiliki teks dengan lebih dari 15 karakter, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah atribut terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XML-Threat-Protection-1
dan nomor baris dalam payload adalah4
: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)
Periksa kebijakan yang gagal (diidentifikasi pada Langkah 1) dan catat nilai yang ditentukan di elemen turunan
<Text>
dari elemen<ValueLimits>
.Dalam contoh kebijakan XMLThreatProtection berikut,
<Text>
ditetapkan ke15
:<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah panjang nilai atribut yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen
<Text>
(diidentifikasi pada Langkah 2). Jika jumlah karakter melebihi nilai atribut, hal itu adalah penyebab error.<food> <name>Veg Sandwich</name> <price>$5.95</price> <description>Vegetarian Sandwich with onions, tomatoes and lettuce</description> <calories>650</calories> </food>
Payload XML yang ditampilkan di atas pada baris 4 memiliki teks dengan panjang 53 karakter. Karena panjang nilai atribut lebih besar dari 15 (nilai yang ditentukan untuk elemen
<Text>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload yang melebihi panjang teks tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa panjang teks yang lebih panjang dapat diizinkan, ubah elemen turunan <Text>
dari elemen <ValueLimits>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat memiliki nilai atribut hingga 60 karakter, ubah kebijakan sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]: Comment length exceeded [num] at line [num](possibly around char [num])", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
kebijakan XMLThreatProtection berisi dokumen XML dengan panjang komentar melebihi jumlah karakter yang ditentukan dalam elemen turunan <Comment>
dari elemen <ValueLimits>
kebijakan.
Misalnya, jika elemen <Comment>
ditentukan sebagai 10
dalam kebijakan, tetapi payload input memiliki komentar dengan lebih dari 10 karakter, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat panjang komentar terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XML-Threat-Protection-1
dan nomor baris dalam payload adalah2
: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)
Periksa kebijakan yang gagal (diidentifikasi pada Langkah 1) dan catat nilai yang ditentukan di elemen turunan
<Comment>
dari elemen<ValueLimits>
.Dalam contoh kebijakan XMLThreatProtection berikut,
<Comment>
ditetapkan ke10
:<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah panjang komentar yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen
<Comment>
(diidentifikasi pada Langkah 2). Jika jumlah karakter melebihi nilai atribut, hal itu adalah penyebab error.Berikut adalah contoh payload input:
<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>
Payload XML yang ditampilkan di atas pada baris 2 memiliki komentar dengan panjang nilai 31 karakter
.
Karena panjang komentar lebih besar dari 10 (nilai yang ditentukan untuk elemen<Comment>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload yang melebihi panjang komentar tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda memutuskan bahwa komentar yang lebih panjang dapat diizinkan, ubah elemen turunan <Comment>
dari elemen <ValueLimits>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat mengatribusikan nilai hingga 40 karakter, ubah kebijakan sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]: Processing Instruction data length exceeded [num] at line [num](possibly around char [num])", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
kebijakan XMLThreatProtection berisi dokumen XML dengan petunjuk pemrosesan data yang melebihi jumlah karakter yang ditentukan dalam elemen turunan <ProcessingInstructionData>
dari elemen <ValueLimits>
kebijakan.
Misalnya, jika elemen <ProcessingInstructionData>
ditentukan sebagai 10
dalam kebijakan XMLThreatProtection, tetapi payload input memiliki petunjuk pemrosesan dengan lebih dari 10 karakter, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat panjang petunjuk pemrosesan terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XML-Threat-Protection-1
dan nomor baris dalam payload adalah2
: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)
Periksa kebijakan yang gagal (diidentifikasi pada Langkah 1) dan catat nilai yang ditentukan di elemen turunan
<ProcessingInstructionData>
dari elemen<ValueLimits>
.Dalam contoh kebijakan XMLThreatProtection berikut,
<ProcessingInstructionData>
ditetapkan ke30
:<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah panjang data petunjuk pemrosesan yang ditentukan di sana memiliki lebih banyak karakter daripada angka yang ditentukan dalam elemen
<ProcessingInstructionData>
(diidentifikasi pada Langkah 2). Jika jumlah karakter melebihi data petunjuk pemrosesan, hal itu adalah penyebab error.Berikut adalah contoh payload input:
<?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>
Payload XML yang ditampilkan di atas pada baris 1 memiliki elemen data petunjuk pemrosesan (
type="text/xsl" href="mobilephones.xsl"?)
dengan panjang 40 karakter.
Karena panjang ini lebih besar dari 30 (nilai yang ditentukan untuk elemen<ProcessingInstructionData>
), Anda mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload yang melebihi panjang data petunjuk pemrosesan tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa elemen data petunjuk pemrosesan yang lebih panjang dapat diizinkan, ubah elemen turunan <ProcessingInstructionData>
dari elemen <ValueLimits>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat memiliki panjang petunjuk pemrosesan data hingga 50 karakter, ubah kebijakan sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]: Processing Instruction target length exceeded [num] at line [num](possibly around char [num])", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
kebijakan XMLThreatProtection berisi dokumen XML dengan target petunjuk proses yang melebihi jumlah karakter yang ditentukan dalam elemen turunan <ProcessingInstructionTarget>
dari elemen <NameLimits>
kebijakan.
Misalnya, jika elemen <ProcessingInstructionTarget>
ditentukan sebagai 10
dalam kebijakan XMLThreatProtection, tetapi payload input memiliki target petunjuk proses dengan lebih dari 10 karakter, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah target petunjuk pemrosesan terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XML-Threat-Protection-1
dan nomor baris dalam payload adalah1
: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)
Periksa kebijakan XMLThreatProtection yang gagal (diidentifikasi pada Langkah #1) dan catat nilai yang ditentukan dalam elemen turunan
<ProcessingInstructionTarget>
dari elemen<NameLimits
>.Dalam contoh kebijakan XMLThreatProtection berikut,
<ProcessingInstructionTarget>
ditetapkan ke10
:<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah panjang target petunjuk pemrosesan yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen
<ProcessingInstructionTarget>
(diidentifikasi pada Langkah 2). Jika jumlah karakter melebihi batas ukuran target, hal itu adalah penyebab error.Berikut adalah contoh payload input:
<?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>
Payload XML yang ditampilkan di atas pada baris 2 memiliki nama target petunjuk pemrosesan "
xml-stylesheet"
dengan panjang 14 karakter. Karena nama target petunjuk pemrosesan lebih dari 10 (nilai yang ditentukan untuk elemen<ProcessingInstructionTarget>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload yang melebihi panjang target petunjuk proses tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa target petunjuk proses dapat lebih lama, ubah elemen turunan <ProcessingInstructionTarget>
dari elemen <NameLimits>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat memiliki target petunjuk proses hingga 25 karakter, ubah kebijakan sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]: Namespace uri length length exceeded [num] at line [num](possibly around char [num])", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
kebijakan XMLThreatProtection berisi dokumen XML dengan URI Namespace yang melebihi jumlah karakter yang ditentukan dalam elemen turunan <NamespaceURI>
dari elemen <ValueLimits>
kebijakan.
Misalnya, jika elemen <NamespaceURI>
ditentukan sebagai 10
dalam kebijakan, tetapi payload input memiliki URI namespace dengan lebih dari 10 karakter, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat panjang URI namespace terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XML-Threat-Protection-1
dan nomor baris dalam payload adalah2
: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)
Periksa kebijakan yang gagal (diidentifikasi pada Langkah 1) dan catat nilai yang ditentukan di elemen turunan
<NamespaceURI>
dari elemen<ValueLimits
>.Dalam contoh kebijakan XMLThreatProtection berikut,
<NamespaceURI>
ditetapkan ke10
:<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah panjang URI namespace yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen
<NamespaceURI>
(diidentifikasi pada Langkah 2). Jika jumlah karakter melebihi panjang URI namespace, hal itu adalah penyebab error.Berikut adalah contoh payload input:
<?xml version = "1.0" encoding = "UTF-8"?> <profile:user xmlns:profile = "www.example.com/profile"> <profile:name>Rama Krishna</profile:name> <profile:company>Example</profile:company> <profile:phone>(91) 9876543210</profile:phone> </profile:user>
Payload XML yang ditampilkan di atas pada baris 2 memiliki URI namespace,
http://www.example/profile
, dengan panjang 22 karakter. Karena panjang URI namespace lebih besar dari 10 (nilai yang ditentukan untuk elemen<NamespaceURI>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload yang melebihi panjang URI namespace tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa URI namespace yang lebih panjang dapat diizinkan, ubah elemen turunan <NamespaceURI>
dari elemen <ValueLimits>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat memiliki panjang URI namespace hingga 30 karakter, ubah kebijakan sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]: Namespace prefix length exceeded [num] at line [num](possibly around char [num])", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
berisi dokumen XML dengan awalan Namespace yang melebihi jumlah karakter yang ditentukan dalam elemen turunan <NamespacePrefix>
dari elemen <NameLimits>
kebijakan.
Misalnya, jika elemen <NamespacePrefix>
ditentukan sebagai 10
dalam kebijakan XMLThreatProtection, tetapi payload input memiliki awalan namespace dengan lebih dari 10 karakter, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat panjang awalan URI namespace terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XML-Threat-Protection-1
dan nomor baris dalam payload adalah2
: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)
Periksa kebijakan yang gagal (diidentifikasi pada Langkah 1) dan catat nilai yang ditentukan di elemen turunan
<NamespacePrefix>
dari elemen<NameLimits
>.Dalam contoh kebijakan XMLThreatProtection berikut,
<NamespacePrefix>
ditetapkan ke10
:<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah panjang awalan namespace yang ditentukan di sana memiliki lebih banyak karakter daripada jumlah yang ditentukan dalam elemen
<NamespacePrefix>
(diidentifikasi pada Langkah 2). Jika jumlah karakter melebihi batas awalan namespace, hal tersebut adalah penyebab error.Berikut adalah contoh payload input:
<?xml version = "1.0" encoding = "UTF-8"?> <userprofile:user xmlns:userprofile = "www.example/profile"> <userprofile:name>Rama Krishna</userprofile:name> <userprofile:company>Example</userprofile:company> <userprofile:phone>(011) 123-4567</userprofile:phone> </userprofile:user>
Payload XML yang ditampilkan di atas pada baris 2 memiliki awalan namespace
userprofile
dengan panjang 11 karakter. Karena panjang awalan URI namespace lebih besar dari 10 (nilai yang ditentukan untuk elemen<NamespacePrefix>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload yang melebihi panjang awalan URI namespace tertentu, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa awalan URI namespace yang lebih panjang dapat diizinkan, ubah elemen turunan <NamespacePrefix>
dari elemen <NameLimits>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat memiliki panjang awalan URI namespace hingga 15 karakter, ubah kebijakan sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]: Namespace count exceeded [num] at line [num](possibly around char [num])", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"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"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
kebijakan XMLThreatProtection berisi dokumen XML dengan jumlah namespace yang digunakan dalam satu elemen melebihi jumlah yang ditentukan dalam elemen turunan <NamespaceCountPerElement>
dari elemen <StructureLimits>
kebijakan.
Misalnya, jika elemen <NamespaceCountPerElement>
ditentukan sebagai 3
dalam kebijakan, tetapi payload input memiliki elemen dengan lebih dari 3 namespace, error ini akan ditampilkan.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan XMLThreatProtection dan nomor baris tempat jumlah namespace terlampaui. Misalnya, dalam pesan error berikut, nama kebijakan adalah
XMLThreat-Protection-1
dan nomor baris dalam payload adalah2
: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)
Periksa kebijakan yang gagal (diidentifikasi pada Langkah 1) dan catat nilai yang ditentukan di elemen turunan
<NamespaceCountPerElement>
dari elemen<StructureLimits
>.Dalam contoh kebijakan XMLThreatProtection berikut,
<NamespaceCountPerElement>
ditetapkan ke3
:<?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>
Periksa nomor baris tertentu (diidentifikasi pada Langkah 1) dari payload input dan periksa apakah jumlah namespace yang ditentukan di sana untuk satu elemen lebih tinggi dari jumlah yang ditentukan dalam elemen
<NamespaceCountPerElement>
(diidentifikasi pada Langkah 2). Jika jumlah namespace melebihi batas jumlah namespace per elemen, hal tersebut adalah penyebab error.Berikut adalah contoh payload input:
<?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>
Payload XML yang ditampilkan di atas pada baris 2 memiliki lebih dari 3 namespace. Karena jumlah namespace lebih besar dari 3 (nilai yang ditentukan untuk elemen
<NamespaceCountPerElement>
), Anda akan mendapatkan error berikut: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)
Resolusi
Jika kebijakan XMLThreatProtection dimaksudkan untuk melindungi dari payload yang melebihi jumlah namespace tertentu dalam satu elemen, pesan error akan muncul. Dalam hal ini, Anda tidak perlu melakukan tindakan tambahan apa pun.
Namun, jika Anda menentukan bahwa namespace dalam jumlah yang lebih besar dapat diizinkan, ubah elemen turunan <NamespaceCountPerElement>
dari elemen <StructureLimits>
ke nilai yang sesuai berdasarkan persyaratan Anda.
Misalnya, jika Anda merasa dapat memiliki hingga 5 namespace dalam satu elemen, ubah kebijakan sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.ExecutionFailed
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. Reason: [error_description]", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Contoh isi respons Error
{
"fault": {
"faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
Execution failed. reason: Syntax error while parsing XML prologue",
"detail": {
"errorcode": "steps.xmlthreatprotection.ExecutionFailed"
}
}
}
Penyebab
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source>
kebijakan XMLProtectionPolicy bukan Dokumen XML yang valid.
Diagnosis
Periksa pesan error untuk mengidentifikasi nama kebijakan tempat error terjadi. Dalam contoh berikut, nama kebijakan adalah
XML-Threat-Protection-1
.XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologue
Periksa payload input dan periksa apakah dokumen XML yang diteruskan dalam payload memang merupakan dokumen XML yang terbentuk dengan baik atau tidak.
Berikut adalah contoh payload input:
<?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>
Dalam payload XML yang ditampilkan di atas, baris 9 tidak menutup elemen root dengan benar karena
/
tidak ada. Karena ini bukan XML yang terbentuk dengan baik, Anda akan mendapatkan error:XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: Syntax error while parsing XML prologue
Resolusi
Pastikan payload XML input yang valid diteruskan ke proxy API yang menyertakan kebijakan XMLThreatProtection.
Untuk memperbaiki contoh error yang dijelaskan di atas, ubah payload XML input sebagai berikut:
<?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
Kode Error
steps.xmlthreatprotection.SourceUnavailable
Isi respons error
{ "fault": { "faultstring": "XMLThreatProtection stepDefinition[policy_name]: Source[var_name] is not available" "detail": { "errorcode": "steps.xmlthreatprotection.SourceUnavailable" } } }
Contoh isi respons Error
{
"fault": {
"faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
Source requests is not available",
"detail": {
"errorcode": "steps.xmlthreatprotection.SourceUnavailable"
}
}
}
Penyebab
Error ini terjadi jika variabel message yang ditentukan dalam elemen <Source>
kebijakan XMLThreatProtection adalah:
- Di luar cakupan (tidak tersedia dalam alur tertentu tempat kebijakan dijalankan)
- Bukan salah satu nilai yang valid
request
,response
, ataumessage
Misalnya, error ini terjadi jika elemen <Source>
dalam kebijakan disetel ke variabel yang tidak ada dalam alur tempat kebijakan dijalankan.
Diagnosis
Identifikasi nama kebijakan XMLThreatProtection, dan nama variabel Source dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan XMLThreatProtection adalah
XML-Threat-Protection-1
dan variabel Source adalahrequests:
XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests is not available
Periksa kebijakan XMLThreatProtection yang gagal dan periksa nilai yang ditentukan untuk elemen
<Source>
yang diidentifikasi pada Langkah 1.Dalam contoh kebijakan XMLThreatProtection berikut, elemen
<Source>
ditetapkan kerequests
.<?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>
Nilai yang valid untuk elemen
<Source>
adalahrequest
,response
, ataumessage.
. Karenarequests
bukan nilai yang valid dan tidak ada dalam alur tempat kebijakan dijalankan, Anda akan mendapatkan error:XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests is not available
Resolusi
Pastikan variabel yang ditetapkan di elemen <Source>
kebijakan XMLThreatProtection yang gagal ditetapkan ke request
, response
, atau message
dan ada dalam alur tempat kebijakan dieksekusi.
Untuk memperbaiki contoh kebijakan yang ditampilkan di atas, Anda dapat mengubah elemen <Source>
untuk menggunakan variabel request
, karena variabel tersebut ada dalam alur permintaan:
<?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
Kode Error
steps.xmlthreatprotection.NonMessageVariable
Isi respons error
{ "fault": { "faultstring": "Variable var_name does not resolve to a Message" "detail": { "errorcode": "steps.xmlthreatprotection.NonMessageVariable" } } }
Contoh isi respons Error
{
"fault": {
"faultstring": "Variable message.content does not resolve to a Message",
"detail": {
"errorcode": "steps.xmlthreatprotection.NonMessageVariable"
}
}
}
Penyebab
Error ini terjadi jika elemen <Source>
dalam kebijakan XMLThreatProtection ditetapkan ke variabel yang bukan dari jenis message
.
Variabel jenis pesan mewakili seluruh permintaan dan respons HTTP. Variabel alur Apigee bawaan request
, response
, dan message
berjenis Message. Untuk mempelajari variabel pesan lebih lanjut, lihat Referensi variabel alur.
Diagnosis
Identifikasi nama variabel yang me-resolve ke jenis variabel Message dari pesan error. Misalnya, dalam pesan error berikut, nama variabel adalah
message.content
Variable message.content does not resolve to a Message
Periksa semua kebijakan XMLThreadProtection di proxy API tempat kegagalan terjadi dan identifikasi kebijakan XMLThreadProtection tertentu tempat elemen
<Source>
ditentukan dengan nama variabel yang diidentifikasi pada Langkah 1 di atas.Dalam contoh kebijakan XMLThreatProtection berikut,
<Source>
ditetapkan kemessage.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>
Karena variabel
message.content
bukan dari jenis Message, Anda akan mendapatkan error:Variable message.content does not resolve to a Message
Resolusi
Pastikan elemen <Source>
dalam kebijakan XMLThreatProtection yang gagal ditetapkan ke variabel alur message
yang ada dalam alur tempat kebijakan dieksekusi.
Untuk memperbaiki kebijakan, Anda dapat mengubah elemen <Source>
untuk menentukan variabel yang berjenis Message. Misalnya, dalam XMLThreatProtection yang gagal, Anda dapat menentukan elemen <Source>
sebagai 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>