400 খারাপ অনুরোধ - DecompressionFailureAtRequest

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

উপসর্গ

ক্লায়েন্ট অ্যাপ্লিকেশনটি API কলগুলির প্রতিক্রিয়া হিসাবে ত্রুটি কোড messaging.adaptors.http.flow.DecompressionFailureAtRequest সহ 400 Bad Request একটি HTTP স্ট্যাটাস কোড পায়।

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

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

HTTP/1.1 400 Bad Request

উপরন্তু, আপনি নীচে দেখানো একটির মত একটি ত্রুটি বার্তা পর্যবেক্ষণ করতে পারেন:

{
   "fault":{
      "faultstring":"Decompression failure at request",
      "detail":{
         "errorcode":"messaging.adaptors.http.flow.DecompressionFailureAtRequest"
      }
   }
}

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

এই ত্রুটিটি ঘটে শুধুমাত্র যদি:

  • HTTP অনুরোধ শিরোনামে নির্দিষ্ট এনকোডিং Content-Encoding বৈধ এবং Apigee এজ দ্বারা সমর্থিত ,
  • কিন্তু

  • HTTP অনুরোধের অংশ হিসাবে ক্লায়েন্ট দ্বারা পাঠানো পেলোড বিন্যাস Content-Encoding শিরোনামে নির্দিষ্ট এনকোডিং বিন্যাসের সাথে মেলে না

এর কারণ হল Apigee Edge নির্দিষ্ট এনকোডিং ব্যবহার করে পেলোড ডিকোড করতে ব্যর্থ হয় যেহেতু পেলোডের বিন্যাসটি Content-Encoding শিরোনামে উল্লেখ করা এনকোডিংয়ের মতো একই বিন্যাসে নয়।

এখানে সমর্থিত Content-Encoding মানগুলির কয়েকটি উদাহরণ এবং অ্যাপিজি এজ কীভাবে সেই ক্ষেত্রে পেলোড ফর্ম্যাট আশা করে:

দৃশ্যকল্প বিষয়বস্তু-এনকোডিং প্রত্যাশিত পেলোড বিন্যাস
একক এনকোডিং জিজিপ

ইউনিক্স gzip ফরম্যাট।

RFC1952 GZIP ফরম্যাট দেখুন।

একক এনকোডিং ডিফ্লেট

এই বিন্যাসটি ডিফ্লেট কম্প্রেশন অ্যালগরিদম সহ zlib কাঠামো ব্যবহার করে।

RFC1950 এবং RFC1951 দেখুন .

একাধিক এনকোডিং

একাধিক এনকোডিং

উদাহরণস্বরূপ, যখন এনকোডিং দুইবার করা হয়, এটি হতে পারে:

  • gzip, deflate
  • gzip, gzip
  • ডিফ্লেট, জিজিপ
  • deflate, deflate
প্রদত্ত ক্রমানুসারে পেলোডে একাধিক এনকোডিং প্রয়োগ করা হয়েছে যেমনটি হেডারে প্রদর্শিত হয়৷

এই ত্রুটির সম্ভাব্য কারণগুলি নিম্নরূপ:

কারণ বর্ণনা সমস্যা সমাধানের নির্দেশাবলী প্রযোজ্য
অনুরোধ পেলোড বিন্যাস বিষয়বস্তু-এনকোডিং শিরোনামে নির্দিষ্ট এনকোডিংয়ের সাথে মেলে না ক্লায়েন্টের পাঠানো রিকোয়েস্ট পেলোডের ফর্ম্যাটটি হয় এনকোড করা হয়নি বা Content-Encoding হেডারে উল্লেখিত এনকোডিংয়ের সাথে মেলে না। এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা

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

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

