500 অভ্যন্তরীণ সার্ভার ত্রুটি - BadFormData

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

উপসর্গ

ক্লায়েন্ট অ্যাপ্লিকেশনটি API কলগুলির প্রতিক্রিয়া হিসাবে ত্রুটি কোড protocol.http.BadFormData .http.BadFormData সহ 500 Internal Server Error একটি HTTP স্ট্যাটাস কোড পায়।

ত্রুটি বার্তা

ক্লায়েন্ট অ্যাপ্লিকেশন নিম্নলিখিত প্রতিক্রিয়া কোড পায়:

HTTP/1.1 500 Internal Server Error

উপরন্তু, আপনি নিম্নলিখিত ত্রুটি বার্তা পর্যবেক্ষণ করতে পারেন:

{
   "fault":{
      "faultstring":"Bad Form Data",
      "detail":{
         "errorcode":"protocol.http.BadFormData"
      }
   }
}

ফর্ম ডেটা

এই সমস্যাটি সমাধানের বিশদ বিবরণে যাওয়ার আগে, আসুন ফর্ম ডেটা কী তা জেনে নেওয়া যাক।

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

ফর্ম ডেটা ট্রান্সমিশন

  1. বিষয়বস্তুর প্রকার: অ্যাপ্লিকেশন/x-www-form-urlencoded
    • যদি ফর্ম ডেটার আকার ছোট হয়, তাহলে ডেটা কী-মান জোড়া হিসাবে পাঠানো হয়:

      ফর্ম ডেটা সহ নমুনা অনুরোধ:

      curl https://HOSTALIAS/somepath -H "Content-Type: application/x-www-form-urlencoded" -d "username=abc@google.com&pasword=secret123"
      
    • উভয় কী এবং মানের মধ্যে যেকোন নন-আলফানিউমেরিক অক্ষরগুলি শতাংশ এনকোড করা হয়, অর্থাৎ, তারা একটি অক্ষর ট্রিপলেট %HH হিসাবে উপস্থাপিত হয়, যার মধ্যে একটি শতাংশ চিহ্ন থাকে যার পরে দুটি হেক্সাডেসিমেল সংখ্যা নির্দিষ্ট অক্ষরের ASCII কোডকে প্রতিনিধিত্ব করে।
    • এইভাবে, যদিও শতাংশ চিহ্ন ( % ) ফর্ম ডেটাতে অনুমোদিত, এটি একটি বিশেষ এস্কেপ সিকোয়েন্সের শুরু হিসাবে ব্যাখ্যা করা হয়। অতএব, যদি ফর্ম ডেটার কী বা মানের মধ্যে শতাংশ চিহ্ন ( % ) থাকা প্রয়োজন, তাহলে এটিকে %25, যা শতাংশ চিহ্ন ( % ) অক্ষরের জন্য ASCII কোডকে উপস্থাপন করে।
  2. বিষয়বস্তুর প্রকার: মাল্টিপার্ট/ফর্ম-ডেটা

    আপনি যদি প্রচুর পরিমাণে বাইনারি ডেটা বা নন-ASCII অক্ষর সম্বলিত পাঠ্য প্রেরণ করতে চান, তাহলে আপনি Content-Type: মাল্টিপার্ট/ফর্ম-ডেটা সহ ফর্মগুলিতে ব্যাখ্যা করা তথ্য পাঠাতে পারেন - বিভাগ 17.13.4.2

সম্ভাব্য কারণ

এই ত্রুটিটি ঘটে যদি এবং শুধুমাত্র যদি নিম্নলিখিত সমস্ত শর্ত পূরণ করা হয়:

  1. Apigee Edge এ ক্লায়েন্টের পাঠানো HTTP অনুরোধে রয়েছে:
    1. Content-Type: application/x-www-form-urlencoded , এবং
    2. শতাংশ চিহ্ন ( % ), বা শতাংশ চিহ্ন ( % ) এর পরে অবৈধ হেক্সাডেসিমেল অক্ষর সহ ফর্ম ডেটা যা ফর্ম অনুসারে অনুমোদিত নয় - বিভাগ 17.13.4.1
  2. Apigee Edge-এর API প্রক্সি এক্সট্র্যাক্ট ভেরিয়েবল বা AssignMessage নীতি ব্যবহার করে অনুরোধের প্রবাহে ব্যবহার করার অনুমতি নেই এমন কোনো অক্ষর ধারণকারী নির্দিষ্ট ফর্ম প্যারামিটারগুলি পড়ে।

    উদাহরণস্বরূপ, যদি ফর্ম ডেটাতে শতাংশ চিহ্ন থাকে ( % ) যেমন- (এনকোডিং ছাড়া) বা শতাংশ চিহ্ন ( % ) কী এবং/অথবা মানের কোনও অবৈধ হেক্সাডেসিমেল অক্ষর দ্বারা অনুসরণ করা হলে, আপনি এই ত্রুটিটি পাবেন।

    এই ত্রুটির সম্ভাব্য কারণগুলি এখানে রয়েছে:

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

