تشكيل الرسائل والوصول إليها وتحويلها

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

يمكنك استخدام السياسات المضمّنة في Apigee Edge لمعالجة الرسائل التي يتم تبادلها من خلال خوادم وكيلة لواجهة برمجة التطبيقات. باستخدام السياسات، يمكنك إجراء ما يلي:

  • تحويل الرسائل بين التنسيقات، مثل XML إلى JSON
  • ضبط قيم المتغيّرات من محتوى الرسالة وإنشاء رسائل من قيم المتغيّرات
  • استخدِم الرموز الإجرائية، مثل JavaScript وJava وPython، للتعامل مع الرسائل والبيانات بطرق أكثر تعقيدًا.

بشكل عام، عند استخدام هذه السياسات، يمكنك تحديد الإدخال والإخراج كمتغيرات تدفق. في وقت التشغيل، تستردّ Apigee Edge قيمة الإدخال من متغيّر مصدر وتكتب قيمة الإخراج في متغيّر إخراج.

يتناول هذا الموضوع هذه الإمكانات. للحصول على معلومات أكثر شمولاً وفنية، يُرجى الاطّلاع على مراجع السياسات الخاصة بكل منها.

التعامل البسيط مع XML وJSON

تتضمّن Apigee Edge سياسات تسهّل عملية التحويل بين XML وJSON، كما تسهّل تحويل XML باستخدام XSL.

تحويل JSON إلى XML

تأخذ سياسة JSON إلى XML مدخلات JSON وتحوّلها إلى XML.

في مثال السياسة التالي، تستخدم السياسة رسالة بتنسيق JSON من المتغير request، ثم تستبدل قيمة المتغير برسالة بتنسيق XML. يتم تحديد الإدخال في العنصر <Source>، بينما يتم تحديد الإخراج في العنصر <OutputVariable>.

<JSONToXML name="jsontoxml">
     <Source>request</Source>
     <OutputVariable>request</OutputVariable>
</JSONToXML>

تحويل XML إلى JSON

تحوّل سياسة XML إلى JSON رسالة إدخال XML إلى JSON.

في مثال السياسة التالي، تستخدم السياسة رسالة بتنسيق XML من المتغير response، ثم تستبدل قيمة المتغير برسالة بتنسيق JSON. يتم تحديد الإدخال في العنصر <Source>، بينما يتم تحديد الإخراج في العنصر <OutputVariable>.

<XMLToJSON name="ConvertToJSON">
   <OutputVariable>response</OutputVariable>
   <Source>response</Source>
</XMLToJSON>

تحويل XML باستخدام XSL

يمكنك استخدام سياسة تحويل XSL لتحويل الرسائل باستخدام XSL. على سبيل المثال، بعد تحويل حمولة JSON إلى XML، يمكنك استخدام سياسة XSL Transform مع ورقة أنماط لإجراء عملية التحويل التي تحتاج إليها.

في مثال السياسة التالي، تستخدم السياسة رسالة منسَّقة بتنسيق XML من المتغيّر response، ثم تستبدل قيمة المتغيّر برسالة منسَّقة بواسطة my_transform.xsl. يتم تحديد الإدخال في العنصر <Source>، بينما يتم تحديد الإخراج في العنصر <OutputVariable>.

<XSL name="TransformXML">
    <ResourceURL>xsl://my_transform.xsl</ResourceURL>
    <Source>response</Source>
    <OutputVariable>response</OutputVariable>
</XSL>

    <Source>request</Source>
    <ResourceURL>xsl://XSL-Transform-1.xsl</ResourceURL>
    <OutputVariable/>

التعامل مع البيانات المتغيرة

تتضمّن معالجة البيانات داخل وكيل غالبًا العمل ببساطة مع بيانات الحالة كقيم لمتغيرات التدفق. يمكنك غالبًا إجراء ذلك باستخدام سياسة تحصل على قيم المتغيّرات أو تضبطها. على سبيل المثال، قد تحتاج إلى تحويل قيم المتغيرات إلى رسالة، أو استخراج محتوى رسالة لضبط قيم المتغيرات.

يُرجى الاطّلاع على مراجع السياسات التالية:

إنشاء عمليات تحويل أكثر تعقيدًا

بالنسبة إلى معالجة البيانات التي تتجاوز درجة تعقيدها إمكانات السياسات المضمّنة، يمكنك استخدام لغات إجرائية مثل JavaScript أو Java أو Python.

بشكل عام، يتضمّن ذلك كتابة رمز بإحدى هذه اللغات، ثم استدعاء الرمز من سياسة خاصة باللغة. لمزيد من المعلومات حول هذا الموضوع، راجِع دمج الرموز الإجرائية.