الخطوة 4: إضافة سياسة

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

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

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

سنضيف في هذا البرنامج التعليمي سياسة XMLtoJSON إلى الخادم الوكيل. تحوِّل هذه السياسة حمولة رسالة XML إلى تنسيق JSON. ويؤدي أيضًا إلى تغيير عنوان Content-Type للاستجابة.

لإضافة سياسة XML إلى JSON إلى الخادم الوكيل:

  1. افتح واجهة مستخدم Edge في أحد المتصفحات وسجِّل الدخول.
  2. انقر على الخوادم الوكيلة لواجهة برمجة التطبيقات في النافذة الرئيسية واختَر خادمًا وكيلاً. في هذا المثال، اختَر الخادم الوكيل الذي أنشأته في الخطوة 1: إنشاء خادم وكيل لواجهة برمجة التطبيقات.
  3. انقر على علامة التبويب التطوير:

    يعرض Edge أداة تعديل الخادم الوكيل لواجهة برمجة التطبيقات.

  4. في لوحة المستكشف، انقر على نقاط نهاية الخادم الوكيل > تلقائي > PreFlow:

    يعرض Edge محرِّر التدفق:

    بالإضافة إلى ذلك، يعرض Edge الإعدادات التلقائية لنقطة نهاية الخادم الوكيل في لوحة الرمز:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ProxyEndpoint name="default">
      <Description/>
      <FaultRules/>
      <PreFlow name="PreFlow">
        <Request/>
        <Response/>
      </PreFlow>
      <PostFlow name="PostFlow">
        <Request/>
        <Response/>
      </PostFlow>
      <Flows/>
      <HTTPProxyConnection>
        <BasePath>/getstarted</BasePath>
        <Properties/>
        <VirtualHost>default</VirtualHost>
        <VirtualHost>secure</VirtualHost>
      </HTTPProxyConnection>
      <RouteRule name="default">
        <TargetEndpoint>default</TargetEndpoint>
      </RouteRule>
    </ProxyEndpoint>
  5. لإضافة سياسة إلى الخادم الوكيل، انقر على الزر + خطوة في استجابة PreFlow (النصف السفلي من محرّر التدفق):

    يعرض Edge قائمة مصنفة من السياسات في مربع الحوار إضافة يمكنك إضافتها إلى التدفق:

  6. انتقِل للأسفل واختَر سياسة XML to JSON في فئة "التوسّط".
  7. اترك الأسماء التلقائية وانقر على إضافة.

    ترفق شبكة Edge السياسة الجديدة إلى PreFlow الخاص بالاستجابة:

    لاحظ أنه عند النقر على إضافة، يجري Edge ما يلي:

    • تضيف السياسة الجديدة ضمن السياسات في لوحة المستكشف.
    • لإضافة سياسة XML إلى JSON في لوحة التدفق.
    • يعرض ملف XML لضبط السياسة في لوحة الرمز.
  8. انقر على حفظ لحفظ النسخة السابقة الحالية مع التغييرات التي أجريتها.

ننصحك بتجربتها الآن. في نافذة طرفية، نفِّذ أمر curl التالي:

curl https://org_name-test.apigee.net/getstarted

المكان:

يمكنك بدلاً من ذلك فتح عنوان URL نفسه في المتصفّح.

يُفترض أن تتلقى الرد التالي:

{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

إذا كان نص الاستجابة لا يظهر على النحو التالي، تحقَّق مما يلي:

  1. نقطة النهاية المستهدَفة هي "https://mocktarget.apigee.net/xml"، كما هو موضّح في الخطوة 3: تغيير نقطة النهاية المستهدَفة:
    • إذا تلقّيت ردًا على "مرحبًا، ضيف!"، يجب إلحاق "/xml" بنهاية نقطة النهاية المستهدفة.
    • إذا ظهر لك خطأ 404، عليك التأكّد من دخولك إلى "apigee.net" وليس إلى "apigee.com".
  2. تم نشر أحدث نسخة من الخادم الوكيل. حاوِل إعادة نشر الخادم الوكيل لواجهة برمجة التطبيقات كما هو موضّح في نشر خادم وكيل لواجهة برمجة التطبيقات وإلغاء نشره.

للاطّلاع على عناوين طلبات HTTP والاستجابة، يجب تفعيل الإسهاب في curl باستخدام الخيار -vs (يجعل v الاستجابة مطوَّلة، ولكن s يحجب بعض التفاصيل الأقل أهمية). مثال:

curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool

من المفترض أن يصلك ردّ على النحو التالي. يُرجى العلم أنّ عنوان Content-Type في الاستجابة هو "application/json". وتغيِّر سياسة XML إلى JSON العنوان قبل إعادة إرسال الردّ.

*   Trying 10.20.30.40...
* TCP_NODELAY set
* Connected to ahamilton-eval-test.apigee.net (10.20.30.40) port 443 (#0)
...
> GET /getstarted HTTP/1.1
> Host: ahamilton-eval-test.apigee.net
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Fri, 25 May 2018 16:20:00 GMT
< Content-Type: application/json;charset=UTF-8
< Content-Length: 77
< Connection: keep-alive
< X-Powered-By: Apigee
< Access-Control-Allow-Origin: *
...
{ [77 bytes data]
{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

الخطوة التالية

الاطّلاع على مزيد من المعلومات