क्लासिक एएसपी पेज से आरईएसटी वेब सेवाओं को कॉल करना

मैं अपने आवेदन व्यापार परतों को आरईएसटी वेब सेवाओं के संग्रह में ले जाना शुरू करना चाहता हूं। हालांकि, हमारे अधिकांश इंट्रानेट क्लासिक एएसपी और अधिकांश डेवलपर्स का उपयोग करके बनाया गया है जहां मैं क्लासिक एएसपी में प्रोग्रामिंग रखता हूं। आदर्श रूप में, उनके लिए वेब एपीआई के एक अद्वितीय सेट के फायदों से लाभ उठाने के लिए, इसे क्लासिक एएसपी पृष्ठों से बुलाया जाना होगा।

मुझे थोड़ा सा विचार नहीं है कि यह कैसे करें।

0
ro fr bn

7 उत्तर

आपको बस एक HTTP क्लाइंट चाहिए। .Net में, WebRequest अच्छी तरह से काम करता है। क्लासिक एएसपी के लिए, आपको एक विशिष्ट घटक की आवश्यकता होगी जैसे यह एक

0
जोड़ा

आप क्लाइंट से आरईएसटी सेवाओं का उपभोग करने के लिए जेएसओएन कॉल के साथ jQuery के संयोजन का उपयोग कर सकते हैं

या

यदि आपको एएसपी परत से आरईएसटी सेवाओं के साथ बातचीत करने की आवश्यकता है तो आप इसका उपयोग कर सकते हैं

MSXML2.ServerXMLHTTP

पसंद:

Set HttpReq = Server.CreateObject("MSXML2.ServerXMLHTTP")
HttpReq.open "GET", "Rest_URI", False
HttpReq.send
0
जोड़ा
क्या होगा यदि मेरी आरईएसटी सेवा में बुनियादी प्रमाणीकरण आवश्यक है? क्लासिक एएसपी से इसे कॉल करने की दूसरी विधि में क्या परिवर्तन होगा?
जोड़ा लेखक mutex, स्रोत

क्लास एएसपी पृष्ठ से वेब सेवा को कॉल करने का वर्णन करने वाले कुछ लेख यहां दिए गए हैं:

0
जोड़ा

@KP

आपको वास्तव में एएसपी/सर्वर साइड अनुप्रयोगों से MSXML2.ServerXMLHTTP का उपयोग करना चाहिए। XMLHTTP केवल क्लाइंट पक्ष का उपयोग किया जाना चाहिए क्योंकि यह WinInet का उपयोग करता है जो सर्वर/सेवा ऐप्स में उपयोग के लिए समर्थित नहीं है।

See http://support.microsoft.com/kb/290761, questions 3, 4 & 5 and

http://support.microsoft.com/kb/238425/.

यह काफी महत्वपूर्ण है, अन्यथा आप अपने वेब ऐप फांसी और अजीब बकवास के सभी प्रकार का अनुभव करेंगे।

0
जोड़ा

एक और संभावित समाधान एक .NET DLL लिखना है जो कॉल करता है और परिणाम देता है (शायद RESTSharp की तरह कुछ लपेटें - इसे अपनी आवश्यकताओं के लिए अनुकूलित एक साधारण एपीआई दें)। फिर आप डीएलएल को एक COM DLL के रूप में पंजीकृत करते हैं और इसे CreateObject विधि के माध्यम से अपने एएसपी कोड में उपयोग करते हैं।

मैंने इसे हस्ताक्षरित जेडब्ल्यूटी और नमकीन और हैशिंग पासवर्ड बनाने जैसी चीजों के लिए किया है। यह अच्छी तरह से काम करता है (जबकि आप एएसपी को फिर से लिखने के लिए पागल की तरह काम करते हैं)।

0
जोड़ा

एक अन्य संभावना WinHttp COM ऑब्जेक्ट का उपयोग करना है WinHttpRequest COM का उपयोग करना वस्तु।

WinHttp को सर्वर कोड से उपयोग करने के लिए डिज़ाइन किया गया था।

0
जोड़ा

A number of the answers presented here appear to cover how ClassicASP can be used to consume web-services & REST calls.

मेरी राय में आपके क्लासिकएएसपी के लिए आरईएसटी प्रारूपों में डेटा देने के लिए एक मामूली समाधान हो सकता है। यदि संभव हो तो अपने ब्राउज़र-आधारित क्लाइंट कोड को 'मैशप' को संभालने दें। आप किसी भी अन्य एएसपी घटकों को शामिल किए बिना ऐसा करने में सक्षम होना चाहिए।

तो, क्लासिकएएसपी में मैं चमकदार नए आरईएसटी समर्थन का नकल कैसे करूंगा:

  1. एक एकल एएसपी वेब पेज प्रदान करें जो लैंडिंग पैड के रूप में कार्य करता है
  2. लैंडिंग पैड दो पैरामीटर को संभालेगा: क्रिया और यूआरएल, साथ ही फॉर्म सामग्री का एक सेट
  3. किसी प्रकार का स्विच ब्लॉक यूआरएल का निरीक्षण करें और क्रिया (और फॉर्म सामग्री) को एक प्रासंगिक हैंडलर पर निर्देशित करें
  4. हैंडलर फिर फॉर्म सामग्री के साथ क्रिया (PUT/POST/GET/DELETE) को संसाधित करेगा, सफलता/विफलता कोड प्लस डेटा को उचित रूप से वापस कर देगा।
  5. आपका लैंडिंग पैड सफलता/विफलता कोड का निरीक्षण करेगा और संबंधित HTTP स्थिति और किसी भी लौटाए गए डेटा को वापस करेगा

You would benefit from a support class that decodes/encodes the form data from/to JSON, since that will ease your client-side implementation (and potentially streamline the volume of data passed). See the conversation here at Any good libraries for parsing JSON in Classic ASP?

अंत में, क्लाइंट-साइड पर, एक विधि प्रदान करें जो वर्ब, यूआरएल और डेटा पेलोड लेती है। शॉर्ट टर्म में विधि पैरामीटर को एकत्रित करेगी और उन्हें आपके लैंडिंग पैड पर अग्रेषित करेगी। लंबी अवधि में (एक बार जब आप क्लासिक एएसपी से दूर हो जाते हैं) तो आपकी विधि डेटा को 'असली' यूआरएल में भेज सकती है।

सौभाग्य...

0
जोड़ा