یک سرویس SOAP را پروکسی کنید

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

آنچه یاد خواهید گرفت

از طریق این آموزش، شما یاد خواهید گرفت که:

  • یک پروکسی Edge API از یک فایل WSDL ایجاد کنید.
  • تفاوت بین یک نوع پروکسی RESTful SOAP و یک پروکسی Pass-through SOAP را بدانید.

در این آموزش، یاد خواهید گرفت که چگونه یک پروکسی Edge API را در مقابل یک سرویس وب مبتنی بر SOAP قرار دهید.

این آموزش نحوه تولید یک RESTful API جدید را در مقابل سرویس مبتنی بر SOAP شما نشان می‌دهد. اگرچه در اینجا به تفصیل توضیح داده نشده است، اما می‌توانید یک پروکسی عبوری نیز ایجاد کنید که یک بار داده SOAP را پذیرفته و آن را به سرویس backend منتقل کند.

آنچه نیاز دارید

  • یک حساب کاربری Apigee Edge. اگر هنوز حساب کاربری ندارید، می‌توانید با استفاده از دستورالعمل‌های موجود در بخش «ایجاد حساب کاربری Apigee Edge» ثبت‌نام کنید.

ایجاد پروکسی

در اینجا، شما از Edge خواهید خواست که پروکسی را تولید کند که در مقابل یک سرویس SOAP قرار می‌گیرد. دو نوع پروکسی SOAP API وجود دارد:

  • نوع پروکسی REST-SOAP-REST یک API RESTful جدید با یک لایه ترجمه به SOAP ایجاد می‌کند. کلاینت‌ها آن را مانند سایر سرویس‌های RESTful فراخوانی می‌کنند و پارامترهای پرس‌وجوی مورد نیاز سرویس backend را ارسال می‌کنند. Edge این را به بار داده SOAP مورد انتظار سرویس ترجمه می‌کند.
  • نوع پروکسی عبوری به کلاینت‌ها این امکان را می‌دهد که به سادگی یک بار داده SOAP را ارسال کنند. این روشی است که فراخوانی‌های سرویس SOAP از ویژگی‌های مدیریت Edge بهره‌مند می‌شوند.

لبه

برای پراکسی کردن یک سرویس SOAP با استفاده از رابط کاربری Edge:

  1. وارد apigee.com/edge شوید.
  2. در نوار ناوبری سمت چپ، گزینه‌ی Develop > API Proxies را انتخاب کنید.
  3. روی +پروکسی کلیک کنید.
  4. روی سرویس SOAP کلیک کنید.
  5. در صفحه جزئیات پروکسی، موارد زیر را وارد کنید:

    میدان توصیف
    منبع WSDL

    انتخاب کنید: آدرس اینترنتی

    آدرس WSLD زیر را کپی کرده و در فیلد Enter URL جایگذاری کنید:

    https://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl

    کلیک کنید: اعتبارسنجی

    Apigee Edge فایل WSDL را دریافت کرده و آن را می‌خواند تا لیست عملیاتی که سرویس SOAP پشتیبانی می‌کند را کشف کند.

    نام

    همین‌طور که هست، بگذارید بماند: delayedstockquote

    این نام برای پروکسی API است که شما ایجاد می‌کنید.

    مسیر پایه همانطور که هست بگذارید: /delayedstockquote
    توضیحات به صورت اختیاری توضیحی اضافه کنید، مانند: قیمت سهام، پروکسی API WSDL
  6. روی بعدی کلیک کنید.
  7. در صفحه سیاست‌های مشترک ، در بخش امنیت: مجوز ، گزینه عبور (بدون مجوز) را انتخاب کنید.
  8. روی بعدی کلیک کنید.
  9. در صفحه عملیات WSDL ، گزینه REST to SOAP to REST را انتخاب کنید.

    پس از انتخاب نوع پروکسی، Edge فهرست عملیاتی را که برای آنها مسیرهای REST API تولید می‌کند، نمایش می‌دهد. این فهرست به شما امکان می‌دهد از بین عملیات موجود در WSDL انتخاب کنید (در صورتی که مجموعه خاصی را مد نظر دارید). توجه داشته باشید که این جدول همچنین منابعی را که یک کلاینت REST می‌تواند برای فراخوانی سرویس SOAP بک‌اند استفاده کند، نمایش می‌دهد.

    تمام گزینه‌های دیگر را همانطور که در صفحه هستند، بگذارید بمانند.

  10. روی بعدی کلیک کنید.
  11. با کلیک روی Next، پیش‌فرض‌های میزبان مجازی را بپذیرید.
  12. در صفحه خلاصه ، در قسمت استقرار اختیاری (Optional Deployment)، روی تست (Test) کلیک کنید و سپس روی ایجاد و استقرار (Create and deploy) کلیک کنید.

    Edge یک پروکسی RESTful API تولید می‌کند و آن را در محیط test مستقر می‌کند. از WSDL، عملیات پشتیبانی شده توسط سرویس، پارامترهای ورودی و غیره را تعیین می‌کند. Edge پیشنهاد می‌دهد که برای هر عملیات از کدام روش HTTP استفاده شود. معمولاً، Edge عملیات را به درخواست‌های GET ترجمه می‌کند که از مزیت قابلیت ذخیره سازی برخوردارند. Edge همچنین نقطه پایانی هدف backend را تنظیم می‌کند که می‌تواند برای هر عملیات SOAP متفاوت باشد.

    مگر اینکه در حال سفارشی‌سازی پروکسی API جدید باشید (و در این آموزش نیستید)، در غیر این صورت همین کافی است. می‌توانید به سراغ آزمایش پروکسی API جدید بروید.

