شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
دسترسی به متغیر جریان message
و ویژگی های آن به نقطه ای در جریان پروکسی API بستگی دارد که در آن به آن دسترسی پیدا می شود. در همه زمینه ها در دسترس است، در حالی که برخی از اشیاء، مانند request
یا response
، موجود نیستند.
موارد استفاده کنید
مورد استفاده اصلی برای متغیر جریان message
زمانی است که پروکسی شما وارد جریان خطا می شود: متغیرهای جریان request
و response
خارج از محدوده هستند.
به عنوان مثال، در جریان خطا، شی response
در دسترس نیست. اگر در جریان خطا هستید، نمیتوانید سرصفحههای پاسخ را روی شی response
با خطمشی جاوا اسکریپت تنظیم کنید. در عوض، می توانید از یکی از موارد زیر استفاده کنید:
هر دوی این اشیاء در جریان خطا موجود هستند و میتوانند برای تنظیم سرصفحههای پاسخ از داخل یک خطمشی جاوا اسکریپت استفاده شوند یا در سیاستهای دیگری که میتوانند از متغیرهای جریان استفاده کنند، به آنها دسترسی پیدا کرد.
می توانید از خط مشی AssignMessage برای تخصیص مقادیری مانند هدرها به شی پاسخ استفاده کنید. Assign Message به طور خودکار سوئیچ را در زمینه از جریان درخواست/پاسخ به جریان خطا کنترل می کند.
مورد دیگر استفاده از متغیر message
، ثبت داده های پاسخ در PostClientFlow با خط مشی MessageLogging است. اگر از شی message
استفاده میکنید، میتوانید بهطور یکپارچه اطلاعات پاسخ را پس از شرایط موفقیت و خطا در پروکسی ثبت کنید.
نمونه ها
در یک جریان خطا، میتوانید سرصفحه پاسخ را از یک خطمشی جاوا اسکریپت با استفاده از error
یا message
تنظیم کنید. به عنوان مثال:
context.setVariable('error.header.FOO-1', 'error_header');
یا
context.setVariable('message.header.FOO-2', 'message_header');
با این حال، عبارت زیر کار نخواهد کرد:
context.setVariable('response.header.FOO-3', 'response_header');
در این حالت متغیر response
در جریان خطا خارج از محدوده است. (توجه داشته باشید که در یک ردیابی، این به صورت بصری با متغیرهایی نشان داده می شود که با علامت تساوی با یک اسلاید از میان آن نشان داده شده است.)
برای تنظیم سرصفحههای پاسخ برای جریانهای موفقیت و خطا در یک خطمشی واحد، میتوانید message
درون یک خطمشی جاوا اسکریپت استفاده کنید. به عنوان مثال:
<faultrules> <faultrule name="invalid_key_rule"> <step> <name>SetResponseHeaders</name> </step> <condition>(fault.name = "InvalidApiKey")</condition> </faultrule> </faultrules>
در خط مشی، کدی مانند زیر سرصفحه خطا/پاسخ را در هر زمینه جریان تنظیم می کند:
context.setVariable('message.header.FOO-1', 'the header value');
میتوانید از همین خطمشی در جریان عادی ProxyResponse دوباره استفاده کنید و موفق خواهد شد زیرا message
از همه زمینهها در دسترس است.