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

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

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

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

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

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

  1. افتح Edge UI في متصفح وسجِّل الدخول.
  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 إلى JSON في التوسّط. .
  7. اترك الأسماء التلقائية، وانقر على إضافة.

    تُلحق Edge السياسة الجديدة بمسار PreFlow الخاص بالاستجابة:

    لاحظ أنه عند النقر على Add (إضافة)، سينفِّذ Edge ما يلي:

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

ننصحك بتجربتها الآن. في نافذة Terminal، نفِّذ أمر 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"
  }
}

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

التعمّق أكثر