لبه کلاسیک (ابر خصوصی)

برای پراکسی کردن یک سرویس SOAP با استفاده از رابط کاربری کلاسیک اج:

  1. وارد آدرس http:// ms-ip :9000 شوید، که در آن ms-ip آدرس IP یا نام DNS گره سرور مدیریت است.
  2. در نوار پیمایش بالا، APIها > API Proxies را انتخاب کنید.
  3. روی + پروکسی API کلیک کنید.
  4. روی سرویس SOAP کلیک کنید.
  5. در صفحه جزئیات پروکسی، موارد زیر را وارد کنید:

    میدان توصیف
    WSDL

    انتخاب کنید: آدرس اینترنتی نمونه

    سپس انتخاب کنید:
    ...نقل قول سهام با تأخیر.asmx؟WSDL

    کلیک کنید: اعتبارسنجی

    Apigee Edge فایل WSDL را دریافت کرده و آن را می‌خواند تا لیست عملیاتی که سرویس SOAP پشتیبانی می‌کند را کشف کند.

    نام پروکسی

    وارد کنید: delayedstockquote

    این نام پروکسی است که شما ایجاد می‌کنید.

    مسیر و توضیحات پایه پروکسی همانطور که هست بگذارید بماند.
  6. روی بعدی کلیک کنید.
  7. در صفحه WSDL، این انتخاب‌ها را انجام دهید:
    در این زمینه این کار را انجام دهید
    نوع پروکسی API

    انتخاب کنید: REST به SOAP به REST

    پس از انتخاب نوع پروکسی، Edge لیستی از عملیاتی را که برای آنها مسیرهای REST API تولید می‌کند، همانطور که در اینجا نشان داده شده است، نمایش می‌دهد. این لیست به شما این امکان را می‌دهد که از بین عملیات موجود در WSDL انتخاب کنید (در صورتی که مجموعه خاصی را مد نظر دارید). توجه داشته باشید که این جدول همچنین منابعی را که یک کلاینت REST می‌تواند برای فراخوانی سرویس SOAP بک‌اند استفاده کند، نمایش می‌دهد.

    فعلاً، فقط اولین مجموعه عملیات را انتخاب شده باقی بگذارید.

    نوع پورت: DelayedStockQuoteSoap هر سه عملیات WSDL را انتخاب کنید. سایر تنظیمات را به همان صورت باقی بگذارید.

  8. روی بعدی کلیک کنید.
  9. در صفحه امنیت، گزینه عبور (بدون دسترسی) را انتخاب کنید.
  10. روی بعدی کلیک کنید.
  11. تنظیمات پیش‌فرض میزبان مجازی را بپذیرید و روی «بعدی» کلیک کنید.
  12. در صفحه ساخت، پیش‌فرض‌ها را بپذیرید و روی ساخت و استقرار کلیک کنید تا اج شروع به تولید پروکسی کند.

    Edge یک پروکسی RESTful API تولید می‌کند. از WSDL، عملیات پشتیبانی‌شده توسط سرویس، پارامترهای ورودی و غیره را تعیین می‌کند. Edge پیشنهاد می‌دهد که برای هر عملیات از کدام روش HTTP استفاده شود. معمولاً، Edge عملیات را به درخواست‌های GET ترجمه می‌کند که مزیت قابلیت ذخیره‌سازی در حافظه پنهان را دارند. Edge همچنین نقطه پایانی هدف backend را تنظیم می‌کند که می‌تواند برای هر عملیات SOAP متفاوت باشد.

    مگر اینکه در حال سفارشی‌سازی پروکسی جدید باشید (و در این آموزش نیستید)، در غیر این صورت همین کافی است. می‌توانید به سراغ آزمایش پروکسی جدید بروید.

