एसओएपी सेवा को प्रॉक्सी करें

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

आपको क्या सीखने को मिलेगा

इस ट्यूटोरियल में, आपको इनके बारे में जानकारी मिलेगी:

  • WSDL फ़ाइल से Edge API प्रॉक्सी जनरेट करें.
  • RESTful SOAP प्रॉक्सी टाइप और पास-थ्रू SOAP प्रॉक्सी के बीच का अंतर जानें.

इस ट्यूटोरियल में, SOAP पर आधारित वेब सेवा के सामने Edge API प्रॉक्सी को रखने का तरीका बताया गया है.

इस ट्यूटोरियल में, SOAP पर आधारित सेवा के लिए नया RESTful API जनरेट करने का तरीका बताया गया है. हालांकि, यहां इसके बारे में ज़्यादा जानकारी नहीं दी गई है, लेकिन पास-थ्रू प्रॉक्सी भी जनरेट की जा सकती है. यह प्रॉक्सी, SOAP पेलोड को स्वीकार करती है और उसे बैकएंड सेवा को पास करती है.

आपको किन चीज़ों की ज़रूरत होगी

  • Apigee Edge खाता. अगर आपके पास अब तक ऐसा कोई खाता नहीं है, तो Apigee Edge खाता बनाने के निर्देशों का पालन करके साइन अप करें.

प्रॉक्सी बनाई जा रही है

यहां, Edge उस प्रॉक्सी को जनरेट करेगा जो SOAP सेवा के सामने मौजूद होगी. SOAP API प्रॉक्सी दो तरह की होती हैं:

  • REST-SOAP-REST प्रॉक्सी टाइप, SOAP में ट्रांसलेशन लेयर के साथ नया RESTful API जनरेट करता है. क्लाइंट इसे अन्य RESTful सेवाओं की तरह ही कॉल करते हैं. साथ ही, बैकएंड सेवा के लिए ज़रूरी क्वेरी पैरामीटर पास करते हैं. Edge, इसे SOAP पेलोड में बदलता है. यह पेलोड, सेवा के लिए ज़रूरी होता है.
  • पास-थ्रू प्रॉक्सी प्रॉक्सी टाइप की मदद से क्लाइंट, SOAP पेलोड को आसानी से पास कर सकते हैं. इस तरीके से, SOAP सेवा के कॉल को एज मैनेजमेंट की सुविधाओं का फ़ायदा मिलता है.

Edge

Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, SOAP सेवा को प्रॉक्सी करने के लिए:

  1. apigee.com/edge में साइन इन करें.
  2. बाईं ओर मौजूद नेविगेशन बार में, डेवलप करें > एपीआई प्रॉक्सी चुनें.
  3. +प्रॉक्सी पर क्लिक करें.
  4. SOAP सेवा पर क्लिक करें.
  5. प्रॉक्सी की ज़्यादा जानकारी वाले पेज पर, यह जानकारी डालें:

    फ़ील्ड Descriptoin
    WSDL सोर्स

    यूआरएल चुनें

    नीचे दिए गए WSLD यूआरएल को कॉपी करें और यूआरएल डालें फ़ील्ड में चिपकाएं:

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

    पुष्टि करें पर क्लिक करें

    Apigee Edge को WSDL फ़ाइल मिलती है और वह इसे पढ़कर, उन कार्रवाइयों की सूची का पता लगाता है जिन्हें SOAP सेवा इस्तेमाल कर सकती है.

    नाम

    ऐसे ही छोड़ दें: delayedstockquote

    यह उस एपीआई प्रॉक्सी का नाम है जिसे बनाया जा रहा है.

    बेस पाथ ऐसे ही छोड़ दें: /delayedstockquote
    ब्यौरा जानकारी जोड़ें. जैसे: Stock quote WSDL API Proxy
  6. आगे बढ़ें पर क्लिक करें.
  7. सामान्य नीतियां पेज पर, सुरक्षा: अनुमति में जाकर, पास थ्रू (अनुमति नहीं) को चुनें.
  8. आगे बढ़ें पर क्लिक करें.
  9. WSDL operations पेज पर, REST to SOAP to REST को चुनें.

    प्रॉक्सी टाइप चुनने के बाद, Edge उन कार्रवाइयों की सूची दिखाता है जिनके लिए वह REST API पाथ जनरेट करेगा. इस सूची की मदद से, WSDL में मौजूद कार्रवाइयों में से कोई कार्रवाई चुनी जा सकती है. ऐसा तब करें, जब आपको कोई खास सेट ढूंढना हो. ध्यान दें कि टेबल में ऐसे संसाधन भी दिखते हैं जिनका इस्तेमाल REST क्लाइंट, बैकएंड SOAP सेवा को कॉल करने के लिए कर सकता है.

    पेज पर मौजूद अन्य सभी विकल्पों को पहले जैसा ही रहने दें.

  10. आगे बढ़ें पर क्लिक करें.
  11. आगे बढ़ें पर क्लिक करके, वर्चुअल होस्ट के डिफ़ॉल्ट सेटिंग स्वीकार करें.
  12. खास जानकारी पेज पर, 'ज़रूरी नहीं है' के नीचे मौजूद, टेस्ट करें पर क्लिक करें. इसके बाद, बनाएं और डिप्लॉय करें पर क्लिक करें.

    Edge, RESTful API प्रॉक्सी जनरेट करता है और उसे test एनवायरमेंट में डिप्लॉय करता है. WSDL से, यह सेवा के साथ काम करने वाले ऑपरेशन, इनपुट पैरामीटर वगैरह के बारे में पता लगाता है. Edge, हर ऑपरेशन के लिए कौनसा एचटीटीपी तरीका इस्तेमाल करना है, इसके बारे में सुझाव देता है. आम तौर पर, Edge, कार्रवाइयों को GET अनुरोधों में बदलता है. इससे उन्हें कैश मेमोरी में सेव किया जा सकता है. Edge, बैकएंड टारगेट एंडपॉइंट भी सेट अप करता है. यह SOAP ऑपरेशन के हिसाब से अलग-अलग हो सकता है.

    अगर आपको नई एपीआई प्रॉक्सी को पसंद के मुताबिक नहीं बनाना है (और इस ट्यूटोरियल में ऐसा नहीं किया गया है), तो आपको बस इतना ही करना है. अब नई एपीआई प्रॉक्सी की टेस्टिंग शुरू की जा सकती है.

