کاتالوگ خطای زمان اجرا

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

خطاها در Apigee Edge

وقتی درخواست‌های API ازطریق Apigee Edge انجام می‌شود، اجزای Apigee Edge یعنی «مسیریاب‌ها» و «پردازشگرهای پیام»، یا سرورهای پشتیبان می‌توانند به برنامه‌های کارخواه خطا برگردانند.

خطاهای «پردازشگر پیام»

«پردازشگر پیام» جزء اصلی Apigee Edge است که خط‌مشی‌ها را پردازش می‌کند و با سرورهای زیرینه تعامل دارد. اگر مشکلی را تشخیص دهد، می‌تواند خطا برگرداند، مثلاً:

  • مشکلات اتصال‌پذیری شبکه، ناموفق بودن دست‌دهی TLS، دردسترس نبودن سرور زیرینه، عدم پاسخ‌دهی درطول ارتباط با سرور زیرینه
  • خطاها درطول اجرای خط‌مشی
  • سرصفحه‌های HTTP نامعتبر، کدبندی، مسیر، عدم رعایت مشخصات HTTP، فراتر رفتن از محدودیت‌های محصول، و غیره:
    • با درخواست HTTP که توسط برنامه‌های کارخواه ارسال می‌شود
    • یا

    • با پاسخ HTTP ارسال‌شده توسط سرور زیرینه
  • و بسیاری موارد دیگر

خطای نمونه از «پردازشگر پیام»

«پردازنده پیام» همیشه کد وضعیت HTTP و سپس پیام خطا و کد خطا را در قالب JSON برمی‌گرداند، همان‌طور که در زیر نشان داده شده است:

برنامه کارخواه کد پاسخی مانند مثال زیر دریافت می‌کند:

HTTP/1.1 414 Request-URI Too Long

پاسخ خطا از «پردازشگر پیام» در قالب زیر نشان داده می‌شود:

{
   "fault":{
      "faultstring":"request line size exceeding 7,168",
      "detail":{
         "errorcode":"protocol.http.TooBigLine"
      }
   }
}

شرح فیلدهای پاسخ خطا:

فیلد شرح
faultstring حاوی پیام خطایی است که علت احتمالی خطا را شرح می‌دهد
errorcode کد خطا (که به‌عنوان کد خرابی نیز شناخته می‌شود) مربوط به خطا

کاتالوگ خطای زمان اجرا

این کاتالوگ خطا همه اطلاعاتی را که باید درباره کدهای خطای زمان اجرا (برای خطاهای غیرخط‌مشی) که توسط عنصر «پردازشگر پیام Apigee Edge» برگردانده می‌شوند ارائه می‌دهد. این سند شامل اطلاعات زیر برای هریک از کدهای خطا است:

  • رمز وضعیت HTTP
  • پیام خطا
  • علل احتمالی خطا
  • هرگونه مشخصات HTTP و/یا محدودیت‌های محصول مرتبط
  • کتابچه‌های راهنما و ویدیوهایی که حاوی دستورالعمل‌هایی برای تشخیص علت خطا و راه‌حل‌های مؤثر برای رفع خطا توسط خودتان (درصورت وجود) هستند
  • راه‌حلی که می‌توانید برای رفع خطا خودتان اعمال کنید

دسته‌های کد خطای زیر پوشش داده می‌شود:

از چارگوش جستجو در زیر برای فیلتر کردن جدول و نمایش اطلاعات بالا برای یک کد خطای خاص استفاده کنید. می‌توانید کد وضعیت یا هر محتوایی را در هر فیلد در جدول جستجو کنید.

کد خطا شرح رفع اشکال

flow.*

flow.APITimedOut

  • کد وضعیت HTTP:
504 Gateway Timeout
  • پیام خطا:
API timed out
  • علت احتمالی:

این خطا در موارد زیر رخ می‌دهد:

  • سرور زیرینه در مدت زمان وقفه پیکربندی‌شده توسط دارایی api.timeout برای «پراکسی میانای برنامه‌سازی کاربردی» خاص پاسخ نمی‌دهد.
  • خط‌مشی به‌دلیل عملیات محاسباتی سنگین، بار زیاد، یا عملکرد ضعیف، زمان زیادی طول می‌کشد.

توجه: این کتابچه راهنما دستورالعمل‌هایی برای عیب‌یابی کد خطای messaging.adaptors.http.flow.GatewayTimeout ارائه می‌دهد؛ بااین‌حال، می‌توانید از همین کتابچه راهنما برای عیب‌یابی کد خطای flow.APITimedOut استفاده کنید.