API মনিটরিং

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

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

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

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

  8. ফল্ট কোড messaging.adaptors.http.flow.DecompressionFailureAtRequest সম্পর্কে তথ্য নীচে দেখানো হয়েছে:

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

  9. লগ দেখুন ক্লিক করুন এবং 400 ত্রুটির সাথে ব্যর্থ হওয়া সারিটি প্রসারিত করুন।

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

  10. লগ উইন্ডো থেকে, নিম্নলিখিত বিবরণ নোট করুন:
    • স্ট্যাটাস কোড: 400
    • ফল্ট উত্স: proxy
    • ফল্ট কোড: messaging.adaptors.http.flow.DecompressionFailureAtRequest
  11. যদি ফল্ট সোর্সের মান proxy থাকে, তাহলে তা নির্দেশ করে যে অনুরোধের পেলোড বিন্যাসটি Content-Encoding শিরোনামে নির্দিষ্ট করা সমর্থিত এনকোডিংয়ের সাথে মেলেনি।

ট্রেস টুল

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

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

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

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

  6. ট্রেস থেকে বৈশিষ্ট্যের মান নোট করুন:

    • ত্রুটি: Decompression failure at request
    • error.class : com.apigee.rest.framework.BadRequestException
    • error.cause: Not in GZIP format

    error.cause বলে যে অনুরোধ পেলোড GZIP ফর্ম্যাটে নয়। এর মানে হল যে Apigee Edge অনুরোধ পেলোড GZIP ফর্ম্যাটে হবে বলে আশা করছিল কারণ এটি Content-Encoding হেডারে নির্দিষ্ট করা হবে।

  7. অনুরোধ শিরোনাম Content-Encoding এর মান নির্ধারণ করুন। এর জন্য, নীচে দেখানো হিসাবে ক্লায়েন্টের কাছ থেকে প্রাপ্ত অনুরোধের ধাপে নেভিগেট করুন:

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

    নোট করুন যে অনুরোধ শিরোনাম Content-Encoding মান প্রকৃতপক্ষে gzip

    উপরের নমুনা ট্রেস দেখায় যে অনুরোধ শিরোনাম Content-Encoding এ নির্দিষ্ট করা এনকোডিং হল gzip ; যাইহোক, অনুরোধ পেলোড GZIP বিন্যাসে নয়। অতএব, Apigee gzip ব্যবহার করে পেলোড ডিকম্প্রেস করতে পারে না এবং Decompression failure at request ফেরত দেয়।

  8. নেভিগেট করে Apigee Edge দ্বারা ফিরে আসা স্থিতি কোড এবং ত্রুটি বার্তাটি নোট করুন

    নীচে দেখানো হিসাবে ট্রেসে ক্লায়েন্ট পর্যায়ে পাঠানো প্রতিক্রিয়ার জন্য:

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

    ট্রেস থেকে নিম্নলিখিত বিবরণ নোট করুন:

    • স্ট্যাটাস কোড: 400 Bad Request
    • ত্রুটি বিষয়বস্তু: {"fault":{"faultstring":"Decompression failure at request","detail":{"errorcode":"messaging.adaptors.http.flow.DecompressionFailureAtRequest"}}}
  9. ট্রেসে AX (Analytics Data Recorded) পর্বে নেভিগেট করুন এবং এটিতে ক্লিক করুন।

  10. ফেজ বিশদ বিবরণ , ত্রুটি শিরোনাম বিভাগে স্ক্রোল করুন এবং নীচে দেখানো হিসাবে X-Apigee-fault-code এবং X-Apigee-fault-source এর মান নির্ধারণ করুন:

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

  11. আপনি messaging.adaptors.http.flow.DecompressionFailureAtRequest এবং policy হিসাবে X-Apigee-fault-code এবং X-Apigee-fault-source- এর মানগুলি দেখতে পাবেন, যা নির্দেশ করে যে অনুরোধের পেলোড বিন্যাসটি Content-Encoding নির্দিষ্ট করা এনকোডিংয়ের সাথে মেলেনি- Content-Encoding হেডার।
    প্রতিক্রিয়া শিরোনাম মান
    এক্স-অ্যাপিজি-ফল্ট-কোড messaging.adaptors.http.flow.DecompressionFailureAtRequest
    এক্স-অ্যাপিজি-ফল্ট-উৎস policy

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

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

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

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

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

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

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

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

    প্রতিক্রিয়া শিরোনাম মান
    এক্স-অ্যাপিজি-ফল্ট-কোড messaging.adaptors.http.flow.DecompressionFailureAtRequest
    এক্স-অ্যাপিজি-ফল্ট-উৎস policy

