XMLThreatProtection নীতি রানটাইম ত্রুটি সমস্যা সমাধান

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

এক্সিকিউশন ব্যর্থ হয়েছে

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition policy_name:
        Execution failed. Reason: error_description at line line_num
        (possibly around char char_num)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: Premature end of document while parsing at line 5(possibly  around char 0)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রকারভেদ এবং সম্ভাব্য কারণসমূহ

XMLThreatProtection পলিসিটি বিভিন্ন ধরনের ExecutionFailed এরর দেখাতে পারে। নিচের সারণিতে বিভিন্ন ধরনের এরর এবং সেগুলোর সম্ভাব্য কারণগুলো তালিকাভুক্ত করা হলো:

ত্রুটি কারণ
ElementNameExceeded XML ট্যাগে অনুমোদিত সর্বোচ্চ স্ট্রিং দৈর্ঘ্য অতিক্রম করা হয়েছে।
শিশুর সংখ্যা অতিক্রম করেছে একটি XML পেলোডে অনুমোদিত চাইল্ড এলিমেন্টের সর্বোচ্চ সংখ্যা অতিক্রম করা হয়েছে।
নোডডেপথএক্সসিডেড একটি XML পেলোডে অনুমোদিত XML এলিমেন্টের সর্বোচ্চ গভীরতা অতিক্রম করা হয়েছে।
অ্যাট্রিবিউটকাউন্টএক্সিডেড একটি উপাদানে অ্যাট্রিবিউটের সর্বোচ্চ সংখ্যা অতিক্রম করা হয়েছে।
অ্যাট্রিবিউটের নাম অতিক্রম করেছে অ্যাট্রিবিউটের নামের জন্য অনুমোদিত সর্বোচ্চ দৈর্ঘ্য অতিক্রম করা হয়েছে।
অ্যাট্রিবিউটভ্যালুএক্সিডেড অ্যাট্রিবিউট মানের জন্য অনুমোদিত সর্বোচ্চ দৈর্ঘ্য অতিক্রম করা হয়েছে।
পাঠ্য অতিক্রম করেছে লেখার জন্য অনুমোদিত সর্বোচ্চ দৈর্ঘ্য অতিক্রম করা হয়েছে।
মন্তব্য অতিক্রম করেছে মন্তব্যের জন্য অনুমোদিত সর্বোচ্চ দৈর্ঘ্য অতিক্রম করা হয়েছে।
PIDataExceeded অনুমোদিত প্রক্রিয়াকরণ নির্দেশনার ডেটার দৈর্ঘ্য অতিক্রম করা হয়েছে।
PITargetExceeded প্রসেস ইনস্ট্রাকশন নামের দৈর্ঘ্য অতিক্রম করা হয়েছে।
NSURI ছাড়িয়ে গেছে নেমস্পেস ইউআরএল-এর দৈর্ঘ্য অতিক্রম করা হয়েছে।
NSPrefixExceeded নেমস্পেস প্রিফিক্সের দৈর্ঘ্য অতিক্রম করা হয়েছে।
NSCountExceeded একটি এলিমেন্টে ব্যবহৃত নেমস্পেসের সংখ্যা অতিক্রম করা হয়েছে।
অবৈধ XML পেলোড ইনপুট এক্সএমএল পেলোডটি অবৈধ।

ElementNameExceeded

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

রানটাইম ট্র্যাফিক নিম্নলিখিত ত্রুটি সহ একটি 500 প্রতিক্রিয়া কোড ফেরত দেয়:

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition policy_name:
        Execution failed. reason: XMLThreatProtection stepDefinition policy_name:
        Element name length exceeded num at line line_num(possibly
        around char char_num)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Element name length exceeded 5 at line 1(possibly around char 9)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

পলিসির <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট পেলোডে যদি এমন XML এলিমেন্ট থাকে যা <NameLimits> এলিমেন্টের নিচের <Element> এলিমেন্টে নির্দিষ্ট করা সর্বোচ্চ দৈর্ঘ্যকে অতিক্রম করে, তাহলে এই ত্রুটিটি ঘটে।

উদাহরণস্বরূপ, যদি XMLThreatProtection পলিসিতে <Element> এলিমেন্টটিকে 5 হিসাবে নির্দিষ্ট করা হয়, কিন্তু ইনপুট পেলোডে এমন কোনো এলিমেন্ট থাকে যাতে 5টির বেশি অক্ষর রয়েছে, তাহলে এই ত্রুটিটি প্রদর্শিত হয়।

রোগ নির্ণয়

  1. ত্রুটির বার্তাটি পরীক্ষা করে XMLThreatProtection পলিসির নাম, লাইন নম্বর এবং ইনপুট পেলোডের সেই সম্ভাব্য অক্ষর নম্বরটি শনাক্ত করুন যেখানে এলিমেন্টের দৈর্ঘ্য অতিক্রম করা হয়েছিল।

    উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটি বার্তায়, পলিসির নাম হলো XML-Threat-Protection-1, পেলোডের লাইন নম্বর হলো 1 , এবং সম্ভাব্য অক্ষর নম্বর হলো 9.

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Element name
    length exceeded 5 at line 1(possibly around char 9)
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ পলিসিটি পরীক্ষা করুন এবং <Element> এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    উদাহরণস্বরূপ, নিম্নলিখিত XMLThreatProtection পলিসিতে, <Element> মান 5 সেট করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>5</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>5</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেই লাইনের এলিমেন্টের দৈর্ঘ্য <Element> এলিমেন্টের জন্য নির্দিষ্ট করা মানের (ধাপ ২-এ চিহ্নিত) চেয়ে বেশি কি না। যদি এলিমেন্টের দৈর্ঘ্য এই মানকে অতিক্রম করে, তাহলে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

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

    উপরে দেখানো XML পেলোডটির ১ নম্বর লাইনে company নামের একটি রুট এলিমেন্ট আছে, যেটিতে ৭টি অক্ষর রয়েছে। যেহেতু এলিমেন্টটির দৈর্ঘ্য ৫-এর (যা <Element> এলিমেন্টের জন্য নির্দিষ্ট করা মান) চেয়ে বেশি, তাই আপনি নিম্নলিখিত ত্রুটিটি পাবেন:

    XML-Threat-Protection-1: Execution failed. reason: XMLThreatProtection stepDefinition
    XML-Threat-Protection-1: Element name length exceeded 5 at line 1(possibly around char 9)
    

সমাধান

যদি XMLThreadProtection পলিসিটির উদ্দেশ্য হয় নির্ধারিত মানের চেয়ে বড় এলিমেন্ট নামযুক্ত পেলোড থেকে সুরক্ষা দেওয়া, তাহলে এরর মেসেজটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে কোনো সমস্যা ছাড়াই পেলোডে আরও দীর্ঘ উপাদান উল্লেখ করা যেতে পারে, তাহলে আপনার প্রয়োজন অনুযায়ী <Element> কে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে আপনি ১০ পর্যন্ত দৈর্ঘ্যের এলিমেন্ট অনুমোদন করতে পারেন, তাহলে XMLThreatProtection পলিসিটি নিম্নরূপভাবে পরিবর্তন করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>5</NodeDepth>
        <AttributeCountPerElement>2</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