کتابچه راهنما

flow.SharedFlowNotFound

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیام خطا:
Shared Flow {shared_flow_name} Not Found
  • علت احتمالی:

این خطا زمانی رخ می‌دهد که جریان هم‌رسانی‌شده خاص:

  • وجود ندارد
  • یا

  • وجود دارد اما پیاده‌سازی نشده است
کتابچه راهنما

messaging.adaptors.http.flow

messaging.adaptors.http.flow.ApplicationNotFound

  • کد وضعیت HTTP:
404 Not Found
  • پیام خطا:
Unable to identify proxy for host: {virtual_host} and url: {pathsuffix}
  • علت احتمالی:

این خطا در یکی از سناریوهای زیر رخ می‌دهد:

  1. پراکسی API خاص این است:
    1. برای پذیرفتن درخواست‌ها در «میزبان مجازی» خاص پیکربندی نشده است
    2. برای پذیرفتن درخواست‌ها در مسیر مشخصی که در درخواست استفاده شده است پیکربندی نشده است
    3. در محیط خاصی که در آن سعی می‌کنید درخواست‌های میانای برنامه‌سازی کاربردی را انجام دهید مستقر نشده است
    4. در یک یا چند «پردازنده پیام» مستقر نشده است
  2. محیط خاصی که در آن تلاش می‌کنید درخواست‌های میانای برنامه‌سازی کاربردی را انجام دهید در یک یا چند «پردازنده پیام» بار نشده است
کتابچه راهنما
این خطا همچنین می‌تواند زمانی رخ دهد که چندین میزبان مجازی دارای نام مستعار میزبان و شماره درگاه یکسان باشند. کتابچه راهنما

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • کد وضعیت HTTP:
400 Bad Request
  • پیام خطا:
Decompression failure at request
  • علت احتمالی:

این خطا فقط در شرایط زیر رخ می‌دهد:

  • کدبندی مشخص‌شده در سرایند درخواست HTTP Content-Encoding معتبر است و توسط Apigee Edge پشتیبانی می‌شود،
  • BUT

  • قالب داده‌بر ارسالی توسط کارخواه به‌عنوان بخشی از درخواست HTTP با قالب کدبندی مشخص‌شده در سرصفحه Content-Encoding مطابقت ندارد
PLAYBOOK

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Decompression failure at response
  • علت احتمالی:

این خطا فقط در شرایط زیر رخ می‌دهد:

  • کدبندی مشخص‌شده در سرصفحه پاسخ HTTP Content-Encoding سرور هدف/زیرینه معتبر باشد و توسط Apigee Edge پشتیبانی شود،
  • BUT

  • قالب پایه‌بار ارسالی ازسوی سرور پشتیبان/مقصد به‌عنوان بخشی از پاسخ HTTP با قالب کدبندی مشخص‌شده در سرایند Content-Encoding مطابقت ندارد
PLAYBOOK

messaging.adaptors.http.flow.ErrorResponseCode

  • کد وضعیت HTTP:
500

کتابچه راهنما

ویدیو

  • پیام خطا:
پیام خطا و قالب آن می‌تواند بسته به پیاده‌سازی سرور پشتیبان متفاوت باشد.
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که سرور زیرینه با کد وضعیت 500 به Apigee Edge پاسخ دهد.
  • کد وضعیت HTTP:
503

کتابچه راهنما

ویدیو

  • پیام خطا:
پیام خطا و قالب آن می‌تواند بسته به پیاده‌سازی سرور پشتیبان متفاوت باشد.
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که سرور زیرینه با کد وضعیت 503 به Apigee Edge پاسخ دهد.
  • کد وضعیت HTTP:
504 کتابچه راهنما
  • پیام خطا:
پیام خطا و قالب آن می‌تواند بسته به پیاده‌سازی سرور پشتیبان متفاوت باشد.
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که سرور زیرینه با کد وضعیت 504 به Apigee Edge پاسخ دهد.

توجه: کد خطا messaging.adaptors.http.flow.ErrorResponseCode به‌عنوان بخشی از پیام خطا ارسال‌شده به برنامه‌های کارخواه برگردانده نمی‌شود. این امر به این دلیل است که هرگاه سرور پشتیبان با خطا و هریک از کدهای وضعیت 4XX یا 5XX پاسخ دهد، Apigee Edge این کد خطا را تنظیم می‌کند. می‌توانید این کد خطا را در «پایش میانای برنامه‌سازی کاربردی»، گزارش‌های دسترسی NGINX، یا پایگاه داده تجزیه‌وتحلیل ببینید.