সাধারণ রোগ নির্ণয়ের পদক্ষেপ

এই ত্রুটি নির্ণয় করতে নিম্নলিখিত সরঞ্জাম/কৌশলগুলির মধ্যে একটি ব্যবহার করুন:

API মনিটরিং

API মনিটরিং ব্যবহার করে ত্রুটি নির্ণয় করতে:

  1. Apigee Edge UI এ একটি উপযুক্ত ভূমিকা সহ ব্যবহারকারী হিসাবে সাইন ইন করুন৷
  2. আপনি যে সংস্থায় সমস্যাটি তদন্ত করতে চান সেখানে যান।

  3. এনালাইজ > API মনিটরিং > ইনভেস্টিগেট পেজে নেভিগেট করুন।
  4. নির্দিষ্ট সময়সীমা নির্বাচন করুন যেখানে আপনি ত্রুটিগুলি পর্যবেক্ষণ করেছেন।
  5. সময়ের বিরুদ্ধে প্লট ফল্ট কোড

  6. ফল্ট কোড protocol.http.BadFormData আছে এমন একটি সেল নির্বাচন করুন। http.BadFormData নীচে দেখানো হয়েছে:

    ( বড় ছবি দেখুন )

  7. ফল্ট কোড protocol.http.BadFormData সম্পর্কে তথ্য নীচে দেখানো হয়েছে:

    ( বড় ছবি দেখুন )

  8. লগ দেখুন ক্লিক করুন এবং ব্যর্থ অনুরোধের জন্য সারি প্রসারিত করুন।

  9. লগ উইন্ডো থেকে, নিম্নলিখিত বিবরণ নোট করুন:
    • স্ট্যাটাস কোড: 500
    • ফল্ট উত্স: proxy
    • ফল্ট কোড: protocol.http.BadFormData
    • ফল্ট নীতি: extractvariables/EV-ExtractFormParams
  10. যদি ফল্ট সোর্সটি proxy হয় , ফল্ট কোড হল protocol.http.BadFormData এবং ফল্ট পলিসিটি খালি নয়, তাহলে এটি নির্দেশ করে যে ত্রুটিটি ঘটেছে যখন ফল্ট পলিসিতে নির্দেশিত নির্দিষ্ট নীতিটি ফর্ম ডেটা (ফর্ম প্যারামিটার) পড়া বা বের করার সময় এমন কোনো অক্ষর আছে যা ব্যবহার করার অনুমতি নেই
  11. এই উদাহরণে, X-Apigee-fault-policy হল extractvariables/EV- ExtractFormParams, যার অর্থ হল EV-ExtractFormParams নামের ExtractVariables নীতি ফর্ম প্যারামিটারগুলি পড়ার বা বের করার সময় ব্যর্থ হয়েছে৷

ট্রেস টুল