শিশুর সংখ্যা অতিক্রম করেছে

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition policy_name:
        Execution failed. reason: XMLThreatProtection stepDefinition policy_name:
        Children count exceeded num at line  num(possibly
        around char num)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Children count exceeded 3 at line 5(possibly around char 89)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন কোনো XML এলিমেন্ট থাকে, যেটিতে পলিসির <ChildCount> এলিমেন্টে নির্দিষ্ট করা মানের চেয়ে বেশি চাইল্ড এলিমেন্ট থাকে।

উদাহরণস্বরূপ, যদি <ChildCount> এলিমেন্টের মান ৩ হয়, কিন্তু ইনপুট XML পেলোডে এমন কোনো এলিমেন্ট থাকে যার ৩টির বেশি চাইল্ড এলিমেন্ট আছে, তাহলে এই এররটি দেখানো হয়।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে এন্ট্রি সংখ্যা অতিক্রম করা হয়েছে, তা শনাক্ত করতে এরর মেসেজটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত এরর মেসেজে, পলিসির নাম হলো XML-Threat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 5 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Children
    count exceeded 3 at line 5(possibly around char 89)"
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ পলিসিটি পরীক্ষা করুন এবং <ChildCount> এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত পলিসি উদাহরণে, <ChildCount> মান 3 নির্ধারণ করা হয়েছে (উল্লেখ্য যে, কমেন্ট, ইনক্লুড এলিমেন্ট এবং অন্যান্য বিষয়ও এই সীমার মধ্যে গণনা করা হয়):

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>5</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে পেলোডটিতে থাকা চাইল্ড এলিমেন্টের সংখ্যা (সমস্ত মন্তব্য ইত্যাদি সহ) <ChildCount> এলিমেন্টের জন্য নির্দিষ্ট করা মানের (ধাপ ২-এ চিহ্নিত) চেয়ে বেশি কি না। যদি চাইল্ড এলিমেন্টের সংখ্যা চাইল্ড কাউন্টকে অতিক্রম করে, তাহলে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

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

    উপরে দেখানো XML পেলোডে, ৫ নং লাইনে <movie> রুট এলিমেন্টের একটি চতুর্থ চাইল্ড এলিমেন্ট <director> রয়েছে। যেহেতু ইনপুট XML পেলোডে চাইল্ড এলিমেন্টের সংখ্যা <ChildCount> এলিমেন্টের জন্য নির্দিষ্ট করা মান ৩-এর চেয়ে বেশি, তাই আপনি নিম্নলিখিত এররটি পাবেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Children
    count exceeded 3 at line 5(possibly around char 89)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য হয় এমন পেলোড থেকে সুরক্ষা দেওয়া, যেগুলোর চাইল্ড এলিমেন্টের সংখ্যা একটি নির্দিষ্ট সীমা অতিক্রম করে, তাহলে এরর মেসেজটি আসা স্বাভাবিক। এক্ষেত্রে, আপনার কোনো অতিরিক্ত পদক্ষেপ নেওয়ার প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে কোনো সমস্যা ছাড়াই পেলোডে আরও বেশি সংখ্যক চাইল্ড এলিমেন্ট (কমেন্ট ইত্যাদি সহ) অন্তর্ভুক্ত করা যেতে পারে, তাহলে আপনার প্রয়োজন অনুযায়ী <ChildCount> কে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে আপনি ১০টি পর্যন্ত চাইল্ড এলিমেন্ট অনুমোদন করতে পারেন, তাহলে XMLThreatProtection পলিসিটি নিম্নরূপভাবে পরিবর্তন করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>5</NodeDepth>
        <AttributeCountPerElement>2</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">10</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