messaging.adaptors.http.flow.GatewayTimeout

  • کد وضعیت HTTP:
504 Gateway Timeout
  • پیام خطا:
Gateway Timeout
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که سرور زیرینه در دوره زمان اتمام I/O پیکربندی‌شده در «پردازشگر پیام» به «پردازشگر پیام Apigee Edge» پاسخ ندهد.
PLAYBOOK

messaging.adaptors.http.flow.LengthRequired

  • کد وضعیت HTTP:
411 Length Required
  • پیام خطا:
'Content-Length' is missing
  • علت احتمالی:

این خطا زمانی رخ می‌دهد که سرایند Content-Length توسط برنامه کارخواه به‌عنوان بخشی از درخواست‌های HTTP POST و PUT ارسال‌شده به Apigee Edge منتقل نشود.

توجه: درخواست‌هایی که با این خطا ناموفق می‌شوند نمی‌توانند در ابزار «ردیابی» ضبط شوند، زیرا «پردازشگر پیام» این اعتبارسنجی را در مرحله بسیار اولیه، خیلی قبل‌از پردازش درخواست و اجرای هرگونه خط‌مشی در «پراکسی API» انجام می‌دهد.

  • مشخصات HTTP:
بخش ۳.۳.۲ «درخواست نظر» (RFC): طول محتوا

رفع اشکال

برای رفع این خطا، مراحل زیر را انجام دهید:

  1. مطمئن شوید که برنامه کارخواه همیشه سرایند Content-Length را به‌عنوان بخشی از درخواست‌های اچ‌تی‌تی‌پی POST و PUT که به Apigee Edge ارسال می‌شود منتقل می‌کند. برای مثال:

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. حتی اگر بار خالی را با POST و PUT درخواست ارسال می‌کنید، مطمئن شوید که سرایند Content-Length: 0 ارسال شده باشد. برای مثال:

    curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
    

messaging.adaptors.http.flow.NoActiveTargets

  • کد وضعیت HTTP:
503 Service Unavailable
  • پیام خطا:
The Service is temporarily unavailable
  • علت احتمالی:

این خطا در یکی از سناریوهای زیر رخ می‌دهد، اگر از TargetServer در Apigee Edge استفاده می‌کنید:

  1. تفکیک ساناد نادرست میزبان سرور زیرینه توسط سرور مجوز سفارشی منجر به نشانی‌های IP بد و درنتیجه خطاهای اتصال شد.
  2. خطاهای درنگ اتصال به‌دلیل:
    1. محدودیت دیوار آتش در سرور زیرینه مانع اتصال Apigee Edge به سرور زیرینه می‌شود.
    2. مشکلات اتصال شبکه بین Apigee Edge و سرور زیرینه.
  3. میزبان مشخص‌شده در TargetServer نادرست است یا نویسه‌های ناخواسته (مثل فاصله) دارد.

کتابچه راهنما

VIDEO

اگر بررسی‌های سلامتی که برای نظارت بر بررسی سلامتی سرورهای هدف پیکربندی شده‌اند ناموفق باشند، این خطا نیز می‌تواند رخ دهد.

کتابچه راهنما

VIDEO

messaging.adaptors.http.flow.RequestTimeOut

  • کد وضعیت HTTP:
408 Request Timeout
  • پیام خطا:
Request timed out
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که «پردازشگر پیام Apigee Edge» بار درخواست را از برنامه مشتری برای دوره زمان اتمام I/O پیکربندی‌شده در عنصر «پردازشگر پیام» دریافت نکند.

رفع اشکال

مطمئن شوید که برنامه مشتری بار درخواست را در دوره زمان‌بندی I/O پیکربندی‌شده در عنصر «پردازشگر پیام» Apigee Edge ارسال می‌کند.

messaging.adaptors.http.flow.ServiceUnavailable

  • کد وضعیت HTTP:
503 Service Unavailable
  • پیام خطا:
The Service is temporarily unavailable
  • علت احتمالی:

این خطا در یکی از سناریوهای زیر رخ می‌دهد:

  1. وضوح ساناد نادرست میزبان سرور زیرینه توسط سرور مجوز سفارشی منجر به نشانی‌های IP بد و درنتیجه خطاهای اتصال شد.
  2. خطاهای اتمام مهلت اتصال به‌دلیل:
    1. محدودیت دیوار آتش در سرور زیرینه مانع اتصال Apigee Edge به سرور زیرینه می‌شود.
    2. مشکلات اتصال شبکه بین Apigee Edge و سرور زیرینه.
  3. میزبان سرور هدف مشخص‌شده در «نقطه پایان هدف» نادرست است یا نویسه‌های ناخواسته (مثل فاصله) دارد.

کتابچه راهنما

خطای ساناد:

ویدیو

اتصال‌پذیری شبکه:

ویدیو

این خطا همچنین می‌تواند زمانی رخ دهد که سرور زیرینه اتصال را زودتر از موعد ببندد، درحالی‌که «پردازشگر پیام» هنوز درحال ارسال بار درخواست به سرور زیرینه است. کتابچه راهنما

messaging.adaptors.http.flow.SslHandshakeFailed

  • کد وضعیت HTTP:
503 Service Unavailable
  • پیام خطا:
SSL Handshake failed {error_message}
  • علت احتمالی:

این خطا درطول فرایند دست‌دهی SSL بین «پردازشگر پیام» Apigee Edge و سرور پشتیبان در شرایط زیر رخ می‌دهد:

  1. ‫truststore «پردازشگر پیام» Apigee Edge:
    • حاوی زنجیره گواهینامه‌ای است که با زنجیره گواهینامه کامل سرور پشتیبان مطابقت ندارد
    • یا

    • زنجیره گواهینامه کامل سرور زیرینه را ندارد
  2. زنجیره گواهینامه ارائه‌شده توسط سرور زیرینه:
    • حاوی «نام دامنه کاملاً واجدشرایط» (FQDN) است که با نام میزبان مشخص‌شده در نقطه پایانی هدف مطابقت ندارد
    • یا

    • حاوی زنجیره گواهینامه نادرست/ناقص است

کتابچه راهنما

ویدیو

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Unexpected EOF at target
  • علت احتمالی:

این خطا در یکی از سناریوهای زیر رخ می‌دهد:

  1. TargetServer به‌درستی پیکربندی نشده است تا از اتصال‌های TLS/SSL در Apigee Edge پشتیبانی کند.
  2. وقتی Apigee Edge منتظر پاسخ از سرور زیرینه است، سرور زیرینه ممکن است اتصال را به‌طور ناگهانی ببندد.
  3. مهلت‌های زمانی «فعال نگه داشتن» در Apigee و سرور پشتیبان به‌درستی پیکربندی نشده است.
PLAYBOOK

messaging.runtime.*

messaging.runtime.RouteFailed

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیام خطا:
Unable to route the message to a TargetEndpoint
  • علت احتمالی:

این خطا زمانی رخ می‌دهد که Apigee Edge نتواند درخواست را به هیچ‌یک از TargetEndpoints هدایت کند، زیرا:

  • هیچ شرط قانون مسیری (<RouteRule>) وجود ندارد که با درخواست در پراکسی مطابقت داشته باشد
  • و

  • قانون مسیر پیش‌فرضی در ProxyEndpoint تعریف نشده است (یعنی ‫<RouteRule> بدون هیچ شرطی)

رفع اشکال

برای رفع این خطا، این دستورالعمل‌ها را دنبال کنید:

  1. قوانین مسیر تعریف‌شده در ProxyEndpoint را مرور کنید و آن‌ها را اصلاح کنید تا مطمئن شوید حداقل یک شرط قانون مسیر وجود دارد که با درخواست شما مطابقت داشته باشد.
  2. وقتی چند RouteRule دارید، تعریف کردن قانون مسیر پیش‌فرض بدون شرط رویه خوبی است.
  3. مطمئن شوید که قانون مسیر پیش‌فرض همیشه در انتهای فهرست «مسیرهای» شرطی تعریف شده باشد زیرا قوانین در ProxyEndpoint از بالا به پایین ارزیابی می‌شوند.

برای کسب اطلاعات بیشتر درباره تعریف <RouteRule> شرط در ProxyEndpoint، به هدف‌های شرطی مراجعه کنید.

messaging.runtime.SenseRaiseFault

  • کد وضعیت HTTP:
403 Forbidden
  • پیام خطا:
Sense Fault
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که درخواست API از نشانی IP مشتری خاصی ارسال شود که به‌عنوان بخشی از قوانین Apigee Sense مسدود شده است.

رفع اشکال

