RaiseFault নীতি

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

কী

সমস্যা হলে তার উত্তরে কাস্টম মেসেজ তৈরি করে। নির্দিষ্ট কোনও পরিস্থিতি তৈরি হলে, অনুরোধকারী অ্যাপকে ফেরত দেওয়া ফল্ট রেসপন্সকে সংজ্ঞায়িত করতে RaiseFault ব্যবহার করুন।

সমস্যা সমাধান করা সংক্রান্ত সাধারণ তথ্যের জন্য, সমস্যা সমাধান করা দেখুন।

নমুনা

Return FaultResponse

সবচেয়ে সাধারণ ব্যবহার অনুযায়ী, RaiseFault ব্যবহার করে অনুরোধকারী অ্যাপকে কাস্টম ফল্ট রেসপন্স ফেরানো হয়। যেমন, এই নীতিটি কোনও পেলোড ছাড়াই 404 স্ট্যাটাস কোড ফেরাবে:

<RaiseFault name="404">
 <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
 <FaultResponse>
   <Set>
     <StatusCode>404</StatusCode>
     <ReasonPhrase>The resource requested was not found</ReasonPhrase>
   </Set>
 </FaultResponse>
</RaiseFault>

Return FaultResponse Payload

আরও জটিল উদাহরণে HTTP হেডার ও HTTP স্ট্যাটাস কোডের সাথে কাস্টম ফল্ট রেসপন্স পেলোড রিটার্ন করা হয়। নিম্নলিখিত উদাহরণে, Edge-এর ব্যাকএন্ড পরিষেবা থেকে প্রাপ্ত HTTP স্ট্যাটাস কোড সহ একটি XML মেসেজ এবং যে ধরনের সমস্যা হয়েছে তা উল্লেখ করা হেডার সহ সমস্যা সংক্রান্ত উত্তর পূরণ করা হয়েছে:

<RaiseFault name="ExceptionHandler">
 <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
 <FaultResponse>
   <Set>
     <Payload contentType="text/xml">
       <root>Please contact support@company.com</root>
     </Payload>
     <StatusCode>{response.status.code}</StatusCode>
     <ReasonPhrase>Server error</ReasonPhrase>
   </Set>
   <Add>
     <Headers>
       <Header name="FaultHeader">{fault.name}</Header>
     </Headers>
   </Add>
 </FaultResponse>
</RaiseFault>

FaultResponse মেসেজ ডাইনামিক পূরণ করার জন্য উপলভ্য সব ভেরিয়েবলের তালিকা পেতে, ভেরিয়েবল রেফারেন্স দেখুন

পরিষেবা কলআউট সংক্রান্ত সমস্যার সমাধান করা


RaiseFault নীতি সম্পর্কে

Apigee Edge আপনাকে RaiseFault ধরনের নীতি ব্যবহার করে কাস্টম ব্যতিক্রম হ্যান্ডেল করার সুবিধা দেয়। RaiseFault নীতিটি AssignMessage নীতির মতোই কাজ করে। এর মাধ্যমে আপনি কোনও সমস্যার ক্ষেত্রে কাস্টম ফল্ট রেসপন্স তৈরি করতে পারেন।

নির্দিষ্ট কোনও সমস্যা হলে, অনুরোধকারী অ্যাপকে প্রেরিত ফল্ট রেসপন্সকে সংজ্ঞায়িত করতে RaiseFault নীতি ব্যবহার করুন। ভুল সংক্রান্ত উত্তরে HTTP হেডার, কোয়েরি প্যারামিটার ও মেসেজ পেলোড থাকতে পারে। অ্যাপ ডেভেলপার এবং অ্যাপের গ্রাহকদের জন্য সাধারণ সমস্যার মেসেজ বা HTTP রেসপন্স কোডের চেয়ে কাস্টম ফল্ট রেসপন্স বেশি সহায়ক হতে পারে।

চালানো হলে, RaiseFault নীতি বর্তমান ফ্লো থেকে কন্ট্রোলকে Error ফ্লোতে ট্রান্সফার করে, যা তারপরে অনুরোধকারী ক্লায়েন্ট অ্যাপকে নির্ধারিত ফল্ট রেসপন্স রিটার্ন করে। মেসেজ ফ্লো Error ফ্লোতে সুইচ করলে, আর কোনও নীতি প্রসেস করা হয় না। বাকি সব প্রসেসিং ধাপ বাইপাস করা হয় এবং অনুরোধকারী অ্যাপকে সরাসরি ফল্ট রেসপন্স ফেরত দেওয়া হয়।

