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

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

आपको इनके बारे में जानकारी मिलेगी

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

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

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

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

आपको इनकी ज़रूरत होगी

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

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

यहां आपको EDGE जनरेट करने वाली प्रॉक्सी मिलेगी, जो SOAP सेवा के सामने होगी. SOAP API प्रॉक्सी दो तरह की होती हैं:

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

Edge

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

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

    फ़ील्ड जानकारी
    WSDL सोर्स

    चुनें: यूआरएल

    इस WSLD यूआरएल को कॉपी करके, यूआरएल डालें फ़ील्ड में चिपकाएं:

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

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

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

    नाम

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

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

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

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

    पेज पर चुने गए अन्य सभी विकल्पों को ऐसे ही रहने दें.

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

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

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

क्लासिक एज (प्राइवेट क्लाउड)

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

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

    फ़ील्ड जानकारी
    डब्ल्यूएसडीएल

    चुनें: यूआरएल का उदाहरण

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

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

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

    प्रॉक्सी नाम

    डालें: delayedstockquote

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

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

    चुनें: REST से SOAP से REST तक

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

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

    पोर्ट का टाइप: DistributionedStockshotSoap सभी तीन WSDL चुनें. अन्य सेटिंग में कोई बदलाव न करें.

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

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

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

प्रॉक्सी की जांच की जा रही है

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

  • ORG उस Edge संगठन का नाम है जिसमें आपने प्रॉक्सी बनाया है.
  • ENV वह एनवायरमेंट है जिसमें प्रॉक्सी को डिप्लॉय किया जाता है.
  • डोमेन आपके इस्तेमाल किए जा रहे 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 डाला है, तो आपको 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 की जानकारी पाएं

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

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

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

अतिरिक्त क्रेडिट: यह कैसे पता लगाया जाए कि कौनसे रिसॉर्स, वर्ब, और क्वेरी पैरामीटर का इस्तेमाल करना है?

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

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

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

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

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

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

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