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