Classic Edge (Private Cloud)

Classic Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, किसी SOAP सेवा को प्रॉक्सी करने के लिए:

  1. http://ms-ip:9000 में साइन इन करें. यहां ms-ip, मैनेजमेंट सर्वर नोड का आईपी पता या डीएनएस नाम है.
  2. सबसे ऊपर मौजूद नेविगेशन बार में, एपीआई > एपीआई प्रॉक्सी को चुनें.
  3. + एपीआई प्रॉक्सी पर क्लिक करें.
  4. SOAP सेवा पर क्लिक करें.
  5. प्रॉक्सी की ज़्यादा जानकारी वाले पेज पर, यह जानकारी डालें:

    फ़ील्ड Descriptoin
    WSDL

    उदाहरण के तौर पर दिया गया यूआरएल चुनें

    इसके बाद,
    ...delayedstockquote.asmx?WSDL चुनें

    पुष्टि करें पर क्लिक करें

    Apigee Edge को WSDL फ़ाइल मिलती है और वह इसे पढ़कर, उन कार्रवाइयों की सूची का पता लगाता है जिन्हें SOAP सेवा इस्तेमाल कर सकती है.

    प्रॉक्सी का नाम

    delayedstockquote डालें

    यह बनाई जा रही प्रॉक्सी का नाम है.

    प्रॉक्सी बेस पाथ और ब्यौरा ऐसे ही छोड़ दें.
  6. आगे बढ़ें पर क्लिक करें.
  7. WSDL पेज पर, ये विकल्प चुनें:
    इस फ़ील्ड में यह करें
    एपीआई प्रॉक्सी टाइप

    REST to SOAP to REST को चुनें

    प्रॉक्सी टाइप चुनने के बाद, Edge उन कार्रवाइयों की सूची दिखाता है जिनके लिए वह REST API पाथ जनरेट करेगा. यह सूची यहां दिखाई गई है. इस सूची से, WSDL में मौजूद कार्रवाइयों में से किसी एक को चुना जा सकता है. ऐसा तब करें, जब आपको कोई खास सेट ढूंढना हो. ध्यान दें कि टेबल में ऐसे संसाधन भी दिखते हैं जिनका इस्तेमाल REST क्लाइंट, बैकएंड SOAP सेवा को कॉल करने के लिए कर सकता है.

    फ़िलहाल, कार्रवाइयों के पहले सेट को चुना रहने दें.

    पोर्ट टाइप: DelayedStockQuoteSoap तीनों WSDL ऑपरेशन चुनें. अन्य सेटिंग को डिफ़ॉल्ट पर रहने दें.

  8. आगे बढ़ें पर क्लिक करें.
  9. सुरक्षा पेज पर, पास थ्रू (कोई नहीं) को चुनें.
  10. आगे बढ़ें पर क्लिक करें.
  11. वर्चुअल होस्ट के डिफ़ॉल्ट सेटिंग स्वीकार करें और आगे बढ़ें पर क्लिक करें.
  12. बिल्ड पेज पर, डिफ़ॉल्ट सेटिंग स्वीकार करें. इसके बाद, बिल्ड और डिप्लॉय करें पर क्लिक करें, ताकि Edge प्रॉक्सी जनरेट करना शुरू कर सके.

    Edge, RESTful API प्रॉक्सी जनरेट करता है. WSDL से, यह सेवा के साथ काम करने वाले ऑपरेशन, इनपुट पैरामीटर वगैरह के बारे में पता लगाता है. Edge, हर ऑपरेशन के लिए कौनसा एचटीटीपी तरीका इस्तेमाल करना है, इसके बारे में सुझाव देता है. आम तौर पर, Edge, कार्रवाइयों को GET अनुरोधों में बदलता है. इससे उन्हें कैश मेमोरी में सेव किया जा सकता है. Edge, बैकएंड टारगेट एंडपॉइंट भी सेट अप करता है. यह SOAP ऑपरेशन के हिसाब से अलग-अलग हो सकता है.

    अगर आपको नई प्रॉक्सी को पसंद के मुताबिक नहीं बनाना है (और इस ट्यूटोरियल में ऐसा नहीं किया गया है), तो आपको बस इतना ही करना है. अब नई प्रॉक्सी की टेस्टिंग शुरू की जा सकती है.

