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

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

چیزی که یاد خواهید گرفت

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

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

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

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

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

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

ایجاد پروکسی

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

  • نوع پروکسی REST-SOAP-REST یک API RESTful جدید با یک لایه ترجمه به SOAP ایجاد می کند. کلاینت‌ها آن را مانند سایر سرویس‌های RESTful صدا می‌زنند و پارامترهای پرس و جوی مورد نیاز سرویس باطن را ارسال می‌کنند. Edge این را به محموله SOAP مورد انتظار سرویس ترجمه می کند.
  • نوع پروکسی عبور از طریق پروکسی، مشتریان را قادر می‌سازد تا به سادگی از یک محموله SOAP عبور کنند. این راهی است که تماس های سرویس SOAP از ویژگی های مدیریت Edge بهره مند شوند.

لبه

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

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

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

    انتخاب کنید: URL

    URL WSLD زیر را در قسمت Enter URL کپی و پیست کنید:

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

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

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

    نام

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

    این نام پروکسی API است که در حال ایجاد آن هستید.

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

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

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

  10. روی Next کلیک کنید.
  11. با کلیک بر روی Next ، تنظیمات پیش فرض Virtual Host را بپذیرید.
  12. در صفحه Summary ، در قسمت Optional Deployment روی Test کلیک کنید و روی Create and Deploy کلیک کنید.

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

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

Classic Edge (ابر خصوصی)

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

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

    میدان توصیف
    WSDL

    انتخاب کنید: URL مثال

    سپس انتخاب کنید:
    ...delayedstockquote.asmx?WSDL

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

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

    نام پروکسی

    را وارد کنید: delayedstockquote

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

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

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

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

    در حال حاضر، فقط اولین مجموعه از عملیات را انتخاب شده رها کنید.

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

  8. روی Next کلیک کنید.
  9. در صفحه امنیت، Pass through (none) را انتخاب کنید.
  10. روی Next کلیک کنید.
  11. پیش فرض های میزبان مجازی را بپذیرید و روی Next کلیک کنید.
  12. در صفحه Build، پیش فرض ها را بپذیرید و روی Build and Deploy کلیک کنید تا Edge شروع به تولید پروکسی کند.

    Edge یک پروکسی RESTful API ایجاد می کند. از WSDL، عملیات پشتیبانی شده سرویس، پارامترهای ورودی و غیره را تعیین می کند. Edge پیشنهاد می کند که از کدام روش HTTP برای هر عملیات استفاده شود. به طور معمول، Edge عملیات را به درخواست‌های GET ترجمه می‌کند، که مزیت آن‌ها قابل ذخیره‌سازی است. Edge همچنین نقطه پایانی هدف باطن را تنظیم می کند که می تواند در هر عملیات 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"

اگر GOOG برای پارامتر جستجوی StockSymbol وارد کرده اید، باید قیمت فعلی سهام کلاس 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 Specification ایجاد می کند. می توانید از OpenAPI Spec برای ایجاد اسناد API برای API استفاده کنید.

برای دریافت مشخصات OpenAPI، به سادگی از این URL دیدن کنید:

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

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

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

منبع و فعل

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

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

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

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

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