আপনি ProxyEndpoint বা TargetEndpoint-এ RaiseFault ব্যবহার করতে পারবেন। সাধারণত, আপনি RaiseFault নীতিতে একটি কন্ডিশন যোগ করবেন। RaiseFault এক্সিকিউট করার পরে, Apigee সাধারণ সমস্যা প্রসেসিং, FaultRules মূল্যায়ন করবে অথবা কোনও FaultRules সংজ্ঞায়িত করা না থাকলে, এটি অনুরোধের প্রসেসিং বন্ধ করে দেবে।

এলিমেন্ট রেফারেন্স

এলিমেন্ট রেফারেন্সে RaiseFault নীতির এলিমেন্ট ও অ্যাট্রিবিউট বর্ণনা করা আছে।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RaiseFault async="false" continueOnError="false" enabled="true" name="Raise-Fault-1">
    <DisplayName>RaiseFault 1</DisplayName>
    <FaultResponse>
        <AssignVariable>
          <Name/>
          <Value/>
        </AssignVariable>
        <Add>
            <Headers/>
        </Add>
        <Copy source="request">
            <Headers/>
            <StatusCode/>
            <ReasonPhrase/>
        </Copy>
        <Remove>
            <Headers/>
        </Remove>
        <Set>
            <Headers/>
            <Payload/>
            <ReasonPhrase/>
            <StatusCode/>
        </Set>
    </FaultResponse>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</RaiseFault>

<RaiseFault> অ্যাট্রিবিউট

<RaiseFault async="false" continueOnError="false" enabled="true" name="Raise-Fault-1">

নিম্নলিখিত সারণী সমস্ত নীতির মূল উপাদানগুলির জন্য সাধারণ বৈশিষ্ট্যগুলি বর্ণনা করে:

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি
name

নীতির অভ্যন্তরীণ নাম। name বৈশিষ্ট্যের মানটিতে অক্ষর, সংখ্যা, স্পেস, হাইফেন, আন্ডারস্কোর এবং পিরিয়ড থাকতে পারে। এই মান 255 অক্ষরের বেশি হতে পারে না।

ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে <DisplayName> উপাদানটি ব্যবহার করুন।

N/A প্রয়োজন
continueOnError

একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে false সেট করুন৷ এটি বেশিরভাগ নীতির জন্য প্রত্যাশিত আচরণ।

একটি নীতি ব্যর্থ হওয়ার পরেও ফ্লো এক্সিকিউশন চালিয়ে যেতে true সেট করুন৷

মিথ্যা ঐচ্ছিক
enabled

নীতি প্রয়োগ করতে true সেট করুন৷

নীতি বন্ধ করতে false সেট করুন। নীতিটি প্রবাহের সাথে সংযুক্ত থাকলেও তা কার্যকর করা হবে না।

সত্য ঐচ্ছিক
async

এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷

মিথ্যা অবচয়

<DisplayName> উপাদান

ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে name বৈশিষ্ট্য ছাড়াও ব্যবহার করুন।

<DisplayName>Policy Display Name</DisplayName>
ডিফল্ট

N/A

আপনি এই উপাদানটি বাদ দিলে, নীতির name বৈশিষ্ট্যের মান ব্যবহার করা হবে।

উপস্থিতি ঐচ্ছিক
টাইপ স্ট্রিং

<IgnoreUnresolvedVariables> এলিমেন্ট

(ঐচ্ছিক) ফ্লোতে সমাধান না হওয়া ভেরিয়েবল সংক্রান্ত সমস্যা উপেক্ষা করে। সঠিক মান: true/false. ডিফল্ট true.

<FaultResponse> এলিমেন্ট

(ঐচ্ছিক) অনুরোধকারী ক্লায়েন্টকে ফেরত পাঠানো উত্তরের মেসেজকে সংজ্ঞায়িত করে। FaultResponse AssignMessage নীতির (প্রাইভেট ক্লাউডের জন্য Apigee Edge-এ উপলভ্য নয়) মতো একই সেটিংস ব্যবহার করে।