কারণ: অনুরোধ পেলোড বিন্যাস বিষয়বস্তু-এনকোডিং শিরোনামে নির্দিষ্ট এনকোডিংয়ের সাথে মেলে না

ডিফল্টরূপে, অনুরোধ শিরোনাম Content-Encoding একটি বৈধ এবং একটি সমর্থিত এনকোডিং থাকলে Apigee এজ সর্বদা পেলোডকে ডিকম্প্রেস করে। অতএব, এটি প্রত্যাশিত যে অনুরোধ পেলোডের বিন্যাস অনুরোধ শিরোনাম Content-Encoding এ উল্লিখিত এনকোডিংয়ের সাথে মেলে । যদি একটি অমিল হয়, তাহলে আপনি এই ত্রুটি পেতে.

রোগ নির্ণয়

  1. এপিআই মনিটরিং, ট্রেস টুল বা এনজিআইএনএক্স অ্যাক্সেস লগ ব্যবহার করে দেখা ত্রুটির জন্য ফল্ট কোড এবং ফল্ট সোর্স নির্ণয় করুন যা সাধারণ নির্ণয়ের ধাপে ব্যাখ্যা করা হয়েছে।
  2. যদি ফল্ট কোডটি messaging.adaptors.http.flow.DecompressionFailureAtRequest হয় এবং ফল্ট সোর্সের মান policy বা proxy থাকে, তাহলে এটি নির্দেশ করে যে ক্লায়েন্ট অ্যাপ্লিকেশনের পাঠানো অনুরোধে পেলোড রয়েছে যা অনুরোধ শিরোনামে নির্দিষ্ট করা সমর্থিত এনকোডিংয়ের সাথে মেলে না Content-Encoding
  3. আপনি নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে HTTP অনুরোধের অংশ হিসাবে অমিল নির্ধারণ করতে পারেন:

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

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

    1. Apigee Edge থেকে প্রাপ্ত সম্পূর্ণ ত্রুটির বার্তায় আপনার অ্যাক্সেস থাকলে, faultstring পড়ুন।

      নমুনা ত্রুটি বার্তা:

      "faultstring":"Decompression failure at request"
    2. উপরের ত্রুটি বার্তায়, এটি "Decompression failure at request" প্রদর্শন করে যা বোঝায় যে Content-Encoding শিরোনামে নির্দিষ্ট এনকোডিং ব্যবহার করে অনুরোধটি ডিকম্প্রেস করা যায়নি।

    ট্রেস

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

    1. অনুরোধ শিরোনামের মান নির্ধারণ করুন বিষয়বস্তু-এনকোডিং এবং সম্পত্তি ত্রুটি. কারণ সাধারণ নির্ণয়ের ধাপে ব্যাখ্যা করা ট্রেস ব্যবহার করে।
    2. নমুনা ট্রেস থেকে মান নিম্নরূপ:

      • বিষয়বস্তু-এনকোডিং: gzip
      • error.cause: Not in GZIP format

      অনুরোধ শিরোনাম বিষয়বস্তু-এনকোডিং- এর মান হল gzip ; যাইহোক, অনুরোধ পেলোড GZIP ফর্ম্যাটে নয় (যেমন error.cause দ্বারা নির্দেশিত)। অতএব, Apigee Edge 400 Bad Request এবং ত্রুটি কোড messaging.adaptors.http.flow.DecompressionFailureAtRequest সহ প্রতিক্রিয়া জানায়।

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

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

    ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা তৈরি প্রকৃত অনুরোধে আপনার অ্যাক্সেস থাকলে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

    1. অনুরোধ শিরোনাম Content-Encoding এ পাস করা মান নির্ধারণ করুন।
    2. অনুরোধের অংশ হিসাবে পাঠানো পেলোডের বিন্যাস নির্ধারণ করুন।
    3. যদি Content-Encoding শিরোলেখের মান সমর্থিত এনকোডিংয়ের তালিকায় থাকে কিন্তু অনুরোধের পেলোডের বিন্যাসটি Content-Encoding শিরোনামে নির্দিষ্ট করা এনকোডিংয়ের সাথে মেলে না, তাহলে এটিই সমস্যার কারণ।

      নমুনা অনুরোধ:

      curl -v "http://HOSTALIAS/v1/testgzip" -H "Content-Encoding: gzip" -X POST -d @request_payload.zip
      

      উপরের নমুনা অনুরোধটি Content-Encoding হেডারে মান gzip পাঠায় যা Apigee এজ-এ একটি সমর্থিত এনকোডিং । যাইহোক, অনুরোধ payload request_payload.zip জিপ ফর্ম্যাটে আছে। অতএব, এই অনুরোধটি একটি 400 Bad Request স্ট্যাটাস কোড এবং ত্রুটি কোডের সাথে ব্যর্থ হয়: messaging.adaptors.http.flow.DecompressionFailureAtRequest

    বার্তা প্রসেসর লগ

    বার্তা প্রসেসর লগ ব্যবহার করে যাচাই করতে:

    আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন, তাহলে আপনি HTTP 400 ত্রুটি সম্পর্কে মূল তথ্য নির্ধারণ করতে বার্তা প্রসেসর লগ ব্যবহার করতে পারেন।

    1. API মনিটরিং, ট্রেস টুল, বা NGINX অ্যাক্সেস লগগুলি ব্যবহার করে ব্যর্থ অনুরোধের বার্তা আইডি নির্ধারণ করুন যা সাধারণ নির্ণয়ের ধাপে ব্যাখ্যা করা হয়েছে।
    2. বার্তা প্রসেসর লগে বার্তা আইডি অনুসন্ধান করুন:

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

    3. আপনি নিম্নলিখিত ব্যতিক্রমগুলির মধ্যে একটি দেখতে পাবেন:

      দৃশ্যকল্প #1

      পরিস্থিতি #1: যখন API অনুরোধে হেডার থাকে Content-Encoding: gzip

      2021-07-28 10:21:16,861  NIOThread@0 ERROR HTTP.SERVER -
      HTTPServer$Context.onInputException() : Message id:rt-57-1
      SSLClientChannel[Accepted: Remote:192.168.199.8:8443
      Local:192.168.80.234:44284]@28469 useCount=1 bytesRead=0
      bytesWritten=28764 age=2739893ms  lastIO=0ms
      isOpen=true.onExceptionRead exception: {}
      java.util.zip.ZipException: Not in GZIP format
      
      2021-07-28 10:21:16,862  NIOThread@0 ERROR ADAPTORS.HTTP.FLOW -
      AbstractRequestListener.onException() : Request:POST, uri:/test,
      message Id:rt-57-1, exception:java.util.zip.ZipException: Not in GZIP format,
      context:Context@71ea5ac input=ClientInputChannel(SSLClientChannel[Accepted:
      Remote:192.168.199.8:8443 Local:192.168.80.234:44284]@28469 useCount=1
      bytesRead=0 bytesWritten=28764 age=2739894ms  lastIO=0ms  isOpen=true)
      2021-07-28 10:21:16,862  NIOThread@0 INFO  HTTP.SERVICE -
      ExceptionHandler.handleException() :
      Exception java.util.zip.ZipException: Not in GZIP format occurred while writing
      to channel null
      2021-07-28 10:21:16,863  NIOThread@0 INFO  HTTP.SERVICE -
      ExceptionHandler.handleException() : Exception trace:
      java.util.zip.ZipException: Not in GZIP format
      

      লাইন java.util.zip.ZipException: Not in GZIP format এটি নির্দেশ করে যে অনুরোধ পেলোড GZIP ফর্ম্যাটে পাঠানো হয়নি যদিও Content-Encoding gzip হিসাবে নির্দিষ্ট করা হয়েছে। অতএব, Apigee Edge ব্যতিক্রমটি ছুড়ে দেয় এবং ক্লায়েন্ট অ্যাপ্লিকেশনগুলিতে ফল্ট কোড messaging.adaptors.http.flow.DecompressionFailureAtRequest .http.flow.DecompressionFailureAtRequest সহ একটি 400 স্ট্যাটাস কোড ফেরত দেয়।

      দৃশ্যকল্প #2

      দৃশ্য #2: যখন API অনুরোধের শিরোনাম থাকে Content-Encoding: deflate

      2021-07-28 15:26:31,893  NIOThread@1 ERROR HTTP.SERVER -
      HTTPServer$Context.onInputException() : Message id:rt-47875-1
      SSLClientChannel[Accepted: Remote:192.168.199.8:8443
      Local:192.168.81.72:45954]@29276 useCount=1 bytesRead=0
      bytesWritten=37230 age=3498856ms  lastIO=1ms
      isOpen=true.onExceptionRead exception: {}
      java.util.zip.ZipException: incorrect header check
                        ….
      Caused by: java.util.zip.DataFormatException: incorrect header check
             ..
      2021-07-28 15:26:31,894  NIOThread@1 ERROR ADAPTORS.HTTP.FLOW -
      AbstractRequestListener.onException() : Request:POST, uri:/test,
      message Id:rrt-47875-1, exception:java.util.zip.ZipException:
      incorrect header check, context:Context@69b3ac45
      input=ClientInputChannel(SSLClientChannel[Accepted:
      Remote:192.168.199.8:8443 Local:192.168.81.72:45954]@29276
      useCount=1 byt	esRead=0 bytesWritten=37230 age=3498856ms
      lastIO=1ms  isOpen=true)
      

      লাইনগুলি java.util.zip.ZipException: incorrect header check এবং Caused by: java.util.zip.DataFormatException: incorrect header check নির্দেশ করে যে অনুরোধ পেলোড ডিফ্লেট ফরম্যাটে পাঠানো হয়নি এবং এনকোডিংয়ের সাথে মেলে না ডিফ্লেটের Content-Encoding শিরোনামে নির্দিষ্ট করা হয়েছে। অতএব, Apigee Edge ব্যতিক্রমটি ছুড়ে দেয় এবং ক্লায়েন্ট অ্যাপ্লিকেশনগুলিতে ফল্ট কোড messaging.adaptors.http.flow.DecompressionFailureAtRequest .http.flow.DecompressionFailureAtRequest সহ একটি 400 স্ট্যাটাস কোড ফেরত দেয়।