प्रॉक्सी की जांच करना

बनाई गई प्रॉक्सी को आज़माने के लिए, कमांड प्रॉम्प्ट खोलें और cURL का इस्तेमाल करें. नीचे दी गई कमांड टाइप करें. इसमें:

  • ORG, Edge संगठन का नाम है. इसमें आपने प्रॉक्सी बनाई है.
  • ENV वह एनवायरमेंट है जिसमें प्रॉक्सी को डिप्लॉय किया गया है.
  • DOMAIN, आपके इस्तेमाल किए जा रहे Edge इंस्टेंस से मेल खाता है.
curl "https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

उदाहरण के लिए, अगर आपका संगठन docfood है, एनवायरमेंट test है, और Edge Enterprise Cloud का इस्तेमाल किया जा रहा है, तो आपको इस तरह का निर्देश चलाना होगा:

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

अगर आपने StockSymbol क्वेरी पैरामीटर के लिए GOOG डाला है, तो आपको Alphabet Inc. के क्लास C स्टॉक की मौजूदा कीमत मिलनी चाहिए. उदाहरण के लिए:

{  
   "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 स्पेसिफ़िकेशन फ़ाइल पाना

"REST to SOAP to REST" का इस्तेमाल करके, SOAP सेवा को प्रॉक्सी करने पर, Edge अपने-आप OpenAPI स्पेसिफ़िकेशन जनरेट करता है. OpenAPI स्पेसिफ़िकेशन का इस्तेमाल करके, एपीआई के लिए एपीआई दस्तावेज़ जनरेट किए जा सकते हैं.

OpenAPI स्पेसिफ़िकेशन पाने के लिए, इस यूआरएल पर जाएं:

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

अतिरिक्त क्रेडिट: आपको कैसे पता चलता है कि कौनसा संसाधन, क्रिया, और क्वेरी पैरामीटर इस्तेमाल करना है?

आपने टेस्ट एपीआई कॉल में, बैकएंड एसओएपी सेवा के लिए अपने cURL कॉल में किसी खास संसाधन और क्वेरी पैरामीटर का इस्तेमाल किया है. हालांकि, आपको यह जानकारी खुद कैसे मिलेगी?

संसाधन और क्रिया

एपीआई प्रॉक्सी विज़र्ड में, प्रॉक्सी बनाते समय आपने देखा कि SOAP ऑपरेशन, एपीआई वर्ब और संसाधनों से कैसे मैप होंगे. हालांकि, अगर आपने उन्हें लिख नहीं रखा है, तो प्रॉक्सी बनने के बाद उन्हें ढूंढने का तरीका यहां बताया गया है.

एपीआई प्रॉक्सी के Develop टैब में, बाईं ओर मौजूद नेविगेटर पैनल में, आपको प्रॉक्सी एंडपॉइंट के नीचे फ़्लो की सूची दिखेगी. उस फ़्लो पर क्लिक करें जिसमें आपकी दिलचस्पी है. उदाहरण के लिए, GetQuote फ़्लो एक अच्छा विकल्प है. इसके बाद, कोड पैन में जाकर एक्सएमएल देखें. इसमें <Condition> एलिमेंट में, फ़्लो के लिए संसाधन का पाथ और वर्ब दिखाया गया है: /quote और GET.

क्वेरी पैरामीटर

GetQuote फ़्लो को चुनने के बाद, ग्राफ़िकल फ़्लो व्यू में पहली नीति पर क्लिक करें. यह Extract Variables नीति होनी चाहिए, जो क्वेरी पैरामीटर कैप्चर करती है. इन पैरामीटर को पास किया जाना चाहिए: StockSymbol और LicenseKey. (अगर आपने SOAP सेवा के लिए वेब खोज की है, तो आपको पता चलेगा कि LicenseKey के लिए क्या पास करना है.)

कैप्चर किए गए क्वेरी पैरामीटर को वैरिएबल के तौर पर सेव किया जाता है. इनका इस्तेमाल अगली नीति, SOAP मैसेज बनाने के लिए करती है.