<FaultResponse><AssignVariable> এলিমেন্ট

ডেস্টিনেশন ফ্লো ভেরিয়েবেলে একটি ভ্যালু অ্যাসাইন করে। ফ্লো ভেরিয়েবল না থাকলে, AssignVariable এটি তৈরি করে।

যেমন, RaiseFault নীতিতে myFaultVar নামের ভেরিয়েবল সেট করতে, নিম্নলিখিত কোড ব্যবহার করুন:

<FaultResponse>
  <AssignVariable>
    <Name>myFaultVar</Name>
    <Value>42</Value>
  </AssignVariable>
  ...
</FaultResponse>

তারপরে, RaiseFault নীতির মেসেজ টেমপ্লেটে আপনি সেই ভেরিয়েবলটি উল্লেখ করতে পারবেন। এছাড়াও, FaultRule-এর সাথে যুক্ত নীতি তখন ভেরিয়েবল অ্যাক্সেস করতে পারে। যেমন, নিম্নলিখিত AssignMessage নীতিটি RaiseFault-এ সেট করা ভেরিয়েবল ব্যবহার করে ফল্ট রেসপন্সে একটি হেডার সেট করে:

<AssignMessage enabled="true" name="Assign-Message-1">
  <Add>
    <Headers>
      <Header name="newvar">{myFaultVar}</Header>
    </Headers>
  </Add>
  <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
  <AssignTo createNew="false" transport="http" type="response"/>
</AssignMessage>

RaiseFault নীতিতে <AssignVariable>-এর সিনট্যাক্স <AssignVariable> এলিমেন্টের মতো একই রকম হয় যা AssignMessage নীতিতে থাকে। মনে রাখবেন, এই কার্যকারিতা বর্তমানে প্রাইভেট ক্লাউডের জন্য Apigee Edge-এ উপলভ্য নেই।

<FaultResponse><Add>/<Headers> এলিমেন্ট

সমস্যার মেসেজে HTTP হেডার যোগ করে। মনে রাখবেন, ফাঁকা হেডার <Add><Headers/></Add> কোনও হেডার যোগ করে না। এই উদাহরণে request.user.agent ফ্লো ভেরিয়েবলের ভ্যালু কপি করে হেডারে রাখা হয়েছে।

<Add>
    <Headers>
        <Header name="user-agent">{request.user.agent}</Header>
    </Headers>
</Add>

ডিফল্ট:

প্রযোজ্য নয়

উপস্থিতি:

ঐচ্ছিক

টাইপ:

স্ট্রিং

<FaultResponse><Copy> element

সমস্যার মেসেজে source অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা মেসেজ থেকে তথ্য কপি করে।

    <Copy source="request">
        <Headers/>
        <StatusCode/>
        <ReasonPhrase/>
    </Copy>

ডিফল্ট:

প্রযোজ্য নয়

উপস্থিতি:

ঐচ্ছিক

টাইপ:

স্ট্রিং

অ্যাট্রিবিউট

 <Copy source="response">
অ্যাট্রিবিউট বিবরণ উপস্থিতি ধরন
সোর্স

কপির সোর্স অবজেক্ট নির্দিষ্ট করে।

  • সোর্স উল্লেখ করা না থাকলে সেটিকে সাধারণ মেসেজ হিসেবে বিবেচনা করা হয়। যেমন, নীতিটি যদি অনুরোধ ফ্লোতে থাকে, তাহলে সোর্স ডিফল্ট হিসেবে অনুরোধ অবজেক্টে সেট করা হয়। নীতিটি যদি রেসপন্স ফ্লোতে থাকে, তাহলে এটি ডিফল্ট হিসেবে রেসপন্স অবজেক্টে সেট করা হয়। আপনি সোর্স বাদ দিলে, কপি করার সোর্স হিসেবে ফ্লো ভেরিয়েবলের অ্যাবসলিউট রেফারেন্স ব্যবহার করতে পারবেন। যেমন, {request.header.user-agent} ভ্যালু হিসেবে উল্লেখ করুন।
  • সোর্স ভেরিয়েবল সমাধান করা না গেলে অথবা মেসেজ ছাড়া অন্য কোনও ধরনের সমাধান হলে, <Copy> উত্তর দিতে পারে না।