برای رفع این خطا، این دستورالعمل‌ها را دنبال کنید:

  1. با بررسی قوانین پیکربندی‌شده در Apigee Sense، تأیید کنید که نشانی IP مشتری خاص را مسدود کرده‌اید. اگر مسدود شده باشد، این نشان می‌دهد که طبق طراحی کار می‌کند.
  2. اگر نشانی IP مشتری خاص مسدود نشده است، اما همچنان این خطا را دریافت می‌کنید، با پشتیبانی Apigee Edge تماس بگیرید.

protocol.http.* - Caused due to bad request

protocol.http.BadFormData

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیام خطا:
Bad Form Data
  • علت احتمالی:

این خطا فقط درصورتی رخ می‌دهد که همه شرایط زیر برقرار باشد:

  1. درخواست HTTP که کارخواه به Apigee Edge ارسال می‌کند شامل موارد زیر است:
    • ‫ Content-Type: application/x-www-form-urlencoded، و
    • داده‌های فرم با علامت درصد (%)، یا علامت درصد (%) به‌دنبال نویسه‌های هگزادسیمال نامعتبر که طبق «فرم‌ها - بخش ۱۷.۱۳.۴.۱» مجاز نیستند.
  2. کارگزار نیابتی API در Apigee Edge پارامترهای فرم خاصی را که حاوی نویسه‌های غیرمجاز است بااستفاده از خط‌مشی ExtractVariables یا AssignMessage در جریان درخواست می‌خواند.
PLAYBOOK

protocol.http.DuplicateHeader

  • کد وضعیت HTTP:
400 Bad Request
  • پیام خطا:
Duplicate Header "{header_name}"
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که یک سرایند HTTP خاص که اجازه داشتن تکراری در Apigee Edge را ندارد، بیش‌از یک‌بار با مقادیر یکسان یا متفاوت به‌عنوان بخشی از درخواست HTTP که برنامه مشتری به Apigee Edge ارسال می‌کند ظاهر شود.
  • مشخصات HTTP:
‫RFC 7230، بخش ۳.۲.۲: ترتیب فیلد
PLAYBOOK

protocol.http.EmptyHeaderName

  • کد وضعیت HTTP:
400 Bad Request
  • پیام خطا:
Header name cannot be empty
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نام سرایند ارسال‌شده به‌عنوان بخشی از درخواست HTTP توسط برنامه مشتری به Apigee Edge خالی باشد.
  • مشخصات HTTP:
RFC 7230، بخش ۳.۲: فیلدهای سرایند

رفع اشکال

مطمئن شوید که درخواست HTTP ارسال‌شده توسط برنامه مشتری به Apigee Edge همیشه حاوی نام سرصفحه معتبری مطابق با RFC 7230، بخش ۳.۲: فیلدهای سرصفحه باشد.

protocol.http.HeaderNameWithNonAsciiChar

  • کد وضعیت HTTP:
400 Bad Request
  • پیام خطا:
Header {header_name} contains non ascii character {character}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نام سرایند ارسال‌شده به‌عنوان بخشی از درخواست HTTP توسط برنامه کارخواه به Apigee Edge حاوی نویسه‌های غیرASCII باشد.
  • مشخصات HTTP:

RFC 7230، بخش ۳.۲: فیلدهای سرایند و RFC 7230، بخش ۳.۲.۶: عناصر مقدار فیلد

رفع اشکال

مطمئن شوید که درخواست HTTP مشتری که به Apigee Edge ارسال شده است، طبق RFC 7230، بخش 3.2.6: عناصر مقدار فیلد، در نام‌های سرایند نویسه‌های غیر ASCII نداشته باشد.

protocol.http.HeaderWithInvalidChar

  • کد وضعیت HTTP:
400 Bad Request
  • پیام خطا:
Header {header_name} contains invalid character {character}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نام سرایند ارسال‌شده به‌عنوان بخشی از درخواست HTTP توسط برنامه کارخواه به Apigee Edge حاوی نویسه‌های نامعتبر مثل برابر (=)، کاما (،)، نقطه‌ویرگول (;)، زبانه، CRLF، و نویسه «خط جدید» باشد.
  • مشخصات HTTP:

RFC 7230، بخش ۳.۲: فیلدهای سرایند و RFC 7230، بخش ۳.۲.۶: عناصر مقدار فیلد

رفع اشکال

مطمئن شوید که درخواست HTTP ارسال‌شده توسط برنامه کارخواه به Apigee Edge طبق RFC 7230، بخش 3.2.6: عناصر مقدار فیلد حاوی نویسه‌های نامعتبر در نام‌های سرایند نباشد.