নোডডেপথএক্সসিডেড

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Node depth exceeded [num] at line [num](possibly around
        char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Node depth exceeded 5 at line 6(possibly around char 110)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন একটি XML ডকুমেন্ট থাকে, যার নোড হায়ারার্কি XMLThreatProtection পলিসির <NodeDepth> এলিমেন্টে নির্দিষ্ট করা সংখ্যাকে অতিক্রম করে।

উদাহরণস্বরূপ, যদি পলিসিতে <NodeDepth> এলিমেন্টটি 4 হিসাবে নির্দিষ্ট করা থাকে, কিন্তু ইনপুট পেলোডের নোড ডেপথ 4 বেশি হয়, তাহলে এই এররটি দেখানো হয়।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে নোড ডেপথ অতিক্রম করা হয়েছে, তা শনাক্ত করতে এরর মেসেজটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত এরর মেসেজে, পলিসির নাম হলো XML-Threat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 6 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Node depth
    exceeded 5 at line 6(possibly around char 109)
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ XMLThreatProtection পলিসিটি পরীক্ষা করুন এবং <NodeDepth> এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত XMLThreatProtection পলিসি উদাহরণে, <NodeDepth> মান 5 নির্ধারণ করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>5</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেখানে উল্লেখিত নোড ডেপথের সংখ্যাটি <NodeDepth> এলিমেন্টে (ধাপ ২-এ চিহ্নিত) উল্লেখিত সংখ্যার চেয়ে বেশি কি না। যদি XML চাইল্ড এলিমেন্টগুলোর লেভেল এই সংখ্যাকে অতিক্রম করে, তাহলে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

    <hellos>
       <hello1>
           <wave1>
                <wave2>
                    <wave3>
                        <wave4>
                           <wave5>wave</wave5>
                        </wave4>
                    </wave3>
                </wave2>
           </wave1>
       </hello1>
       <hello2>world2</hello2>
       <hello3>world3</hello3>
       <hello4>world4</hello4>
       <hello5>world5</hello5>
       <hello6>world6</hello6>
    </hellos>
    

    উপরে ৬ নং লাইনে দেখানো XML পেলোডটির নোড ডেপথ হলো . যেহেতু নোড ডেপথটি <NodeDepth> এলিমেন্টের জন্য নির্দিষ্ট করা মান ৫-এর চেয়ে বেশি, তাই আপনি নিম্নলিখিত এররটি পাচ্ছেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Node depth
    exceeded 5 at line 6(possibly around char 109)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য একটি নির্দিষ্ট নোড ডেপথ থ্রেশহোল্ডযুক্ত পেলোড থেকে সুরক্ষা প্রদান করা হয়, তাহলে এই ত্রুটি বার্তাটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে আরও বেশি নোড ডেপথ অনুমোদন করা যেতে পারে, তাহলে আপনার প্রয়োজন অনুযায়ী <NodeDepth> কে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে আপনি ১০টি পর্যন্ত নোড ডেপথের অনুমতি দিতে পারেন, তাহলে পলিসিটি নিম্নরূপভাবে পরিবর্তন করুন:

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

অ্যাট্রিবিউটকাউন্টএক্সিডেড

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Attribute count exceeded [num] at line [num](possibly around
        char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Attribute count exceeded 2 at line 3(possibly around char 105)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি XMLThreatProtection পলিসির <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন একটি XML ডকুমেন্ট থাকে, যার একটিমাত্র এলিমেন্টের অ্যাট্রিবিউটের সংখ্যা পলিসির <AttributeCountPerElement> এলিমেন্টে নির্দিষ্ট করা সংখ্যাকে অতিক্রম করে।

উদাহরণস্বরূপ, যদি <AttributeCountPerElement> এলিমেন্টটি 2 হিসাবে নির্দিষ্ট করা হয় XMLThreatProtection পলিসি থাকা সত্ত্বেও, ইনপুট পেলোডে কোনো এলিমেন্টে দুইটির বেশি অ্যাট্রিবিউট থাকলে এই এররটি আসে।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে অ্যাট্রিবিউটের সংখ্যা অতিক্রম করা হয়েছে, তা শনাক্ত করতে এরর মেসেজটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত এরর মেসেজে, পলিসির নাম হলো XMLThreat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 3 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    count exceeded 2 at line 3(possibly around char 105)
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ পলিসিটি পরীক্ষা করুন এবং <AttributeCountPerElement> এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত পলিসি উদাহরণে, <AttributeCountPerElement> মান 2 নির্ধারণ করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেখানে উল্লেখিত অ্যাট্রিবিউটের সংখ্যা <AttributeCountPerElementh> এলিমেন্টে (ধাপ ২-এ চিহ্নিত) উল্লেখিত সংখ্যাকে অতিক্রম করে কি না। যদি অ্যাট্রিবিউটের সংখ্যা নির্ধারিত সংখ্যাকে অতিক্রম করে, তবে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

    <?xml version="1.0" encoding="UTF-8"?>
    <bookstore>
      <book category="cooking" cuisine="Indian" lang="en">
        <title>Easy Indian Cooking</title>
        <author>Suneeta</author>
        <year>2004</year>
        <price>300.00</price>
      </book>
    </bookstore>
    

    উপরে দেখানো XML পেলোডের ৩ নং লাইনে তিনটি অ্যাট্রিবিউটসহ একটি এলিমেন্ট রয়েছে। যেহেতু অ্যাট্রিবিউটের সংখ্যা <AttributeCountPerElement> এলিমেন্টের জন্য নির্দিষ্ট করা মান ২-এর চেয়ে বেশি, তাই আপনি নিম্নলিখিত ত্রুটিটি পাবেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    count exceeded 2 at line 3(possibly around char 105)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য হয় নির্দিষ্ট সংখ্যক অ্যাট্রিবিউট অতিক্রমকারী পেলোড থেকে সুরক্ষা প্রদান করা, তাহলে এরর মেসেজটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে আরও বেশি সংখ্যক অ্যাট্রিবিউট অনুমোদন করা যেতে পারে, তাহলে আপনার প্রয়োজন অনুযায়ী <AttributeCountPerElement> কে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে প্রতিটি উপাদানের জন্য সর্বোচ্চ ৫টি পর্যন্ত অ্যাট্রিবিউট অনুমোদন করা যেতে পারে, তাহলে পলিসিটি নিম্নরূপভাবে পরিবর্তন করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

অ্যাট্রিবিউটের নাম অতিক্রম করেছে

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Attribute name length exceeded [num] at line [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Attribute name length exceeded 5 at line 3(possibly around char 105)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি XMLThreatProtection পলিসির <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন একটি XML ডকুমেন্ট থাকে, যার কোনো অ্যাট্রিবিউটের নাম পলিসিটির <NameLimits> এলিমেন্টের <Attribute> চাইল্ড এলিমেন্টে নির্দিষ্ট করা অক্ষর সংখ্যা অতিক্রম করে।

উদাহরণস্বরূপ, যদি পলিসিতে <Attribute> এলিমেন্টটি 5 হিসাবে নির্দিষ্ট করা থাকে, কিন্তু ইনপুট পেলোডের অ্যাট্রিবিউটের নামটি 5 অক্ষরের বেশি হয়, তাহলে এই ত্রুটিটি প্রদর্শিত হয়।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে অ্যাট্রিবিউটের নামের দৈর্ঘ্য অতিক্রম করা হয়েছে, তা শনাক্ত করতে এরর মেসেজটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত এরর মেসেজে, পলিসির নাম হলো XML-Threat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 3 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    name length exceeded 5 at line 3(possibly around char 105)
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ পলিসিটি পরীক্ষা করুন এবং <Attribute> এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত XMLThreatProtection পলিসি উদাহরণে, <Attribute> মান 5 সেট করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেখানে উল্লেখিত অ্যাট্রিবিউটের দৈর্ঘ্য, <Attribute> এলিমেন্টে (ধাপ ২-এ চিহ্নিত) উল্লেখিত সংখ্যার চেয়ে বেশি অক্ষরবিশিষ্ট কি না। যদি অক্ষর সংখ্যা অ্যাট্রিবিউটের মানকে অতিক্রম করে, তাহলে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

    <?xml version="1.0" encoding="UTF-8"?>
    <bookstore>
      <book category="cooking" cuisine="Indian" lang="en">
        <title>Easy Indian Cooking</title>
        <author>Suneeta</author>
        <year>2004</year>
        <price>300.00</price>
      </book>
    </bookstore>
    

    উপরে দেখানো XML পেলোডের ৩ নং লাইনে category এবং cuisine নামে দুটি অ্যাট্রিবিউট আছে, যাদের নামের দৈর্ঘ্য যথাক্রমে ৮ এবং ৭ অক্ষর . যেহেতু অ্যাট্রিবিউটের নামের দৈর্ঘ্য ৫-এর ( <Attribute> এলিমেন্টের জন্য নির্দিষ্ট করা মান) চেয়ে বেশি, তাই আপনি নিম্নলিখিত ত্রুটিটি পাচ্ছেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    name length exceeded 5 at line 3(possibly around char 105)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য হয় একটি নির্দিষ্ট অ্যাট্রিবিউট নামের দৈর্ঘ্য অতিক্রমকারী পেলোড থেকে সুরক্ষা প্রদান করা, তাহলে ত্রুটির বার্তাটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে অ্যাট্রিবিউটের নামের দৈর্ঘ্য আরও বাড়ানো যেতে পারে, তাহলে আপনার প্রয়োজন অনুযায়ী <Attribute> কে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে অ্যাট্রিবিউটের নাম ১০ অক্ষর পর্যন্ত হতে পারে, তাহলে নীতিমালাটি নিম্নরূপভাবে পরিবর্তন করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

অ্যাট্রিবিউটভ্যালুএক্সিডেড

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:  Attribute value length exceeded [num] at line [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Attribute value length exceeded 10 at line 3(possibly around char 111)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি পলিসির <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন একটি XML ডকুমেন্ট থাকে, যার কোনো অ্যাট্রিবিউটের মান <ValueLimits> এলিমেন্টের <Attribute> চাইল্ড এলিমেন্টে নির্দিষ্ট করা অক্ষর সংখ্যাকে অতিক্রম করে।

উদাহরণস্বরূপ, যদি XMLThreatProtection পলিসিতে <Attribute> এলিমেন্টটির মান 10 হিসেবে নির্দিষ্ট করা থাকে, কিন্তু ইনপুট পেলোডের অ্যাট্রিবিউটের মান 10 অক্ষরের বেশি হয়, তাহলে এই ত্রুটিটি প্রদর্শিত হবে।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে অ্যাট্রিবিউটের সংখ্যা অতিক্রম করা হয়েছে, তা শনাক্ত করতে এরর মেসেজটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত এরর মেসেজে, পলিসির নাম হলো XML-Threat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 3 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    value length exceeded 10 at line 3(possibly around char 111)
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ পলিসিটি পরীক্ষা করুন এবং <ValueLimits> এলিমেন্টের <Attribute> চাইল্ড এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত XMLThreatProtection পলিসির উদাহরণে, <Attribute> মান 10 নির্ধারণ করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেখানে উল্লেখিত অ্যাট্রিবিউট মানের দৈর্ঘ্য, <Attribute> এলিমেন্টে (ধাপ ২-এ চিহ্নিত) উল্লেখিত সংখ্যার চেয়ে বেশি অক্ষরবিশিষ্ট কি না। যদি অক্ষর সংখ্যা অ্যাট্রিবিউট মানকে অতিক্রম করে, তাহলে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

    <?xml version="1.0" encoding="UTF-8"?>
    <bookstore>
      <book category="cooking" cuisine="South Indian" lang="en">
        <title>Easy Indian Cooking</title>
        <author>Suneeta</author>
        <year>2004</year>
        <price>300.00</price>
      </book>
    </bookstore>
    

    উপরে দেখানো XML পেলোডের ৩ নং লাইনে `cuisine` নামের একটি অ্যাট্রিবিউট আছে, যার ভ্যালুর দৈর্ঘ্য ১২ ক্যারেক্টার। যেহেতু অ্যাট্রিবিউটের ভ্যালুর দৈর্ঘ্য <Attribute> এলিমেন্টের জন্য নির্দিষ্ট করা মান ১০-এর চেয়ে বেশি, তাই আপনি নিম্নলিখিত এররটি পাচ্ছেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Attribute
    value length exceeded 10 at line 3(possibly around char 111)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য হয় একটি নির্দিষ্ট অ্যাট্রিবিউট মানের দৈর্ঘ্য অতিক্রমকারী পেলোড থেকে সুরক্ষা প্রদান করা, তাহলে ত্রুটির বার্তাটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে আরও দীর্ঘ অ্যাট্রিবিউট মান অনুমোদন করা যেতে পারে, তাহলে আপনার প্রয়োজন অনুসারে <ValueLimits> এলিমেন্টের <Attribute> চাইল্ড এলিমেন্টটিকে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে আপনি ১৫ অক্ষর পর্যন্ত মান নির্ধারণ করতে পারবেন, তাহলে নীতিমালাটি নিম্নরূপভাবে পরিবর্তন করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

পাঠ্য অতিক্রম করেছে

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:  Text length exceeded [num] at line [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Text length exceeded 15 at line 4(possibly around char 66)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }

কারণ

এই ত্রুটিটি ঘটে যদি XMLThreatProtection পলিসির <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন একটি XML ডকুমেন্ট থাকে, যার কোনো একটি এলিমেন্টের টেক্সট দৈর্ঘ্য পলিসিটির <ValueLimits> এলিমেন্টের <Text> চাইল্ড এলিমেন্টে নির্দিষ্ট করা অক্ষর সংখ্যাকে অতিক্রম করে।

উদাহরণস্বরূপ, যদি পলিসিতে <Text> এলিমেন্টটি 15 হিসাবে নির্দিষ্ট করা থাকে, কিন্তু ইনপুট পেলোডে ১৫ অক্ষরের বেশি কোনো টেক্সট থাকে, তাহলে এই ত্রুটিটি প্রদর্শিত হয়।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে অ্যাট্রিবিউটের সংখ্যা অতিক্রম করা হয়েছে, তা শনাক্ত করতে এরর মেসেজটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত এরর মেসেজে, পলিসির নাম হলো XML-Threat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 4 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Text length
    exceeded 15 at line 4(possibly around char 66)
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ পলিসিটি পরীক্ষা করুন এবং <ValueLimits> এলিমেন্টের <Text> চাইল্ড এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত XMLThreatProtection পলিসি উদাহরণে, <Text> মান 15 সেট করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেখানে উল্লেখিত অ্যাট্রিবিউট মানের দৈর্ঘ্য, <Text> এলিমেন্টে (ধাপ ২-এ চিহ্নিত) উল্লেখিত সংখ্যার চেয়ে বেশি অক্ষর আছে কি না। যদি অক্ষরের সংখ্যা অ্যাট্রিবিউট মানকে অতিক্রম করে, তাহলে সেটিই ত্রুটির কারণ।

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

    উপরে দেখানো XML পেলোডের ৪ নং লাইনে ৫৩ অক্ষরের একটি টেক্সট রয়েছে। যেহেতু `length` অ্যাট্রিবিউটের মান ১৫ (যা <Text> এলিমেন্টের জন্য নির্দিষ্ট করা মান) থেকে বেশি, তাই আপনি নিম্নলিখিত ত্রুটিটি পাচ্ছেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Text length
    exceeded 15 at line 4(possibly around char 66)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য একটি নির্দিষ্ট টেক্সট দৈর্ঘ্য অতিক্রমকারী পেলোড থেকে সুরক্ষা প্রদান করা হয়, তাহলে ত্রুটির বার্তাটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে আরও দীর্ঘ টেক্সট ব্যবহারের অনুমতি দেওয়া যেতে পারে, তাহলে আপনার প্রয়োজন অনুযায়ী <ValueLimits> এলিমেন্টের <Text> চাইল্ড এলিমেন্টটিকে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে অ্যাট্রিবিউটের মান ৬০ অক্ষর পর্যন্ত হতে পারে, তাহলে পলিসিটি নিম্নরূপভাবে পরিবর্তন করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>60</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

মন্তব্য অতিক্রম করেছে

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Comment length exceeded [num] at line [num](possibly around char
        [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Comment length exceeded 10 at line 2(possibly around char 48)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি XMLThreatProtection পলিসির <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন একটি XML ডকুমেন্ট থাকে, যার মন্তব্যের দৈর্ঘ্য পলিসিটির <ValueLimits> এলিমেন্টের <Comment> চাইল্ড এলিমেন্টে নির্দিষ্ট করা অক্ষর সংখ্যাকে অতিক্রম করে।

উদাহরণস্বরূপ, যদি পলিসিতে <Comment> এলিমেন্টটি 10 ​​হিসাবে নির্দিষ্ট করা থাকে, কিন্তু ইনপুট পেলোডে 10 অক্ষরের বেশি দৈর্ঘ্যের কোনো মন্তব্য থাকে, তাহলে এই ত্রুটিটি প্রদর্শিত হয়।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে মন্তব্যের দৈর্ঘ্য অতিক্রম করা হয়েছে, তা শনাক্ত করতে ত্রুটির বার্তাটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটির বার্তায়, পলিসির নাম হলো XML-Threat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 2 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Comment length exceeded 10 at line 2(possibly around char 48)
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ পলিসিটি পরীক্ষা করুন এবং <ValueLimits> এলিমেন্টের <Comment> চাইল্ড এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত XMLThreatProtection পলিসির উদাহরণে, <Comment> মান 10 নির্ধারণ করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেখানে উল্লেখিত মন্তব্যের দৈর্ঘ্য <Comment> এলিমেন্টে (ধাপ ২-এ চিহ্নিত) নির্দিষ্ট করা সংখ্যার চেয়ে বেশি অক্ষর আছে কি না। যদি অক্ষরের সংখ্যা অ্যাট্রিবিউটের মানকে অতিক্রম করে, তাহলে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

    <food>
      <!--This is somewhat a long comment-->
      <name>Veg Sandwich</name>
      <price>$5.95</price>
      <description>Vegetarian Sandwich with onions, tomatoes and lettuce</description>
      <calories>650</calories>
    </food>
    

    উপরে দেখানো XML পেলোডের ২ নং লাইনে ৩১ অক্ষরের একটি কমেন্ট রয়েছে . যেহেতু কমেন্টের দৈর্ঘ্য <Comment> এলিমেন্টের জন্য নির্দিষ্ট করা মান ১০-এর চেয়ে বেশি, তাই আপনি নিম্নলিখিত এররটি পাচ্ছেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Comment length
    exceeded 10 at line 2(possibly around char 48)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য একটি নির্দিষ্ট কমেন্ট দৈর্ঘ্য অতিক্রমকারী পেলোড থেকে সুরক্ষা প্রদান করা হয়, তাহলে এরর মেসেজটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে আরও দীর্ঘ মন্তব্য করার সুযোগ রয়েছে, তাহলে আপনার প্রয়োজন অনুযায়ী <ValueLimits> এলিমেন্টের <Comment> চাইল্ড এলিমেন্টটিকে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে আপনি ৪০ অক্ষর পর্যন্ত মান নির্ধারণ করতে পারবেন, তাহলে নীতিমালাটি নিম্নরূপভাবে পরিবর্তন করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>40</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

PIDataExceeded

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Processing Instruction data length exceeded [num] at line
        [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Processing Instruction data length exceeded 30 at line 2(possibly around char 109)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি XMLThreatProtection পলিসির <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন একটি XML ডকুমেন্ট থাকে, যার প্রসেসিং ডেটা ইনস্ট্রাকশনের অক্ষর সংখ্যা পলিসির <ValueLimits> এলিমেন্টের <ProcessingInstructionData> চাইল্ড এলিমেন্টে নির্দিষ্ট করা অক্ষর সংখ্যাকে অতিক্রম করে।

উদাহরণস্বরূপ, যদি XMLThreatProtection পলিসিতে <ProcessingInstructionData> এলিমেন্টটির মান 10 হিসেবে নির্দিষ্ট করা থাকে, কিন্তু ইনপুট পেলোডে 10 অক্ষরের বেশি দৈর্ঘ্যের কোনো প্রসেসিং ইন্সট্রাকশন থাকে, তাহলে এই এররটি প্রদর্শিত হয়।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে প্রসেসিং নির্দেশনার দৈর্ঘ্য অতিক্রম করা হয়েছে, তা শনাক্ত করতে ত্রুটির বার্তাটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটির বার্তায়, পলিসির নাম হলো XML-Threat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 2 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction data length exceeded 30 at line 2(possibly around char 109)
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ পলিসিটি পরীক্ষা করুন এবং <ValueLimits> এলিমেন্টের <ProcessingInstructionData> চাইল্ড এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত XMLThreatProtection পলিসি উদাহরণে, <ProcessingInstructionData> মান 30 নির্ধারণ করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেখানে উল্লেখিত প্রসেসিং ইনস্ট্রাকশন ডেটার দৈর্ঘ্য, <ProcessingInstructionData> এলিমেন্টে (ধাপ ২-এ চিহ্নিত) উল্লেখিত সংখ্যার চেয়ে বেশি অক্ষর আছে কি না। যদি অক্ষরের সংখ্যা প্রসেসিং ইনস্ট্রাকশন ডেটাকে অতিক্রম করে, তাহলে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <?xml-stylesheet type="text/xsl" href="mobilephones.xsl"?>
    <mobilephones>
      <mobilephone>
          <name>iPhone</name>
          <price>$600</price>
      </mobilephone>
      <mobilephone>
          <name>Samsung</name>
          <price>$500</price>
      </mobilephone>
    </mobilephones>
    

    উপরে দেখানো XML পেলোডের ১ নং লাইনে একটি প্রসেসিং ইনস্ট্রাকশন ডেটা এলিমেন্ট ( type="text/xsl" href="mobilephones.xsl"?) আছে, যার দৈর্ঘ্য ৪০ ক্যারেক্টার . যেহেতু এই দৈর্ঘ্য ৩০-এর ( <ProcessingInstructionData> এলিমেন্টের জন্য নির্দিষ্ট করা মান) চেয়ে বেশি, তাই আপনি নিম্নলিখিত এররটি পাচ্ছেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction data length exceeded 30 at line 2(possibly around char 109)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য হয় একটি নির্দিষ্ট প্রসেসিং ইন্সট্রাকশন ডেটা লেংথ অতিক্রমকারী পেলোড থেকে সুরক্ষা প্রদান করা, তাহলে এরর মেসেজটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে দীর্ঘতর প্রসেসিং ইনস্ট্রাকশন ডেটা এলিমেন্ট অনুমোদন করা যেতে পারে, তাহলে আপনার প্রয়োজন অনুযায়ী <ValueLimits> এলিমেন্টের <ProcessingInstructionData> চাইল্ড এলিমেন্টটিকে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে ডেটা প্রসেসিং নির্দেশাবলীর দৈর্ঘ্য ৫০ অক্ষর পর্যন্ত হতে পারে, তাহলে নীতিটি নিম্নরূপভাবে পরিবর্তন করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>10</NamespaceURI>
        <Comment>40</Comment>
        <ProcessingInstructionData>50</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

PITargetExceeded

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Processing Instruction target length exceeded [num] at line [num](possibly around
        char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Processing Instruction target length exceeded 10 at line 2(possibly around char 114)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি XMLThreatProtection পলিসির <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন একটি XML ডকুমেন্ট থাকে, যার প্রসেস ইনস্ট্রাকশন টার্গেটের অক্ষর সংখ্যা পলিসির <NameLimits> এলিমেন্টের <ProcessingInstructionTarget> চাইল্ড এলিমেন্টে নির্দিষ্ট করা অক্ষর সংখ্যাকে অতিক্রম করে।

উদাহরণস্বরূপ, যদি XMLThreatProtection পলিসিতে <ProcessingInstructionTarget> এলিমেন্টটি 10 ​​হিসাবে নির্দিষ্ট করা থাকে, কিন্তু ইনপুট পেলোডের প্রসেস ইনস্ট্রাকশন টার্গেটটি 10 ​​অক্ষরের বেশি হয়, তাহলে এই ত্রুটিটি প্রদর্শিত হয়।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে প্রসেসিং নির্দেশনার লক্ষ্যমাত্রা অতিক্রম করা হয়েছে, তা শনাক্ত করতে ত্রুটির বার্তাটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটির বার্তায়, পলিসির নাম হলো XML-Threat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 1 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction target length exceeded 10 at line 2(possibly around char 114)
    
  2. (ধাপ #১-এ চিহ্নিত) ব্যর্থ হওয়া XMLThreatProtection পলিসিটি পরীক্ষা করুন এবং <NameLimits > এলিমেন্টের <ProcessingInstructionTarget> চাইল্ড এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত XMLThreatProtection পলিসি উদাহরণে, <ProcessingInstructionTarget> মান 10 নির্ধারণ করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেখানে উল্লেখিত প্রসেসিং ইনস্ট্রাকশন টার্গেটের দৈর্ঘ্য, <ProcessingInstructionTarget> এলিমেন্টে (ধাপ ২-এ চিহ্নিত) উল্লেখিত সংখ্যার চেয়ে বেশি অক্ষর আছে কি না। যদি অক্ষরের সংখ্যা টার্গেটের নির্ধারিত সীমা অতিক্রম করে, তবে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <?xml-stylesheet type="text/xsl" href="mobilephones.xsl"?>
    <mobilephones>
      <mobilephone>
          <name>iPhone</name>
          <price>$600</price>
      </mobilephone>
      <mobilephone>
          <name>Samsung</name>
          <price>$500</price>
      </mobilephone>
    </mobilephones>
    

    উপরে ২ নং লাইনে দেখানো XML পেলোডটিতে " xml-stylesheet" নামের একটি প্রসেসিং ইন্সট্রাকশন টার্গেট নেম রয়েছে, যার দৈর্ঘ্য ১৪ অক্ষর। যেহেতু প্রসেসিং ইন্সট্রাকশন টার্গেট নেমটি ১০-এর (যা <ProcessingInstructionTarget> এলিমেন্টের জন্য নির্দিষ্ট করা মান) চেয়ে দীর্ঘ, তাই আপনি নিম্নলিখিত ত্রুটিটি পাচ্ছেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Processing
    Instruction target length exceeded 10 at line 2(possibly around char 114)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য হয় একটি নির্দিষ্ট প্রসেস ইন্সট্রাকশন টার্গেট লেংথ অতিক্রমকারী পেলোড থেকে সুরক্ষা প্রদান করা, তাহলে এরর মেসেজটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি নির্ধারণ করেন যে একটি প্রসেস ইনস্ট্রাকশন টার্গেট আরও দীর্ঘ হতে পারে, তাহলে আপনার প্রয়োজন অনুযায়ী <NameLimits> এলিমেন্টের <ProcessingInstructionTarget> চাইল্ড এলিমেন্টটিকে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে আপনি ২৫ অক্ষর পর্যন্ত প্রসেস ইনস্ট্রাকশন টার্গেট রাখতে পারেন, তাহলে পলিসিটি নিম্নরূপভাবে পরিবর্তন করুন:

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

NSURI ছাড়িয়ে গেছে

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]: Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:  Namespace uri length length exceeded [num] at line [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Namespace uri length exceeded 10 at line 2(possibly around char 97)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি XMLThreatProtection পলিসির <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন একটি XML ডকুমেন্ট থাকে, যার নেমস্পেস URI-এর অক্ষর সংখ্যা পলিসির <ValueLimits> এলিমেন্টের <NamespaceURI> চাইল্ড এলিমেন্টে নির্দিষ্ট করা অক্ষর সংখ্যাকে অতিক্রম করে।

উদাহরণস্বরূপ, যদি পলিসিতে <NamespaceURI> এলিমেন্টটি 10 ​​হিসাবে নির্দিষ্ট করা থাকে, কিন্তু ইনপুট পেলোডের নেমস্পেস ইউআরআই ১০ অক্ষরের বেশি হয়, তাহলে এই ত্রুটিটি দেখা দেয়।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে নেমস্পেস URI-এর দৈর্ঘ্য অতিক্রম করা হয়েছে, তা শনাক্ত করতে এরর মেসেজটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত এরর মেসেজে, পলিসির নাম হলো XML-Threat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 2 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    uri length exceeded 10 at line 2(possibly around char 97)
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ পলিসিটি পরীক্ষা করুন এবং <ValueLimits এলিমেন্টের <NamespaceURI> চাইল্ড এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত XMLThreatProtection পলিসির উদাহরণে, <NamespaceURI> মান 10 নির্ধারণ করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>5</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>2</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>15</Text>
            <Attribute>10</Attribute>
            <NamespaceURI>10</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>10</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেখানে উল্লেখিত নেমস্পেস ইউআরআই-এর দৈর্ঘ্য, <NamespaceURI> এলিমেন্টে (ধাপ ২-এ চিহ্নিত) উল্লেখিত সংখ্যার চেয়ে বেশি অক্ষর আছে কি না। যদি অক্ষরের সংখ্যা নেমস্পেস ইউআরআই-এর দৈর্ঘ্যকে অতিক্রম করে, তাহলে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

    <?xml version = "1.0" encoding = "UTF-8"?>
      <profile:user xmlns:profile = "www.google.com/profile">
      <profile:name>Rama Krishna</profile:name>
      <profile:company>Google</profile:company>
      <profile:phone>(91) 9876543210</profile:phone>
    </profile:user>
    

    উপরে ২ নং লাইনে দেখানো XML পেলোডটিতে www.google.com/profile নামে একটি নেমস্পেস ইউআরআই (URI) আছে, যার দৈর্ঘ্য ২২ অক্ষর। যেহেতু নেমস্পেস ইউআরআই-এর দৈর্ঘ্য ১০-এর (যা <NamespaceURI> এলিমেন্টের জন্য নির্দিষ্ট করা মান) চেয়ে বেশি, তাই আপনি নিম্নলিখিত ত্রুটিটি পাচ্ছেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    uri length exceeded 10 at line 2(possibly around char 99)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য একটি নির্দিষ্ট নেমস্পেস URI দৈর্ঘ্য অতিক্রমকারী পেলোড থেকে সুরক্ষা প্রদান করা হয়, তাহলে ত্রুটির বার্তাটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে একটি দীর্ঘতর নেমস্পেস ইউআরআই অনুমোদন করা যেতে পারে, তাহলে আপনার প্রয়োজন অনুযায়ী <ValueLimits> এলিমেন্টের <NamespaceURI> চাইল্ড এলিমেন্টটিকে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে নেমস্পেস URI-এর দৈর্ঘ্য ৩০ অক্ষর পর্যন্ত হতে পারে, তাহলে নীতিটি নিম্নরূপভাবে পরিবর্তন করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>2</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>30</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

NSPrefixExceeded

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Namespace prefix length exceeded [num] at line [num](possibly
        around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1:
        Namespace prefix length exceeded 10 at line 2(possibly around char 105)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন একটি XML ডকুমেন্ট থাকে, যার নেমস্পেস প্রিফিক্স পলিসির <NameLimits> এলিমেন্টের <NamespacePrefix> চাইল্ড এলিমেন্টে নির্দিষ্ট করা অক্ষর সংখ্যাকে অতিক্রম করে।

উদাহরণস্বরূপ, যদি XMLThreatProtection পলিসিতে <NamespacePrefix> এলিমেন্টটির মান 10 নির্দিষ্ট করা থাকে, কিন্তু ইনপুট পেলোডের নেমস্পেস প্রিফিক্সটি 10 ​​অক্ষরের বেশি হয়, তাহলে এই ত্রুটিটি প্রদর্শিত হয়।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে নেমস্পেস URI প্রিফিক্সের দৈর্ঘ্য অতিক্রম করা হয়েছে, তা শনাক্ত করতে এরর মেসেজটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত এরর মেসেজে, পলিসির নাম হলো XML-Threat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 2 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    prefix length exceeded 10 at line 2(possibly around char 105)
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ পলিসিটি পরীক্ষা করুন এবং <NameLimits এলিমেন্টের <NamespacePrefix> চাইল্ড এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত XMLThreatProtection পলিসি উদাহরণে, <NamespacePrefix> মান 10 সেট করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেখানে উল্লেখিত নেমস্পেস প্রিফিক্সের দৈর্ঘ্য, <NamespacePrefix> এলিমেন্টে (ধাপ ২-এ চিহ্নিত) উল্লেখিত সংখ্যার চেয়ে বেশি অক্ষর আছে কি না। যদি অক্ষরের সংখ্যা নেমস্পেস প্রিফিক্সের সীমা অতিক্রম করে, তাহলে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

    <?xml version = "1.0" encoding = "UTF-8"?>
    <userprofile:user xmlns:userprofile = "www.googlecom/profile">
      <userprofile:name>Rama Krishna</userprofile:name>
      <userprofile:company>Google</userprofile:company>
      <userprofile:phone>(011) 123-4567</userprofile:phone>
    </userprofile:user>
    

    উপরে ২ নং লাইনে দেখানো XML পেলোডটিতে ` userprofile একটি নেমস্পেস প্রিফিক্স রয়েছে, যার দৈর্ঘ্য ১১ অক্ষর। যেহেতু নেমস্পেস URI প্রিফিক্সের দৈর্ঘ্য <NamespacePrefix> এলিমেন্টের জন্য নির্দিষ্ট করা মান ১০-এর চেয়ে বেশি, তাই আপনি নিম্নলিখিত ত্রুটিটি পাচ্ছেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    prefix length exceeded 10 at line 2(possibly around char 105)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য একটি নির্দিষ্ট নেমস্পেস URI প্রিফিক্স দৈর্ঘ্য অতিক্রমকারী পেলোড থেকে সুরক্ষা প্রদান করা হয়, তাহলে ত্রুটির বার্তাটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে একটি দীর্ঘতর নেমস্পেস ইউআরআই প্রিফিক্স অনুমোদন করা যেতে পারে, তাহলে আপনার প্রয়োজন অনুযায়ী <NameLimits> এলিমেন্টের <NamespacePrefix> চাইল্ড এলিমেন্টটিকে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে নেমস্পেস ইউআরআই প্রিফিক্সের দৈর্ঘ্য ১৫ অক্ষর পর্যন্ত হতে পারে, তাহলে নীতিটি নিম্নরূপভাবে পরিবর্তন করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>5</Attribute>
        <NamespacePrefix>15</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>2</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>15</Text>
        <Attribute>10</Attribute>
        <NamespaceURI>40</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>10</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

NSCountExceeded

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition [policy_name]:
        Execution failed. reason: XMLThreatProtection stepDefinition [policy_name]:
        Namespace count exceeded [num] at line [num](possibly around char [num])",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

{
    "fault": {
        "faultstring": "XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed. reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace count exceeded 3 at line 2(possibly around char 234)",
        "detail": {
            "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি XMLThreatProtection পলিসির <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডে এমন একটি XML ডকুমেন্ট থাকে, যেখানে একটিমাত্র এলিমেন্টে ব্যবহৃত নেমস্পেসের সংখ্যা পলিসিটির <StructureLimits> এলিমেন্টের <NamespaceCountPerElement> চাইল্ড এলিমেন্টে নির্দিষ্ট করা সংখ্যাকে অতিক্রম করে।

উদাহরণস্বরূপ, যদি পলিসিতে <NamespaceCountPerElement> এলিমেন্টটি 3 হিসাবে নির্দিষ্ট করা থাকে, কিন্তু ইনপুট পেলোডে ৩টির বেশি নেমস্পেস সহ কোনো এলিমেন্ট থাকে, তাহলে এই ত্রুটিটি প্রদর্শিত হয়।

রোগ নির্ণয়

  1. XMLThreatProtection পলিসির নাম এবং যে লাইন নম্বরে নেমস্পেসের সংখ্যা অতিক্রম করা হয়েছে, তা শনাক্ত করতে এরর মেসেজটি পরীক্ষা করুন। উদাহরণস্বরূপ, নিম্নলিখিত এরর মেসেজে, পলিসির নাম হলো XMLThreat-Protection-1 এবং পেলোডের লাইন নম্বর হলো 2 :

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace count
    exceeded 3 at line 2(possibly around char 234)
    
  2. (ধাপ ১-এ চিহ্নিত) ব্যর্থ পলিসিটি পরীক্ষা করুন এবং <StructureLimits এলিমেন্টের <NamespaceCountPerElement> চাইল্ড এলিমেন্টে নির্দিষ্ট করা মানটি নোট করুন।

    নিম্নলিখিত XMLThreatProtection পলিসির উদাহরণে, <NamespaceCountPerElement> মান 3 সেট করা হয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
        <DisplayName>XML Threat Protection-1</DisplayName>
        <Properties/>
        <NameLimits>
            <Element>10</Element>
            <Attribute>10</Attribute>
            <NamespacePrefix>10</NamespacePrefix>
            <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
        </NameLimits>
        <Source>request</Source>
        <StructureLimits>
            <NodeDepth>10</NodeDepth>
            <AttributeCountPerElement>5</AttributeCountPerElement>
            <NamespaceCountPerElement>3</NamespaceCountPerElement>
            <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
        </StructureLimits>
        <ValueLimits>
            <Text>20</Text>
            <Attribute>15</Attribute>
            <NamespaceURI>40</NamespaceURI>
            <Comment>10</Comment>
            <ProcessingInstructionData>30</ProcessingInstructionData>
        </ValueLimits>
    </XMLThreatProtection>
    
  3. ইনপুট পেলোডের নির্দিষ্ট লাইন নম্বরটি (ধাপ ১-এ চিহ্নিত) পরীক্ষা করুন এবং যাচাই করুন যে সেখানে একটিমাত্র এলিমেন্টের জন্য নির্দিষ্ট করা নেমস্পেসের সংখ্যা, <NamespaceCountPerElement> এলিমেন্টে (ধাপ ২-এ চিহ্নিত) নির্দিষ্ট করা সংখ্যার চেয়ে বেশি কি না। যদি নেমস্পেসের সংখ্যা প্রতি এলিমেন্টের জন্য নির্ধারিত সীমা অতিক্রম করে, তবে সেটিই ত্রুটির কারণ।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

    <?xml version = "1.0" encoding = "UTF-8"?>
    <hellos xmlns:h="https://www.w3schools.com/greeting1" xmlns:a="https://www.w3schools.com/greeting2" xmlns:b="https://www.w3schols.com/greeting3" xmlns:c="https://www.w3schools.com/greeting4">
        <a:hello1>world1</a:hello1>
        <b:hello2>world2</b:hello2>
        <c:hello2>world2</c:hello2>
        <h:hello2>world2</h:hello2>
    </hellos>
    

    উপরে দেখানো XML পেলোডের ২ নং লাইনে ৩টির বেশি নেমস্পেস রয়েছে। যেহেতু নেমস্পেসের সংখ্যা ৩-এর ( <NamespaceCountPerElement> এলিমেন্টের জন্য নির্দিষ্ট করা মান) চেয়ে বেশি, তাই আপনি নিম্নলিখিত ত্রুটিটি পাচ্ছেন:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: XMLThreatProtection stepDefinition XML-Threat-Protection-1: Namespace
    count exceeded 3 at line 2(possibly around char 234)
    

সমাধান

যদি XMLThreatProtection পলিসিটির উদ্দেশ্য হয় একটিমাত্র এলিমেন্টে নির্দিষ্ট সংখ্যক নেমস্পেস অতিক্রমকারী পেলোড থেকে সুরক্ষা দেওয়া, তাহলে এরর মেসেজটি প্রত্যাশিত। এক্ষেত্রে, কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

তবে, যদি আপনি মনে করেন যে আরও বেশি সংখ্যক নেমস্পেস অনুমোদন করা যেতে পারে, তাহলে আপনার প্রয়োজন অনুযায়ী <StructureLimits> এলিমেন্টের <NamespaceCountPerElement> চাইল্ড এলিমেন্টটিকে একটি উপযুক্ত মানে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি আপনি মনে করেন যে একটি একক উপাদানে ৫টি পর্যন্ত নেমস্পেস থাকতে পারে, তাহলে নীতিটি নিম্নরূপ পরিবর্তন করুন:

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

অবৈধ এক্সএমএল পেলোড

ত্রুটি কোড

steps.xmlthreatprotection.ExecutionFailed

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

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

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

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

কারণ

XMLProtectionPolicy পলিসির <Source> এলিমেন্ট দ্বারা নির্দিষ্ট ইনপুট মেসেজ পেলোডটি যদি একটি বৈধ XML ডকুমেন্ট না হয়, তাহলে এই ত্রুটিটি ঘটে।

রোগ নির্ণয়

  1. ত্রুটিটি কোন পলিসিতে ঘটেছে তা শনাক্ত করতে ত্রুটির বার্তাটি পরীক্ষা করুন। নিম্নলিখিত উদাহরণে পলিসির নাম হলো XML-Threat-Protection-1

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Execution failed.
    reason: Syntax error while parsing XML prologue
    
  2. ইনপুট পেলোডটি পরীক্ষা করুন এবং যাচাই করুন যে পেলোডে পাঠানো XML ডকুমেন্টটি প্রকৃতপক্ষে একটি সুগঠিত XML ডকুমেন্ট কি না।

    এখানে একটি উদাহরণ ইনপুট পেলোড দেওয়া হলো:

    <?xml version="1.0" encoding="UTF-8"?>
    <bookstore>
      <book category="cooking">
        <title lang="en">Easy Indian Cooking</title>
        <author>Suneeta</author>
        <year>2004</year>
        <price>300.00</price>
      </book>
    <bookstore>
    

    উপরে দেখানো XML পেলোডে, ৯ নম্বর লাইনে রুট এলিমেন্টটি সঠিকভাবে বন্ধ করা হয়নি, কারণ এখানে / চিহ্নটি নেই। যেহেতু এটি একটি সুগঠিত XML নয়, তাই আপনি এই ত্রুটিটি পাবেন:

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

সমাধান

যেসব এপিআই প্রক্সিতে XMLThreatProtection পলিসি অন্তর্ভুক্ত রয়েছে, সেগুলোতে একটি বৈধ ইনপুট XML পেলোড পাঠানো নিশ্চিত করুন।

উপরে বর্ণিত উদাহরণ ত্রুটিটি সংশোধন করতে, ইনপুট XML পেলোডটি নিম্নরূপভাবে পরিবর্তন করুন:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Easy Indian Cooking
    <author>Suneeta</author>
    <year>2004</year>
    <price>300.00</price>
  </book>
</bookstore>

উৎস অনুপলব্ধ

ত্রুটি কোড

steps.xmlthreatprotection.SourceUnavailable

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

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

ত্রুটির প্রতিক্রিয়া বডির উদাহরণ

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

কারণ

XMLThreatProtection পলিসির <Source> এলিমেন্টে নির্দিষ্ট করা message ভেরিয়েবলটি যদি নিম্নলিখিতগুলির মধ্যে কোনো একটি হয়, তাহলে এই ত্রুটিটি ঘটে:

  • আওতার বাইরে (যে নির্দিষ্ট কার্যপ্রবাহে নীতিমালাটি কার্যকর করা হচ্ছে, সেখানে উপলব্ধ নয়)
  • request , response , বা message বৈধ মানগুলোর মধ্যে একটি নয়।

For example, this error occurs if the <Source> element in the policy is set to a variable that doesn't exist in the flow where the policy is executed.

রোগ নির্ণয়

  1. Identify the XMLThreatProtection policy name, and the name of the Source variable from the error message. For example, in the following error message, the XMLThreatProtection policy name is XML-Threat-Protection-1 and the Source variable is requests:

    XMLThreatProtection stepDefinition XML-Threat-Protection-1: Source requests
    is not available
    
  2. Examine the failed XMLThreatProtection policy and check the value specified for the <Source> element identified in Step 1.

    In the following XMLThreatProtection policy example, the <Source> element is set to 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>
    

    The valid values for <Source> element are request , response , or message. Because requests is not a valid value and doesn't exist in the flow where the policy is being executed, you get the error:

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

সমাধান

Ensure that the variable set in the <Source> element of the failed XMLThreatProtection policy is set to either request , response , or message and exists in the flow where the policy executes.

To correct the example policy shown above, you could modify the <Source> element to use the request variable, because it exists in the request flow:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
    <DisplayName>XML Threat Protection-1</DisplayName>
    <Properties/>
    <NameLimits>
        <Element>10</Element>
        <Attribute>10</Attribute>
        <NamespacePrefix>10</NamespacePrefix>
        <ProcessingInstructionTarget>10</ProcessingInstructionTarget>
    </NameLimits>
    <Source>request</Source>
    <StructureLimits>
        <NodeDepth>10</NodeDepth>
        <AttributeCountPerElement>5</AttributeCountPerElement>
        <NamespaceCountPerElement>3</NamespaceCountPerElement>
        <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount>
    </StructureLimits>
    <ValueLimits>
        <Text>20</Text>
        <Attribute>15</Attribute>
        <NamespaceURI>40</NamespaceURI>
        <Comment>10</Comment>
        <ProcessingInstructionData>30</ProcessingInstructionData>
    </ValueLimits>
</XMLThreatProtection>

NonMessageVariable

ত্রুটি কোড

steps.xmlthreatprotection.NonMessageVariable

Error response body

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

Example Error response body

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

Cause

This error occurs if the <Source> element in the XMLThreatProtection policy is set to a variable which is not of type Message .

Message type variables represent entire HTTP requests and responses. The built-in Apigee Edge flow variables request , response , and message are of type Message. To learn more about message variables, see the Variables reference .

রোগ নির্ণয়

  1. Identify the name of the variable that does resolve to a Message type of variable from the error message. For example, in the following error message the name of variable is message.content

    Variable message.content does not resolve to a Message
    
  2. Examine all the XMLThreadProtection policies in the API proxy where the failure occurred and identify the specific XMLThreadProtection policy where <Source> element is specified with the variable name identified in Step 1 above.

    In the following XMLThreatProtection policy example, <Source> is set to 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>
    

    Because the variable message.content is not of type Message, you get the error:

    Variable message.content does not resolve to a Message
    

সমাধান

Ensure that the <Source> element in the failed XMLThreatProtection policy is set to a Message type flow variable that exists in the flow where the policy executes.

To correct the policy, you can modify the <Source> element to specify a variable that is of type Message. For example, in the failed XMLThreatProtection you could specify the <Source> element as 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>