ঐচ্ছিক স্ট্রিং

<FaultResponse><Copy>/<Headers> এলিমেন্ট

সোর্স থেকে সমস্যার মেসেজে নির্দিষ্ট HTTP হেডার কপি করে। সব হেডার কপি করতে, <Copy><Headers/></Copy>. নির্দিষ্ট করুন

<Copy source='request'>
    <Headers>      
        <Header name="headerName"/>
    </Headers> 
</Copy>

একই নামের একাধিক হেডার থাকলে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:

<Copy source='request'>
    <Headers>
      <Header name="h1"/>
      <Header name="h2"/>
      <Header name="h3.2"/>
    </Headers>
</Copy>

এই উদাহরণে "h1", "h2" এবং "h3"-এর দ্বিতীয় ভ্যালু কপি করা হয়েছে। "h3"-এর যদি শুধুমাত্র একটি মান থাকে, তাহলে সেটি কপি করা হয় না।

ডিফল্ট:

প্রযোজ্য নয়

উপস্থিতি:

ঐচ্ছিক

টাইপ:

স্ট্রিং

<FaultResponse><Copy>/<StatusCode> এলিমেন্ট

সোর্স অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা অবজেক্ট থেকে কপি করে সমস্যার মেসেজে যোগ করার HTTP স্ট্যাটাস কোড।

<Copy source='response'>
    <StatusCode>404</StatusCode>      
</Copy>

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

টাইপ:

স্ট্রিং

<FaultResponse><Copy>/<ReasonPhrase> এলিমেন্ট

সোর্স অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা অবজেক্ট থেকে সমস্যার মেসেজে কপি করার জন্য কারণের বিবরণ।

<Copy source='response'>     
    <ReasonPhrase>The resource requested was not found.</ReasonPhrase>     
</Copy>

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

টাইপ:

স্ট্রিং

<FaultResponse><Remove>/<Headers> এলিমেন্ট

সমস্যার মেসেজ থেকে নির্দিষ্ট HTTP হেডার সরিয়ে দেয়। সব হেডার সরাতে, <Remove><Headers/></Remove> উল্লেখ করুন। এই উদাহরণে মেসেজ থেকে user-agent হেডার সরিয়ে দেওয়া হয়েছে।

<Remove>     
    <Headers>      
        <Header name="user-agent"/>     
    </Headers> 
</Remove>

একই নামের একাধিক হেডার থাকলে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:

<Remove>
    <Headers>
      <Header name="h1"/>
      <Header name="h2"/>
      <Header name="h3.2"/>
    </Headers>
</Remove>

এই উদাহরণে "h1", "h2" এবং "h3"-এর দ্বিতীয় ভ্যালু সরিয়ে দেওয়া হয়েছে। "h3"-এর যদি শুধুমাত্র একটি মান থাকে, তাহলে এটি সরানো হয় না।

ডিফল্ট:

প্রযোজ্য নয়

উপস্থিতি:

ঐচ্ছিক

টাইপ:

স্ট্রিং

<FaultResponse><Set> element

সমস্যার মেসেজে তথ্য সেট করে।

    <Set>
        <Headers/>
        <Payload> </Payload>
        <StatusCode/>
        <ReasonPhrase/>
    </Set>

ডিফল্ট:

প্রযোজ্য নয়

উপস্থিতি:

ঐচ্ছিক

টাইপ:

প্রযোজ্য নয়

<FaultResponse>/<Set>/<Headers> এলিমেন্ট

সমস্যার মেসেজে HTTP হেডার সেট বা ওভাররাইট করে। মনে রাখবেন, ফাঁকা হেডার <Set><Headers/></Set> কোনও হেডার সেট করে না। এই উদাহরণে <AssignTo> এলিমেন্টের মাধ্যমে নির্দিষ্ট করা মেসেজ ভেরিয়েবলে user-agent হেডার সেট করা হয়েছে।

<Set>
    <Headers>
        <Header name="user-agent">{request.header.user-agent}</Header>     
    </Headers>
</Set>

ডিফল্ট:

প্রযোজ্য নয়

উপস্থিতি:

ঐচ্ছিক

টাইপ:

স্ট্রিং