protocol.http.InvalidPath

  • کد وضعیت HTTP:
400 Bad Request
  • پیام خطا:
Invalid path {path}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که مسیر در نشانی وب درخواست HTTP که توسط برنامه کارخواه به Apigee Edge ارسال می‌شود حاوی نویسه‌هایی باشد که طبق مشخصات RFC 3986، بخش ۳.۳: مسیر مجاز نیستند.
  • مشخصات HTTP:

RFC 3986، بخش ۳: عناصر دستور زبان و RFC 3986، بخش ۳.۳: مسیر

رفع اشکال

مطمئن شوید مسیری که در نشانی وب درخواست HTTP ارسالی از برنامه کارخواه به Apigee Edge وجود دارد، حاوی هیچ‌یک از نویسه‌های غیرمجاز طبق RFC 3986، بخش 3.3: مسیر نباشد.

protocol.http.MessageReadError

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Unexpected I/O after message headers have been read.
  • علت احتمالی:
این خطای نادر زمانی رخ می‌دهد که MP در کانالی که انتظار دریافت ورودی/خروجی در آن را ندارد، ورودی/خروجی دریافت می‌کند. ‫MP درحال خواندن درخواست است، همه سرایندها را خوانده است، و برای خواندن بار درخواست تنظیم شده است. سپس با رویداد ورودی/خروجی مواجه می‌شود که به‌نظر می‌رسد برای همان سرایندها باشد.

رفع اشکال

برای اطلاعات بیشتر درباره آنچه درحال رخ دادن است، پیام گزارش را پیدا کنید.

logger.atSevere().log(
    "Unexpected I/O after message headers have been read. Channel diagnostics=%s."
        + " HeartBeat=%s",
    input.client().getDiagnostic(), message.getHeaders().isHeartBeat());
                

protocol.http.TooBigBody

  • کد وضعیت HTTP:
413 Request Entity Too Large
  • پیام خطا:
Body buffer overflow
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که اندازه پایه‌بار ارسالی توسط برنامه مشتری به‌عنوان بخشی از درخواست HTTP به Apigee Edge بزرگ‌تر از حد مجاز در Apigee Edge باشد.
  • محدودیت‌ها:
محدودیت‌های Apigee Edge
کتابچه راهنما

protocol.http.TooBigHeaders

  • کد وضعیت HTTP:
431 Request Header Fields Too Large
  • پیام خطا:
request headers size exceeding {limit}
  • علت احتمالی:
حجم کل همه سرایندهای درخواست که برنامه مشتری به‌عنوان بخشی از درخواست HTTP به Apigee Edge ارسال می‌کند از حد مجاز در Apigee Edge بیشتر است.
  • مشخصات HTTP:
RFC 6585، بخش ۵: ۴۳۱ فیلدهای سرایند درخواست خیلی بزرگ است
  • محدودیت‌ها:
محدودیت‌های Apigee Edge
کتابچه راهنما

protocol.http.TooBigLine

  • کد وضعیت HTTP:
414 Request-URI Too Long
  • پیام خطا:
request line size exceeding {limit}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که اندازه خط درخواست ارسال‌شده توسط برنامه مشتری به‌عنوان بخشی از درخواست HTTP به Apigee Edge بزرگ‌تر از حد مجاز در Apigee Edge باشد.
  • محدودیت‌ها:
محدودیت‌های Apigee Edge
کتابچه راهنما

protocol.http.UnsupportedEncoding

  • کد وضعیت HTTP:
415 Unsupported Media
  • پیام خطا:
Unsupported Encoding "{encoding}"
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که سرایند Content-Encoding ارسال‌شده توسط مشتری به‌عنوان بخشی از پاسخ HTTP حاوی قالب کدبندی/باربری باشد که توسط Apigee Edge پشتیبانی نمی‌شود.
  • مشخصات HTTP:
RFC 7231، بخش ۶.۵.۱۳: ۴۱۵ نوع رسانه پشتیبانی‌نشده
PLAYBOOK

protocol.http.* - Caused by target

protocol.http.BadPath

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیام خطا:
Invalid request path
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نشانی وب درخواست سرور پشتیبان، که با متغیر جریان target.url نشان داده می‌شود، حاوی مسیری باشد که به‌جای خط مورب (/) با علامت سؤال (?) شروع می‌شود، که نامعتبر است.
  • مشخصات HTTP:

‫RFC 3986، بخش ۳: عناصر دستور زبان و ‫RFC 3986، بخش ۳.۳: مسیر

کتابچه راهنما

protocol.http.DuplicateHeader

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Duplicate Header "{header_name}"
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که سرصفحه HTTP خاصی که در Apigee Edge اجازه ندارد تکراری باشد بیش‌از یک‌بار با مقادیر یکسان یا متفاوت به‌عنوان بخشی از پاسخ HTTP ارسال‌شده توسط سرور پشتیبان به Apigee Edge ظاهر شود.
  • مشخصات HTTP:
‫RFC 7230، بخش ۳.۲.۲: ترتیب فیلد
PLAYBOOK

protocol.http.EmptyHeaderName

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Header name cannot be empty
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نام سرایند ارسال‌شده توسط سرور پشتیبان به‌عنوان بخشی از پاسخ HTTP به Apigee Edge خالی باشد.
  • مشخصات HTTP:
RFC 7230، بخش ۳.۲: فیلدهای سرایند

رفع اشکال

مطمئن شوید که پاسخ HTTP ارسالی از سرور پشتیبان به Apigee Edge همیشه حاوی نام سرصفحه معتبری مطابق با RFC 7230، بخش 3.2: فیلدهای سرصفحه باشد.

protocol.http.EmptyPath

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیام خطا:
Request path cannot be empty
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نشانی وب درخواست HTTP سرور پشتیبان، که با متغیر جاری target.url نشان داده می‌شود، حاوی مسیر خالی باشد.
  • مشخصات HTTP:

‫RFC 3986، بخش ۳: عناصر دستور زبان و ‫RFC 3986، بخش ۳.۳: مسیر

PLAYBOOK

protocol.http.HeaderNameWithNonAsciiChar

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Header {header_name} contains non ascii character {character}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نام سرصفحه ارسال‌شده توسط سرور پشتیبان به‌عنوان بخشی از پاسخ HTTP به Apigee Edge حاوی نویسه‌های غیرASCII باشد.
  • مشخصات HTTP:

RFC 7230، بخش ۳.۲: فیلدهای سرایند و RFC 7230، بخش ۳.۲.۶: عناصر مقدار فیلد

رفع اشکال

مطمئن شوید که پاسخ HTTP سرور پشتیبان که به Apigee Edge ارسال می‌شود، طبق RFC 7230، بخش 3.2.6: عناصر مقدار فیلد، در نام‌های سرایند حاوی نویسه‌های غیر ASCII نباشد.

protocol.http.HeaderWithInvalidChar

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Header {header_name} contains invalid character {character}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نام سرایند ارسال‌شده توسط سرور پشتیبان به‌عنوان بخشی از پاسخ HTTP، حاوی نویسه‌های نامعتبر مثل مساوی (=)، کاما (،)، نقطه‌ویرگول (;)، زبانه، CRLF، و نویسه «خط جدید» باشد.
  • مشخصات HTTP:

RFC 7230، بخش ۳.۲: فیلدهای سرایند و RFC 7230، بخش ۳.۲.۶: عناصر مقدار فیلد

رفع اشکال

مطمئن شوید که پاسخ HTTP سرور زیرینه که به Apigee Edge ارسال می‌شود، طبق RFC 7230، بخش 3.2.6: عناصر مقدار فیلد حاوی نویسه‌های نامعتبر در نام‌های سرایند نباشد.

protocol.http.ProxyTunnelCreationFailed

  • کد وضعیت HTTP:
503 Service Unavailable
  • پیام خطا:
Proxy refused to create tunnel with response status {status code}
  • علت احتمالی:

این خطا درطول ایجاد تونل بین Apigee Edge و سرور پشتیبان توسط سرور پراکسی به‌دلیل دیوار آتش، فهرست کنترل دسترسی (ACL)، مشکلات ساناد، دردسترس بودن سرور پشتیبان، و غیره رخ می‌دهد.

توجه: کد وضعیت در پیام خطا (faultstring) علت سطح بالای مشکل را ارائه می‌دهد.

PLAYBOOK

protocol.http.Response306Reserved

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Response Status code 306 is reserved, so can't be used.
  • علت احتمالی:

این خطا زمانی رخ می‌دهد که سرور زیرینه با کد وضعیت 306 به Apigee Edge پاسخ دهد.

کد وضعیت 306 در نسخه قبلی مشخصات «پروتکل انتقال ابرمتن» تعریف شده است. طبق مشخصات فعلی HTTP، این کد رزرو شده است و نباید استفاده شود.

  • مشخصات HTTP:
RFC 7231، بخش ۶.۳.۵: ۳۰۶ رزروشده

رفع اشکال

ازآنجایی‌که کد وضعیت 306 رزرو شده است، مطمئن شوید که سرور زیرینه شما هنگام ارسال پاسخ به Apigee Edge از این کد وضعیت استفاده نمی‌کند.

protocol.http.Response405WithoutAllowHeader

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Received 405 Response without Allow Header
  • علت احتمالی:
سرور زیرینه با کد وضعیت 405 Method Not Allowed بدون سرصفحه «اجازه دادن» پاسخ می‌دهد.
  • مشخصات HTTP:

‫RFC 7231، بخش 6.5.5: 405 Method Not Allowed (روش مجاز نیست) و ‫RFC 7231، بخش 7.4.1: Allow (مجاز)

PLAYBOOK

protocol.http.ResponseWithBody

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Received {status_code} Response with message body
  • علت احتمالی:

این خطا زمانی رخ می‌دهد که پاسخ HTTP از سرور پشتیبان به Apigee Edge یا 204 No Content یا 205 Reset Content باشد اما حاوی بدنه پاسخ و/یا یک یا چند مورد از سرایندهای زیر باشد:

  • Content-Length
  • Content-Encoding
  • Transfer-Encoding
  • مشخصات HTTP:

RFC 7231، بخش 6.3.5: 204 بدون محتوا و RFC 7231، بخش 6.3.6: 205 بازنشانی محتوا

PLAYBOOK

protocol.http.TooBigBody

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Body buffer overflow
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که اندازه پایه‌بار ارسالی توسط برنامه مشتری به‌عنوان بخشی از درخواست HTTP به Apigee Edge بزرگ‌تر از حد مجاز در Apigee Edge باشد.
  • محدودیت‌ها:
محدودیت‌های Apigee Edge
کتابچه راهنما

protocol.http.TooBigHeaders

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
response headers size exceeding {limit}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که اندازه کل همه سرایندهای پاسخ ارسالی توسط سرور پشتیبان به‌عنوان بخشی از پاسخ HTTP به Apigee Edge بزرگ‌تر از حد مجاز در Apigee Edge باشد.
  • محدودیت‌ها:
محدودیت‌های Apigee Edge
کتابچه راهنما

protocol.http.TooBigLine

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
response line size exceeding {limit}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که اندازه خط پاسخ ارسالی توسط سرور پشتیبان به‌عنوان بخشی از پاسخ HTTP به Apigee Edge بزرگ‌تر از حد مجاز در Apigee Edge باشد.
  • محدودیت‌ها:
محدودیت‌های Apigee Edge
کتابچه راهنما

protocol.http.UnsupportedEncoding

  • کد وضعیت HTTP:
415 Unsupported Media
  • پیام خطا:
Unsupported Encoding "{encoding}"
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که سرایند Content-Encoding که توسط سرور پشتیبان به‌عنوان بخشی از پاسخ HTTP ارسال می‌شود حاوی قالب کدبندی/بار است که توسط Apigee Edge پشتیبانی نمی‌شود.
  • مشخصات HTTP:
RFC 7231، بخش ۶.۵.۱۳: ۴۱۵ نوع رسانه پشتیبانی‌نشده
PLAYBOOK

security.util.*

security.util.KeyAliasNotFound

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیام خطا:
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
  • علت احتمالی:

این خطا زمانی رخ می‌دهد که KeyAlias مشخص‌شده در TargetEndpoint یا TargetServer در Keystore مشخص‌شده پیدا نشود.

رفع اشکال

مطمئن شوید که KeyAlias مشخص‌شده در TargetEndpoint یا TargetServer وجود دارد و بخشی از Keystore خاص است.

security.util.TrustStoreWithNoCertificates

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیام خطا:
TrustStore {truststore_name} has no certificates
  • علت احتمالی:

این خطا زمانی رخ می‌دهد که Truststore مشخص‌شده در TargetEndpoint یا TargetServer هیچ گواهینامه‌ای نداشته باشد.

رفع اشکال

اگر می‌خواهید گواهینامه سرور زیرینه را اعتبارسنجی کنید و می‌خواهید از «انبار مطمئن» در TargetEndpoint یا TargetServer استفاده کنید، مطمئن شوید که «انبار مطمئن» حاوی گواهینامه‌های معتبر سرور زیرینه باشد.