ট্রেস টুল ব্যবহার করে ত্রুটি নির্ণয় করতে:

  1. ট্রেস সেশন সক্ষম করুন এবং হয়:
    • 500 Internal Server Error ত্রুটি ঘটতে অপেক্ষা করুন, অথবা
    • আপনি যদি সমস্যাটি পুনরুত্পাদন করতে পারেন, তাহলে সমস্যাটি পুনরুত্পাদন করতে API কল করুন 500 Internal Server Error
  2. সমস্ত ফ্লোইনফোস সক্ষম করা আছে তা নিশ্চিত করুন:

  3. ব্যর্থ অনুরোধগুলির একটি নির্বাচন করুন এবং ট্রেস পরীক্ষা করুন।
  4. ট্রেসের বিভিন্ন পর্যায়ে নেভিগেট করুন এবং কোথায় ব্যর্থতা ঘটেছে তা সনাক্ত করুন।
  5. আপনি সাধারণত নিচে দেখানো নীতিগুলির মধ্যে একটিতে ত্রুটিটি খুঁজে পাবেন:

    উপরের নমুনা ট্রেসে, লক্ষ্য করুন যে ব্যর্থতাটি EV-ExtractFormParams নামে ExtractVariables নীতিতে ঘটেছে।

  6. ব্যর্থ হওয়া নির্দিষ্ট নীতির পরে ত্রুটি নামক প্রবাহে নেভিগেট করুন:

  7. ট্রেস থেকে নিম্নলিখিত মান নোট করুন:

    ত্রুটি: Bad Form Data

    অবস্থা: PROXY_REQ_FLOW

    error.class: com.apigee.rest.framework.BadRequestException

    • ত্রুটির মান Bad Form Data নির্দেশ করে যে ফর্ম প্যারামিটারে কিছু অক্ষর ছিল যা ব্যবহার করার অনুমতি নেই
    • অবস্থা PROXY_REQ_FLOW , নির্দেশ করে যে API প্রক্সির অনুরোধ প্রবাহে ত্রুটি ঘটেছে৷
  8. ট্রেসে AX (Analytics Data Recorded) ফেজে নেভিগেট করুন এবং এটিতে ক্লিক করুন।
  9. ফেজ বিশদ - ত্রুটি শিরোনাম বিভাগে নীচে স্ক্রোল করুন এবং নীচে দেখানো হিসাবে X-Apigee-fault-code , X-Apigee-fault-source , এবং X-Apigee-fault-policy এর মান নির্ধারণ করুন:

  10. মনে রাখবেন X-Apigee-fault-code এবং X-Apigee-fault-source- এর মানগুলি যথাক্রমে protocol.http.BadFormData এবং policy এবং X-Apigee-ফল্ট-পলিসি খালি নয়৷ এটি নির্দেশ করে যে এক্স-অ্যাপিজি-ফল্ট-পলিসিতে নির্দেশিত নির্দিষ্ট নীতিটি ফর্ম ডেটা (ফর্ম প্যারামিটার) পড়া বা বের করার সময় ত্রুটি ঘটেছে, যাতে এমন কোনও অক্ষর ছিল যা ব্যবহার করার অনুমতি নেই

    প্রতিক্রিয়া শিরোনাম মান
    এক্স-অ্যাপিজি-ফল্ট-কোড protocol.http.BadFormData
    এক্স-অ্যাপিজি-ফল্ট-উৎস policy
    এক্স-অপিজি-ফল্ট-নীতি extractvariables/EV-ExtractFormParams
  11. এই উদাহরণে, X-Apigee-fault-policy হল extractvariables/EV- ExtractFormParams, যার অর্থ হল EV-ExtractFormParams নামের ExtractVariables নীতি ফর্ম প্যারামিটারগুলি পড়ার বা বের করার সময় ব্যর্থ হয়েছে৷

এনজিআইএনএক্স

NGINX অ্যাক্সেস লগ ব্যবহার করে ত্রুটি নির্ণয় করতে:

  1. আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন, তাহলে আপনি HTTP 500 Internal Server Error সম্পর্কে মূল তথ্য নির্ধারণ করতে NGINX অ্যাক্সেস লগ ব্যবহার করতে পারেন।
  2. NGINX অ্যাক্সেস লগগুলি পরীক্ষা করুন:

    /opt/apigee/var/log/edge-router/nginx/ ORG ~ ENV . PORT# _access_log

  3. ত্রুটি কোড protocol.http.BadFormData একটি নির্দিষ্ট সময়কালে (যদি সমস্যাটি অতীতে ঘটে থাকে) বা 500 500 সাথে কোনো অনুরোধ এখনও ব্যর্থ হয়েছে কিনা তা দেখতে অনুসন্ধান করুন।
  4. আপনি যদি X-Apigee-fault-code-এর সাথে protocol.http.BadFormData এর মানের সাথে 500 ত্রুটি খুঁজে পান, তাহলে X-Apigee-fault-source এবং X-Apigee-ফল্ট-পলিসির মান নির্ধারণ করুন৷

    NGINX অ্যাক্সেস লগ থেকে নমুনা 500 ত্রুটি:

    NGINX অ্যাক্সেস লগ থেকে উপরের নমুনা এন্ট্রিতে X-Apigee-fault-code এবং X-Apigee-fault-source এর জন্য নিম্নলিখিত মান রয়েছে:

    হেডার মান
    এক্স-অ্যাপিজি-ফল্ট-কোড protocol.http.BadFormData
    এক্স-অ্যাপিজি-ফল্ট-উৎস policy
    এক্স-অপিজি-ফল্ট-নীতি extractvariables/EV-ExtractFormParams
  5. মনে রাখবেন X-Apigee-fault-code , X-Apigee-fault-source- এর মান হল protocol.http.BadFormData , policy যথাক্রমে এবং X-Apigee-ফল্ট-নীতি খালি নয়। এটি নির্দেশ করে যে X-Apigee-fault-policy- এ নির্দেশিত নির্দিষ্ট নীতিটি ফর্ম ডেটা (ফর্ম প্যারামিটার) পড়ার সময় বা এক্সট্র্যাক্ট করার সময় ত্রুটিটি ঘটেছে, যাতে এমন কোনও অক্ষর ছিল যা ব্যবহার করার অনুমতি নেই
  6. এই উদাহরণে, X-Apigee-fault-policy হল extractvariables/EV- ExtractFormParams, যার মানে হল EV-ExtractFormParams নামের ExtractVariables নীতি ফর্ম প্যারামিটার পড়ার সময় ব্যর্থ হয়েছে৷