<FaultResponse>/<Set>/<Payload> এলিমেন্ট

সমস্যার মেসেজের পেলোড সেট করে।

<Set>
    <Payload contentType="text/plain">test1234</Payload>
</Set>

JSON পেলোড সেট করুন:

<Set>
    <Payload contentType="application/json">
        {"name":"foo", "type":"bar"}
    </Payload>
</Set>

JSON পেলোডের মধ্যে, আপনি variablePrefix এবং variableSuffix অ্যাট্রিবিউট ব্যবহার করে ভেরিয়েবল যোগ করতে পারবেন। নিচে দেওয়া উদাহরণে ডিলিমিটার ক্যারেক্টার দেখানো হয়েছে।

<Set>
    <Payload contentType="application/json" variablePrefix="@" variableSuffix="#">
        {"name":"foo", "type":"@variable_name#"}
    </Payload>
</Set>

অথবা, ক্লাউড রিলিজ ১৬.০৮.১৭ অনুযায়ী, আপনি ভেরিয়েবল যোগ করার জন্য কার্লি ব্রেসেসও ব্যবহার করতে পারেন:

<Set>
    <Payload contentType="application/json">
        {"name":"foo", "type":"{variable_name}"}
    </Payload>
</Set>

XML-এ মিক্সড পেলোড সেট করুন:

<Set>
    <Payload contentType="text/xml">
        <root>
          <e1>sunday</e1>
          <e2>funday</e2>
          <e3>{var1}</e3>
    </Payload>
</Set>

ডিফল্ট:

উপস্থিতি:

ঐচ্ছিক

টাইপ:

স্ট্রিং

অ্যাট্রিবিউট

 
<Payload contentType="content_type" variablePrefix="char" variableSuffix="char">
অ্যাট্রিবিউট বিবরণ উপস্থিতি ধরন
contentType

contentType উল্লেখ করা থাকলে, এর ভ্যালু Content-Type হেডারে অ্যাসাইন করা হয়।

ঐচ্ছিক স্ট্রিং
variablePrefix JSON পেলোড ডিফল্ট "{" ক্যারেক্টার ব্যবহার করতে পারে না বলে, ফ্লো ভেরিয়েবলে ঐচ্ছিকভাবে লিডিং ডিলিমিটার নির্দিষ্ট করে। ঐচ্ছিক Char
variableSuffix JSON পেলোড ডিফল্ট "}" ক্যারেক্টার ব্যবহার করতে পারে না বলে, ফ্লো ভেরিয়েবলে ঐচ্ছিকভাবে ট্রেলিং ডিলিমিটার নির্দিষ্ট করে। ঐচ্ছিক Char

<FaultResponse>/<Set>/<StatusCode> এলিমেন্ট

উত্তরের স্ট্যাটাস কোড সেট করে।

<Set source='request'>
    <StatusCode>404</StatusCode>
</Set>

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

টাইপ:

বুলিয়ান

<FaultResponse>/<Set>/<ReasonPhrase> এলিমেন্ট

উত্তরের কারণ সংক্রান্ত বাক্যাংশ সেট করে।

<Set source='request'>     
    <ReasonPhrase>The resource requested was not found.</ReasonPhrase>
</Set>

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

টাইপ:

বুলিয়ান

<ShortFaultReason> এলিমেন্ট

উত্তরে ফল্টের সংক্ষিপ্ত কারণ দেখানোর জন্য নির্দিষ্ট করে:

<ShortFaultReason>true|false</ShortFaultReason>

নীতি সংক্রান্ত উত্তরে ডিফল্ট হিসেবে যে কারণে সমস্যা হয়েছে তা হল:

"fault":{"faultstring":"Raising fault. Fault name : Raise-Fault-1","detail":{"errorcode":"errorCode"}}}

মেসেজটি আরও সহজে পাঠযোগ্য করে তুলতে, আপনি <ShortFaultReason> এলিমেন্ট সত্য হিসেবে সেট করতে পারেন, যাতে faultstring-কে শুধুমাত্র নীতির নামে সংক্ষিপ্ত করা যায়:

"fault":{"faultstring":"Raise-Fault-1","detail":{"errorcode":"errorCode"}}}

সঠিক মান: true/false(ডিফল্ট)।

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

টাইপ:

বুলিয়ান

