يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات
Apigee X. المعلومات
يعتمد الوصول إلى متغيّر مسار message
وخصائصه على النقطة ضمن
تدفق الخادم الوكيل لواجهة برمجة التطبيقات التي يتم الوصول إليها. هذه السمة متاحة في جميع السياقات، في حين لا تتوفّر بعض العناصر،
مثل request
أو response
.
حالات الاستخدام
إنّ حالة الاستخدام الرئيسية لمتغيّر التدفق message
هي عندما يُدخِل الخادم الوكيل
مسار الخطأ: يكون متغيّرا التدفق request
وresponse
خارج النطاق.
على سبيل المثال، في مسار الخطأ، لا يكون الكائن response
متاحًا. ولن تتمكّن من ضبط عناوين الاستجابة في العنصر response
باستخدام سياسة JavaScript
إذا كنت في مسار الخطأ. بدلاً من ذلك، يمكنك استخدام أحد الخيارات التالية:
يتوفّر هذان العنصران في مسار الخطأ، ويمكن استخدامهما لضبط عناوين الاستجابة من داخل سياسة JavaScript أو يمكن الوصول إليهما في سياسات أخرى يمكنها استخدام متغيّرات التدفق.
يمكنك استخدام سياسة AssignMessage لتحديد قيم، مثل العناوين، لكائن response. تعالج ميزة "تعيين الرسالة" تلقائيًا عملية التبديل في السياق من مسار الطلب/الاستجابة إلى مسار الخطأ.
ومن حالات الاستخدام الأخرى للمتغيّر message
، تسجيل بيانات الاستجابة في
PostClientFlow باستخدام سياسة MessageLogging. إذا استخدمت الكائن message
،
يمكنك تسجيل معلومات الاستجابة بسلاسة بعد التأكّد من استيفاء شروط النجاح والخطأ في
الخادم الوكيل.
أمثلة
خلال مسار الخطأ، يمكنك ضبط عنوان استجابة من سياسة JavaScript باستخدام 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
في سياسة JavaScript. مثلاً:
<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
متوفرة من جميع السياقات.