কারণ: অনুরোধে ফর্ম প্যারামিটারে এমন অক্ষর রয়েছে যা অনুমোদিত নয়

রোগ নির্ণয়

  1. এপিআই মনিটরিং, ট্রেস টুল বা এনজিআইএনএক্স অ্যাক্সেস লগ ব্যবহার করে 500 Internal Server Error জন্য ফল্ট কোড , ফল্ট সোর্স এবং ফল্ট নীতি নির্ধারণ করুন সাধারণ নির্ণয়ের ধাপে ব্যাখ্যা করা হয়েছে।
  2. policy ফল্ট কোড protocol.http.BadFormData হয় proxy
  3. ফল্ট নীতিতে নির্দেশিত নীতি পরীক্ষা করুন এবং নিম্নলিখিত তথ্য নির্ধারণ করুন:
    1. উত্স: নীতিটি অনুরোধ বা প্রতিক্রিয়া থেকে ডেটা পড়ছে বা বের করছে কিনা তা নির্ধারণ করুন।
    2. ফর্ম প্যারামিটার: নীতিতে পড়া হচ্ছে এমন নির্দিষ্ট ফর্ম প্যারামিটার নির্ধারণ করুন।

      নমুনা #1

      নমুনা #1: ExtractVariables পলিসি এক্সট্র্যাক্টিং ফর্ম প্যারামিটার:

            <ExtractVariables name="EV-ExtractFormParms">
               <DisplayName>EV-ExtractFormParams</DisplayName>
               <Source>request</Source>
               <FormParam name="username">
                  <Pattern ignoreCase="false">{username}</Pattern>
               </FormParam>
               <FormParam name="password">
                 <Pattern ignoreCase="false">{password}</Pattern>
               </FormParam>
               <VariablePrefix>forminfo</VariablePrefix>
             <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
            </ExtractVariables>
            

      উপরের ExtractVariables নীতিতে:

      • সূত্র: request

        এটি <Source> উপাদান দ্বারা নির্দেশিত হয়

      • ফর্ম পরামিতি: username এবং password

        এটি <FormParam> উপাদানের মধ্যে <Pattern> উপাদান দ্বারা নির্দেশিত হয়

      এটি ইঙ্গিত করে যে Apigee Edge-এ ক্লায়েন্ট কর্তৃক HTTP অনুরোধের অংশ হিসাবে পাস করা ফর্ম প্যারামিটার username এবং/অথবা password এমন অক্ষর রয়েছে যেগুলি ব্যবহার করার অনুমতি নেই

      নমুনা #2

      নমুনা #2: AssignMessage নীতি অনুলিপি ফর্ম প্যারামিটার:

            <AssignMessage continueOnError="false" enabled="true" name="AM-CopyFormParams">
              <Copy source="request">
                <FormParams>
                  <FormParam name="username"/>
                  <FormParam name="password"/>
                </FormParams>
              </Copy>
              <AssignTo createNew="true" transport="http" type="request"/>
            </AssignMessage>
            

      উপরের ExtractVariables নীতিতে:

      • সূত্র: request

        এটি <Copy> উপাদানের source বৈশিষ্ট্য দ্বারা নির্দেশিত হয়

      • ফর্ম পরামিতি: username এবং password

        এটি <FormParam> উপাদানের name বৈশিষ্ট্য দ্বারা নির্দেশিত হয়

      এটি ইঙ্গিত করে যে ফর্ম প্যারামিটার username বা password বা উভয়ই HTTP অনুরোধের অংশ হিসাবে Apigee এজকে ক্লায়েন্টের দ্বারা পাস করা কোনো অক্ষর রয়েছে যা ব্যবহার করার অনুমতি নেই

  4. নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে ধাপ 3 -তে চিহ্নিত ফর্ম প্যারামিটারগুলিতে অক্ষর ব্যবহার করার অনুমতি নেই এমন কোনও অক্ষর আছে কিনা তা পরীক্ষা করে দেখুন:

    ট্রেস টুল

    ট্রেস টুল ব্যবহার করে যাচাই করতে:

    1. আপনি যদি সাধারণ নির্ণয়ের ধাপে ব্যাখ্যা করা ব্যর্থ অনুরোধের ট্রেস ক্যাপচার করে থাকেন, তাহলে ব্যর্থ অনুরোধগুলির মধ্যে একটি নির্বাচন করুন।
    2. আপনি যদি নির্ধারণ করে থাকেন যে ফর্মের প্যারামিটারগুলি ব্যবহার করার অনুমতি দেওয়া হয়নি এমন কোনও অক্ষর রয়েছে যা উপরের ধাপ 3 -তে HTTP অনুরোধের অংশ, তাহলে
      1. ক্লায়েন্টের কাছ থেকে প্রাপ্ত অনুরোধের ধাপে নেভিগেট করুন।
      2. নিচের ধাপের বিবরণ বিভাগে স্ক্রোল করুন এবং অনুরোধের বিষয়বস্তু পর্যালোচনা করুন।

        ( বড় ছবি দেখুন )

      3. উপরের উদাহরণে, লক্ষ্য করুন যে ফর্ম প্যারামিটার password শতাংশ চিহ্ন ( % ) রয়েছে।
      4. যেহেতু শতাংশ চিহ্ন ( % ) বিশেষ অক্ষরগুলিকে শতাংশ এনকোড করার জন্যও ব্যবহৃত হয়, তাই এটি ফর্ম ডেটা হিসাবে ব্যবহার করা যাবে না।
      5. অতএব, Apigee Edge 500 Internal Server Error সাথে এরর কোড protocol.http.BadFormData এর সাথে প্রতিক্রিয়া জানায়।

    প্রকৃত অনুরোধ

    প্রকৃত অনুরোধ ব্যবহার করে যাচাই করতে:

    1. আপনার যদি টার্গেট সার্ভারে করা প্রকৃত অনুরোধে অ্যাক্সেস না থাকে, তাহলে রেজোলিউশনে যান।
    2. Apigee Edge এ করা প্রকৃত অনুরোধে আপনার অ্যাক্সেস থাকলে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
      1. ফর্ম ডেটা বিষয়বস্তু পর্যালোচনা করুন এবং দেখুন এটিতে এমন কোন অক্ষর রয়েছে যা ব্যবহার করার অনুমতি নেই যেমন শতাংশ চিহ্ন ( % ) বা শতাংশ চিহ্ন ( % ) এর পরে অবৈধ হেক্সাডেসিমেল অক্ষর।

        নমুনা #1

        নমুনা অনুরোধ #1: অনুরোধের অংশ হিসাবে ফর্ম ডেটা

        curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=123456abc123&client_secret=c23578%ZY"
        

        এই উদাহরণে, লক্ষ্য করুন যে client_secret উপাদানটিতে শতাংশ চিহ্ন রয়েছে ( % ) তারপরে অবৈধ হেক্সাডেসিমেল অক্ষর ZY

        নমুনা #2

        নমুনা অনুরোধ #2: একটি ফাইলে পাস করা ফর্ম ডেটা:

        curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d @form_data.xml
        

        form_data.xml এর বিষয়বস্তু:

        xml=<user><username>abc1234@google.com</username><password>qwerty12345!@#$%</password></user>

        এই উদাহরণে, নোট করুন যে উপাদান password শতাংশ চিহ্ন রয়েছে ( % ), যা ফর্ম ডেটার মতো পাস করা উচিত নয়৷

    3. উপরের দুটি উদাহরণে, অ্যাপিজি এজকে HTTP অনুরোধের অংশ হিসাবে পাঠানো ফর্ম ডেটাতে এমন অক্ষর রয়েছে যা ব্যবহার করার অনুমতি নেই
    4. অতএব, Apigee Edge 500 Internal Server Error সাথে এরর কোড protocol.http.BadFormData এর সাথে প্রতিক্রিয়া জানায়।