রেজোলিউশন

  1. Apigee এজ এবং ব্যাকএন্ড সার্ভারে API প্রক্সি ফ্লোতে সংকুচিত অনুরোধ পেলোডের কোন প্রয়োজন না থাকলে, হেডার Content-Encoding পাস করবেন না । অনুরোধ পেলোড সংকুচিত করার প্রয়োজন হলে, ধাপ 2 এ যান।
  2. নিশ্চিত করুন যে ক্লায়েন্ট অ্যাপ্লিকেশন সর্বদা নিম্নলিখিতগুলি পাঠায়:
    • অনুরোধে Content-Encoding শিরোনামের মান হিসাবে সমর্থিত এনকোডিংগুলির যেকোনো একটি
    • Apigee Edge-এ সমর্থিত বিন্যাসে অনুরোধ পেলোড Content-Encoding শিরোনামে নির্দিষ্ট এনকোডিং বিন্যাসের সাথে মেলে
  3. উপরে আলোচনা করা উদাহরণে, অনুরোধের পেলোড জিপ ফর্ম্যাটে কিন্তু অনুরোধের শিরোনামটি নির্দিষ্ট করে Content-Encoding: gzip । আপনি Content-Encoding: gzip এবং অনুরোধ পেলোড এছাড়াও gzip বিন্যাসে:
    curl -v "https://HOSTALIAS/v1/testgzip" -H "Content-Encoding: gzip" -X POST -d @request_payload.gz
    

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

Apigee Edge নিম্নলিখিত RFC স্পেসিফিকেশন অনুযায়ী এরর কোড messaging.adaptors.http.flow.DecompressionFailureAtRequest সহ স্ট্যাটাস কোড 400 Bad Request সাথে সাড়া দেয়:

স্পেসিফিকেশন
RFC 7231, বিভাগ 6.5.1
RFC 7231, বিভাগ 3.1.2.2

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

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

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

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

  • প্রতিষ্ঠানের নাম
  • পরিবেশের নাম
  • API প্রক্সি নাম
  • 400 ত্রুটি পুনরুত্পাদন করতে ব্যবহৃত সম্পূর্ণ curl কমান্ড
  • 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