آزمایش پروکسی

برای امتحان کردن پروکسی که ایجاد کرده‌اید، یک خط فرمان باز کنید و از cURL استفاده کنید. دستور زیر را تایپ کنید، که در آن:

  • ORG نام سازمان Edge است که در آن پروکسی را ایجاد کرده‌اید.
  • ENV محیطی است که پروکسی در آن مستقر می‌شود.
  • DOMAIN مربوط به نمونه Edge مورد استفاده شماست.
curl "https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

برای مثال، اگر سازمان شما docfood ، محیط آن test باشد و از فضای ابری سازمانی Edge استفاده می‌کنید، دستوری مانند این را اجرا خواهید کرد:

curl "https://docfood-test.apigee.net/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

اگر برای پارامتر پرس‌وجوی StockSymbol GOOG وارد کرده باشید، باید قیمت فعلی سهام کلاس C شرکت Alphabet Inc. را دریافت کنید. برای مثال:

{  
   "GetQuoteResponse":{  
      "GetQuoteResult":{  
         "StockSymbol":"GOOG",
         "LastTradeAmount":819.55,
         "LastTradeDateTime":"2017-02-13T14:33:00",
         "StockChange":5.88,
         "OpenAmount":816.0,
         "DayHigh":820.96,
         "DayLow":815.49,
         "StockVolume":785064,
         "PrevCls":813.67,
         "ChangePercent":"+0.72%",
         "FiftyTwoWeekRange":"663.28 - 841.95",
         "EarnPerShare":27.88,
         "PE":29.4,
         "CompanyName":"Alphabet Inc.",
         "QuoteError":false
      }
   }
}

مشخصات OpenAPI تولید شده خودکار را دریافت کنید

وقتی شما یک سرویس SOAP را با استفاده از "REST to SOAP to REST" پروکسی می‌کنید، Edge به طور خودکار مشخصات OpenAPI را تولید می‌کند. می‌توانید از مشخصات OpenAPI برای تولید مستندات API برای API استفاده کنید.

برای دریافت مشخصات OpenAPI، کافیست به این آدرس اینترنتی مراجعه کنید:

curl https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/openapi.json

اعتبار اضافی: چگونه متوجه می‌شوید که از کدام پارامترهای منبع، فعل و پرس‌وجو استفاده کنید؟

در فراخوانی API آزمایشی، شما از یک منبع خاص و پارامترهای پرس‌وجو در فراخوانی cURL به سرویس SOAP بک‌اند استفاده کردید. اما چگونه می‌توانید خودتان این را بفهمید؟

منبع و فعل

در ویزارد پروکسی API، هنگام ایجاد پروکسی، دیدید که چگونه عملیات SOAP به افعال و منابع API نگاشت می‌شوند. اما اگر آنها را یادداشت نکرده باشید، پس از ایجاد پروکسی، به این صورت متوجه خواهید شد.

در تب Develop پروکسی API، در پنل Navigator سمت چپ، فهرستی از جریان‌ها را در زیر Proxy Endpoints مشاهده خواهید کرد. روی جریان مورد نظر خود کلیک کنید. برای مثال، جریان GetQuote گزینه خوبی است. سپس XML را در پنل Code مشاهده کنید که مسیر منبع و فعل جریان را در عنصر <Condition> نشان می‌دهد: /quote و GET .

پارامترهای پرس و جو

با انتخاب جریان GetQuote ، روی اولین خط‌مشی در نمای گرافیکی جریان کلیک کنید. این خط‌مشی باید یک خط‌مشی Extract Variables باشد که پارامترهای پرس‌وجو را که انتظار می‌رود منتقل شوند، ثبت می‌کند: StockSymbol و LicenseKey . (اگر در وب سرویس SOAP را جستجو کنید، به شما می‌گوید که برای LicenseKey چه چیزی را باید وارد کنید.)

پارامترهای کوئری گرفته شده به عنوان متغیر ذخیره می‌شوند و توسط سیاست بعدی برای ساخت پیام SOAP استفاده می‌شوند.