রেজোলিউশন

  1. নিশ্চিত করুন যে ক্লায়েন্টের দ্বারা HTTP অনুরোধের অংশ হিসাবে প্রেরিত ফর্ম ডেটা বা প্যারামিটারগুলির কী এবং মান উভয়েরই যে কোনও বিশেষ অক্ষর সর্বদা ফর্ম ডেটা - অ্যাপ্লিকেশন/x-www-form-urlencoded- এ বর্ণিত হিসাবে এনকোড করা হয়েছে।
  2. উপরে আলোচিত উদাহরণগুলির জন্য, আপনি নিম্নরূপ সমস্যাগুলি ঠিক করতে পারেন:

    নমুনা #1

    নমুনা #1: অনুরোধের অংশ হিসাবে ফর্ম ডেটা পাস করা হয়েছে:

    একটি নির্দিষ্ট অক্ষরের জন্য ASCII কোডের সাথে মেলে এমন বৈধ হেক্সাডেসিমেল অক্ষর ব্যবহার করুন৷ উদাহরণস্বরূপ, আপনি যদি ডলার চিহ্ন ( $ ) পাঠাতে চান তবে নীচে দেখানো হিসাবে %24 ব্যবহার করুন:

    curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=123456abc123&client_secret=c23578%24"
    

    নমুনা #2

    নমুনা অনুরোধ #2: একটি ফাইলে পাস করা ফর্ম ডেটা:

    curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d @form_data.xml
    

    form_data.xml এর বিষয়বস্তু:

    শতাংশ ( % ) চিহ্নের জন্য শতাংশ-এনকোডিং ব্যবহার করুন, যা ফাইলটিকে %25 এ পরিবর্তন করে %25 নীচে দেখানো হিসাবে:

    xml=<user><username>abc1234@google.com</username><password>qwerty12345!!@#$%25</password></user>