ফ্লো ভেরিয়েবল

HTTP হেডার, মেসেজ কন্টেন্ট বা Flow কনটেক্সটের উপর ভিত্তি করে, রানটাইমে Flow ভেরিয়েবল নীতি ও Flow-এর ডায়নামিক আচরণ চালু করে। RaiseFault নীতি কার্যকর হওয়ার পরে নিম্নলিখিত আগে থেকে সংজ্ঞায়িত Flow ভেরিয়েবল উপলভ্য হয়: ফ্লো ভেরিয়েবল সম্পর্কে আরও জানতে, ভেরিয়েবল রেফারেন্স দেখুন।

ভেরিয়েবেল ধরন অনুমতি বিবরণ
fault.name স্ট্রিং রিড-অনলি RaiseFault নীতি এক্সিকিউট করলে, এই ভেরিয়েবলটি সবসময় স্ট্রিং RaiseFault-এ সেট করা হয়।
fault.type স্ট্রিং রিড-অনলি সমস্যার মধ্যে থাকা ফল্ট টাইপ এবং উপলভ্য না থাকলে, খালি স্ট্রিং রিটার্ন করে।
fault.category স্ট্রিং রিড-অনলি সমস্যায় থাকা ফল্ট বিভাগ এবং উপলভ্য না থাকলে, একটি খালি স্ট্রিং রিটার্ন করে।

RaiseFault ব্যবহারের উদাহরণ

নিচে দেওয়া উদাহরণে ইনবাউন্ড অনুরোধে queryparam-এর zipcode নাম থাকা বাধ্যতামূলক করার জন্য একটি কন্ডিশন ব্যবহার করা হয়েছে। যদি সেই queryparam না থাকে, তাহলে ফ্লোটি RaiseFault-এর মাধ্যমে একটি ফল্ট তৈরি করবে:

<Flow name="flow-1">
  <Request>
    <Step>
        <Name>RF-Error-MissingQueryParam</Name>
        <Condition>request.queryparam.zipcode = null</Condition>
    </Step>
   ...
   </Request>
   ...
   <Condition>(proxy.pathsuffix MatchesPath "/locations") and (request.verb = "GET")</Condition>
</Flow>
RaiseFault-এ কী কী থাকবে তা নিচে দেখানো হল:
<RaiseFault name='RF-Error-MissingQueryParam'>
  <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
  <FaultResponse>
    <Set>
      <Payload contentType='application/json'>{
  "error" : {
    "code" : 400.02,
    "message" : "invalid request. Pass a zipcode queryparam."
  }
}
</Payload>
      <StatusCode>400</StatusCode>
      <ReasonPhrase>Bad Request</ReasonPhrase>
    </Set>
  </FaultResponse>
</RaiseFault>

সমস্যার রেফারেন্স

এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর দ্বারা সেট করা ফল্ট কোড, সমস্যার মেসেজ এবং ফল্ট ভেরিয়েবল এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, এগুলি দেখুন: নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং সমস্যার সমাধান করা।

রানটাইম সমস্যা

নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।

সমস্যার কোড HTTP স্ট্যাটাস কারণ
steps.raisefault.RaiseFault 500 ফল্ট স্ট্রিং দেখুন।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

কোনওটিই নয়।

ফল্ট ভেরিয়েবল

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

ভেরিয়েবল কোথায় উদাহরণ
fault.name="fault_name" fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সমস্যার টেবিলে তালিকাভুক্ত করা আছে। ভুল কোডের শেষ অংশটি হল ভুলের নাম। fault.name = "RaiseFault"
raisefault.policy_name.failed policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যেটি সমস্যা তৈরি করেছে। raisefault.RF-ThrowError.failed = true

সমস্যার উত্তরের উদাহরণ

{
   "fault":{
      "detail":{
         "errorcode":"steps.raisefault.RaiseFault"
      },
      "faultstring":"Raising fault. Fault name: [name]"
   }
}

স্কিমা

প্রতিটি নীতির ধরন XML স্কিমা (.xsd) দ্বারা সংজ্ঞায়িত করা হয়। রেফারেন্সের জন্য, নীতি স্কিমা GitHub-এ উপলভ্য।

সম্পর্কিত বিষয়

সমস্যা সমাধান করা দেখুন