স্পেসিফিকেশন

Apigee Edge আশা করে যে ফর্মের ডেটা নিম্নলিখিত স্পেসিফিকেশন অনুযায়ী পাঠানো হবে:

স্পেসিফিকেশন
ফর্ম ডেটা - অ্যাপ্লিকেশন/x-www-form-urlencoded

আপনার যদি এখনও Apigee সাপোর্ট থেকে কোনো সহায়তার প্রয়োজন হয়, তাহলে অবশ্যই ডায়াগনস্টিক তথ্য সংগ্রহ করুন- এ যান।

ডায়াগনস্টিক তথ্য সংগ্রহ করতে হবে

উপরের নির্দেশাবলী অনুসরণ করার পরেও যদি সমস্যাটি থেকে যায়, তাহলে নিম্নলিখিত ডায়াগনস্টিক তথ্য সংগ্রহ করুন এবং তারপর Apigee Edge সাপোর্টের সাথে যোগাযোগ করুন:

আপনি যদি একজন পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:

  • প্রতিষ্ঠানের নাম
  • পরিবেশের নাম
  • API প্রক্সি নাম
  • সম্পূর্ণ curl কমান্ডটি ত্রুটি কোড protocol.http.BadFormData সহ 500 Internal Server Error পুনরুত্পাদন করতে ব্যবহৃত হয়।http.BadFormData
  • API অনুরোধের জন্য ট্রেস ফাইল

আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:

  • ব্যর্থ অনুরোধের জন্য পরিলক্ষিত সম্পূর্ণ ত্রুটি বার্তা
  • পরিবেশের নাম
  • API প্রক্সি বান্ডেল
  • API অনুরোধের জন্য ট্রেস ফাইল
  • NGINX অ্যাক্সেস লগ

    /opt/apigee/var/log/edge-router/nginx/ ORG ~ ENV . PORT# _access_log

    যেখানে: ORG , ENV এবং PORT# প্রকৃত মান দিয়ে প্রতিস্থাপিত হয়।

  • বার্তা প্রসেসর সিস্টেম লগ

    /opt/apigee/var/log/edge-message-processor/logs/system.log

তথ্যসূত্র