Saturday 30 December 2017

Delforexp डेल्फी 2018 साबुन


डेल्फी में साबुन सेवाओं का निर्माण और उपभोग करना अद्यतित डेल्फी के साथ एक रसीला JSON सेवा ग्राहक का निर्माण करने का एक पूर्ण उदाहरण के लिए, और PHP का उपयोग करने वाला एक रेंगने वाला JSON सेवा, मेरे 8220 से अपने स्वयं के बैकएण्ड 8221 वीडियो श्रृंखला को अपने साथ रोल करें, जो कि मेरी प्रेइट्स सीरीज़ के अगले हिस्से की अपेक्षा करता है, कृपया देखें, कृपया देरी का बहाना करें यह 8217ll आते हैं, लेकिन काम पहले आता है I8217d आज आपको यह दिखाने की तरह है कि आप SOAP आधारित वेब सेवाओं को कैसे बना और उपभोग कर सकते हैं। यह मेरे ग्राहकों से अक्सर सवाल है, और इसलिए I8217ve ने यहां प्रक्रिया को लिखने का फैसला किया। संपादित करें: डेल्फी एक ग्राहक के रूप में किसी भी SOAP सेवा का उपभोग कर सकता है, हालांकि, डेल्फी का उपयोग करके बनाए गए सर्वर-साइड SOAP सेवाओं को लिबरल दस्तावेज़ के बजाय RPC आधारित होगा। इससे कुछ क्लाइंटों से डेल्फी सोप सेवाओं का उपभोग करने वाली समस्याओं का कारण हो सकता है। यह जावा के ग्राहकों के साथ विशेष रूप से मुश्किल है, जो पुराने पुस्तकालयों की स्थापना की आवश्यकता है। एसओएपी सर्वर को अपडेट करने के लिए एम्बारकाडो में बहुत कम इच्छा प्रतीत होती है, जेओएसआरईएसटी आधारित सेवाओं के पक्ष में SOAP की लोकप्रियता में गिरावट के कारण यदि आप जावा, या किसी अन्य विकास सूट से उपयोग के लिए सेवाओं की मेजबानी करना चाहते हैं जो RPCSOAP के साथ संगत नहीं है, तो JSONREST सेवाओं पर विचार करें जो एमार्बैडेरो से डेटानैप या ईएमएस तकनीकों का उपयोग कर बनाया जा सकता है। संपादित करें समाप्त सोप ऑब्जेक्ट एक्सेस प्रोटोकॉल सरल है। यही है, यह 8217 एक प्रोटोकॉल है जो आपके एप्लिकेशन को 8216objects8217 तक पहुंचने में सक्षम बनाता है, जो कि उनके गुणों और विधियों के माध्यम से डेटा ऑब्जेक्ट्स है। इसे सीधे शब्दों में आगे बढ़ाने के लिए, यह एक प्रोटोकॉल है जो आपको दूरस्थ डेटा तक पहुंचने में सक्षम बनाता है या दूरस्थ प्रक्रियाओं को कॉल करता है। यह RESTJSON सेवाओं के कई तरीकों से समान है I8217ve ने पहले के बारे में ब्लॉग किया है, हालांकि, SOAP डेटा आमतौर पर एक HTTP या सीधी टीसीपीआईपी पर एक्सएमएल आवरण का उपयोग कर प्रसारित होता है। SOAP सेवाओं और RESTJSON सेवाओं के बीच एक और महत्वपूर्ण अंतर यह है कि SOAP सेवाएं एक पूर्वनिर्धारित अनुबंध के अनुरूप हैं जो डेटा संरचनाओं और तरीकों को उपलब्ध कराता है, यह अनुबंध WSDL फ़ाइल (वेब ​​सेवा परिभाषा भाषा) में वर्णित है। सावधान रहें, कुछ साबुन प्रौद्योगिकी विक्रेता भूल जाते हैं कि 8216 एसओएपी 8217 में पत्र 8216 एस 8217 के लिए खड़ा है, नाम का नाम नहीं है। SOAP सेवा बनाना डेल्फी का उपयोग करके एक SOAP सेवा बनाने की सुविधा देता है I8217m XE8 की प्रारंभिक रिलीज का उपयोग करते हुए, हालांकि I8217ve डेल्फी 7 से अधिक या कम अपरिवर्तित इन चरणों का उपयोग कर रहा है, इसलिए इसे किसी भी संस्करण में काम करना चाहिए। उसने कहा, इस तकनीक के लिए पहले के एक्सई संस्करणों में से एक बड़ा अद्यतन था, इसलिए मेरे कदम-स्क्रीन्सशॉट्स के समान ही XE45 या अधिक होगा, लेकिन आपको पिछले संस्करणों में बहुत कम कठिनाई होनी चाहिए। डेल्फी आईडीई शुरू करें और 8220 फाइल का चयन करें नई अन्य - गेट डेल्फी प्रोजेक्ट्स - जीटी वेब सर्विसेज - जीओटी एसओपी सर्वर एप्लीकेशन 8221 (डेल्फी रड स्टूडियो संस्करण या संस्करण के साथ भिन्न हो सकती है। 8220 डेलफी प्रोजेक्ट्स 8221 को छोड़े जाने की आवश्यकता हो सकती है।) विज़ार्ड जो ऑफ़र प्रस्तुत किया गया है कई विकल्प SOAP सेवा की मेजबानी करने का सबसे आम तरीका एक वेब सर्वर मॉड्यूल के रूप में है, जैसे कि 8220ISAPI डायनेमिक लिंक लाइब्रेरी 8221 माइक्रोसॉफ़्ट 8217 एस 8220 आईआईएस 8221 वेब सर्वर के लिए नोट: कंप्यूटर के 32-बिट संस्करणों का उपयोग करते हुए आईएसएपीआईआईआईएल का निर्माण करते समय, 64-बिट सर्वर पर 32-बिट निष्पादन योग्य कोड को सक्षम करने के लिए I8217ll को IIS अनुप्रयोग पूल के अंतर्गत एक सेटिंग को बदलने की आवश्यकता है। इस से बचने के लिए डेल्फी के आधुनिक संस्करणों में अपने 64-बिट संकलन को निर्धारित करें। इस अनुदेश के प्रयोजनों के लिए, 8,820 का चयन करने के लिए 8,820 एकमात्र आवेदन। 8221 यह 8217 अपेक्षाकृत तुच्छ है, इस परियोजना को एक आईएसएपीआई परियोजना में बदलने के लिए, जो I8217ll बाद में प्रदर्शित करता है। अभी के लिए, आगे बढ़ो और 8220 का चयन करें अकेला आवेदन। 8221 विज़ार्ड में अगले चरण आपको पूछता है कि क्या आप 8217 डी 8220VCL8221 या 8220FMX8221 8220Firemonkey8221 अपने वेब सेवा कोड के पीछे के चौखटे का उपयोग करना चाहते हैं। 8220VCL8221 और 8220 एफएमएक्स 8221 के बीच विंडो अंतरफलक पर गैर-दृश्य कोड के लिए थोड़े भेद हैं, तो अच्छा पुराने भरोसेमंद 8220VCL8221 को छड़ी देता है। विज़ार्ड का अगला चरण आपको पोर्ट संख्या का चयन करने की अनुमति देता है, जिस पर आपके अकेले निष्पादन योग्य सेवा चालू होगी जब यह प्रोजेक्ट IIS या अन्य वेब सर्वर अनुप्रयोग में बाद में परिवर्तित हो जाता है, तो वह पोर्ट होगा जो वेब सर्वर DLL (आमतौर पर HTTP या HTTPS के लिए 808080443) चल रहा है। इसलिए, हम जिस पोर्ट नंबर का चयन करते हैं वह यहां बहुत ज्यादा है, इसलिए जब तक वह उसी मशीन पर चलने वाली किसी अन्य सेवा के साथ संघर्ष करता है तब तक ऐसा नहीं होता। आप इस के लिए 8220Test Port8221 बटन के साथ परीक्षण कर सकते हैं। I8217m बंदरगाह 8080 करने के लिए छड़ी करने जा रहा है, यदि आप एक अलग बंदरगाह का चयन करें you8217ll को किसी भी url8217s को समायोजित करने की आवश्यकता है जो मैं आपको बाद में देता हूं विज़ार्ड से 8220Finish8221 पर क्लिक करने के बाद, डेल्फी आपके SOAP सर्वर अनुप्रयोग प्रोजेक्ट के निर्माण के काम पर जाएंगे। जब यह समाप्त करने के करीब 8217 है, तो यह निम्न संवाद 8230 पेश करेगा। यह संवाद आपको पूछ रहा है कि यदि आप 8217 डी अपनी वेब सेवा के लिए 8220end-point 8221 बनाना चाहते हैं, या कम से कम 8867 के बारे में बताता है कि कुछ अन्य SOAP फ़्रेमवर्क I8217ve में क्या कहा गया है I8217ve इस तरह के चौखटे आम ​​तौर पर आपको केवल एक ही अंत-बिंदु प्रति सेवा की मेजबानी करने की अनुमति देते हैं, कम से कम कुछ कॉन्फ़िगरेशन के बिना, लेकिन डेल्फी आपको जितनी चाहें होस्ट करने की अनुमति देगा। इस सेवा के लिए उपयोगी होने के लिए, आपको कम से कम एक जोड़ना होगा, इसलिए आगे बढ़ें और 8220YES8221 पर क्लिक करें अगला संवाद है, जहां you8217ll सेवा अंत-बिंदु का नाम है, जो कि आप को 8217re बनाने जा रहे हैं। इस संवाद पर आपके पास कुछ नमूना विधियों को जोड़ने का विकल्प भी है, जो डिफ़ॉल्ट रूप से अनचेक हो जाएगा। सुनिश्चित करें कि यह विकल्प चेक किया गया है, क्योंकि हम नमूना विधियों का उपयोग बाद में करने जा रहे हैं I8217re डेल्फी ने अब आपके लिए एक सेवा एप्लिकेशन बनाया होगा, और यह आपके लिए कुछ नमूना विधियों के साथ एक पूर्ण कार्यरत सेवा भी है जिसे आप कॉल कर सकते हैं। इससे पहले कि हम इस सेवा को देखें, कुछ निर्देशिका सेट अप करें और परियोजना को बचाएं। We8217re कुल में तीन अलग-अलग परियोजनाओं का निर्माण करने जा रहे हैं पहला, we8217ve अभी बनाया यह सर्वर साइड एप्लिकेशन है एक दूसरी सेवा का एक आईएसएपीआई संस्करण होगा (चूंकि मैंने वादा किया था कि I8217d कैसे दिखाती है) तीसरा ग्राहक सेवा को कॉल करने में सक्षम होगा। We8217ll एक परियोजना समूह में सभी तीन जोड़ते हैं। कहीं अपनी डिस्क पर (यह doesn8217t बात है, जहां कभी आप आमतौर पर अपनी परियोजनाओं को रखने के लिए), निम्नलिखित निर्देशिका संरचना का निर्माण 8230 अब, वापस डेल्फी आईडीई में चुनें 8220File सभी 8221 सहेजें फाइलों को निम्न प्रकार से सहेजें: सोप एस सेवा नमूनासर्वर यूनिट्स MyServiceIntf. pas SoapServiceSampleServerunitsMyServiceImpl. pas SoapServiceSampleServerformsFormUnit1 pas SoapServiceSampleServerunitsWebModuleUnit1.pas SoapServiceSampleServerprojectsStandAloneService. dproj निर्देशिका में परिवर्तनों को नोट करना सुनिश्चित करें, और I8217ve ने 8220StandAloneService. dproj8221 के लिए इस परियोजना का नाम बदला है इन फ़ाइलों का उद्देश्य निम्नानुसार है 8230 MyServiceIntf. pas 8211 आपकी सेवा का इंटरफ़ेस भाग, WSDL उत्पन्न करने के लिए उपयोग किया गया फ़ाइल। MyServiceImpl. pas 8211 आपकी सेवा का कार्यान्वयन FormUnit1.pas 8211 स्टैंडअलोन सेवा अनुप्रयोग के लिए यूआई प्रदान करने के लिए प्रयुक्त होता है, यह ISAPI या अपाचे मॉड्यूल में परिवर्तित होने पर यह प्रासंगिक नहीं है। WebModuleUnit. pas 8211 वेब मॉड्यूल यूआरएल मानचित्रण के माध्यम से उन्हें आपकी सेवा के अंत-बिंदु (इंटरफ़ेस इम्प्लीमेंटेशन) और मार्शल अनुरोधों को होस्ट करता है। StandAloneService. dproj 8211 प्रोजेक्ट फ़ाइल। अब हम पहली बार के लिए सेवा में सेवा देखने के लिए तैयार हैं I8217re। आगे बढ़ो और एप्लिकेशन को चलाएं। आपको निम्न 8230 देखना चाहिए सबसे सुंदर दिखने वाला आवेदन यह नहीं है, लेकिन इसकी आवश्यकता नहीं है, क्योंकि यह एप्लिकेशन केवल स्टैंड-अलोन सेवा अनुप्रयोग है, जो कि सेवा को डीबग करने के लिए I8217ll का इस्तेमाल किया जा रहा है। सेवा शुरू करने के लिए 8220 स्टार्ट 8221 बटन पर क्लिक करें (फायरवॉल के बारे में कोई सुरक्षा चेतावनियां स्वीकार करें), और उसके बाद 8220 ओपन ब्राउजर 82218230 पर क्लिक करें, ध्यान दें, यदि आपके ब्राउज़र को नहीं खुलता है, जो आपके सेटअप के आधार पर हो सकता है, एक ब्राउज़र खोलें और स्थानीय होस्ट पर जाएं: 8080 ब्राउज़र में आप जो देख सकते हैं वह आपकी सेवा के लिए एक HTML आधारित इंटरफ़ेस है। इसमें दो इंटरफेस प्रकाशित किए गए हैं, जिनमें 8216 आईएमएस सेवा 8217 और 8216 आईडब्ल्यूएसडीएलपीब्लिश 8217 हैं, जिनमें से पहली बार आपकी नई सर्विस एंड पॉइंट है और बाद में एक ऐसी प्रणाली है, जो प्रयोजनों के लिए बनाई गई है I8217ll यहाँ में नहीं हो रही है। यदि आप 8216IMSSL8217 के दाईं ओर 8216WSDL8217 लिंक पर क्लिक करते हैं, तो you8217ll एक बड़ी XML फ़ाइल को देखें यह फ़ाइल डब्लूएसडीएल फाइल है जो क्लाइंट एप्लिकेशन आपकी सेवा की क्षमताओं को खोजने के लिए उपयोग करेगी। यूआरएल बार में बदलाव का ध्यान रखें जब आप यह 8230 करते हैं I8217 देखें कि 8216wsdlIMyService8217 को यूआरएल स्ट्रिंग में जोड़ा गया है। हम इस तरह से किसी भी विशेष सेवा अंत-बिंदु इंटरफ़ेस के लिए wsdl फ़ाइल को संबोधित करते हैं, जो कि हम बनाते हैं, बस 8216wsdlIltendpoint-namegt8217 को बेस यूआरएल में संलग्न करें। डब्लूएसडीएल आपकी सेवा के बारे में जानकारी प्रदान करता है, और यह किस तरह का डाटा प्रकार (ऑब्जेक्ट्स) का समर्थन करता है। इस सेवा का उपभोग करने के लिए क्लाइंट एप्लिकेशन लिखने के लिए आगे बढ़ने से पहले, I8217d इंटरफ़ेस और कार्यान्वयन फ़ाइलों में कुछ चीजों को इंगित करना चाहते हैं I आगे बढ़ो और आईडीई में 8216 मेयसिसआईआईटीएफ। पीएएस 8217 खोलें। फ़ाइल के निचले भाग में, you8217 देखें यह अंतरफलक घोषित किया गया 8230 यह इंटरफ़ेस है जिसका इस्तेमाल सेवा की क्षमताओं को परिभाषित करने वाली WSDL फाइल बनाने के लिए किया जाता है। यहाँ कुछ ध्यान देने योग्य बात यह है कि प्रत्येक समर्थित विधियों के लिए कॉलिंग सम्मेलन 8216 एसडीटीसीएल 8217 है। उस 8217 के विंडोज़ मानक कॉलिंग सम्मेलन, जो धारणा द्वारा हमारी सेवा पर लगाया गया है कि हम इसे वीसीआईआईआईआई मॉड्यूल में परिवर्तित कर सकते हैं। यह 8216 के लिए 8216stdcall8217 का उपयोग करने के लिए सुरक्षित है और अकेले एक्ज़िक्यूएबल भी है, और इसलिए आईडीई ने सभी सेवाओं के लिए यह कॉलिंग सम्मेलन ग्रहण किया है। Don8217t इसे अपने दोनों इंटरफ़ेस में शामिल करने के लिए भूल जाते हैं, और कार्यान्वयन फाइलों जब you8217re अपने सर्वर साइड तरीकों लेखन इस फाइल में आईएमआईएसआईएसआई इंटरफ़ेस के ऊपर, you8217 देखें कुछ डेटा प्रकारों को घोषित किया जा रहा है 8230 साधारण डेटा प्रकार जो मूल डेल्फी डेटा प्रकारों पर नक्शा करते हैं, उन्हें किसी विशेष उपचार की आवश्यकता नहीं होती है। उदाहरण के लिए, 8216TEnumTest8217 और 8216TDoubleArray8217 दोनों सरल डेटा-प्रकार हैं और उन्हें WSDL फ़ाइल पर आवश्यक रूप से मैप किया जाएगा। हालाँकि, 8216 प्रमोटेबल 8217 से प्राप्त किया जाना चाहिए, जैसा कि यहां देखा जा सकता है 8216 टीएमईईएमपीएआई 8217 के साथ 8216 ट्रीमोटेबल 8217 प्राप्त करने की आवश्यकता है ताकि बेस क्लास 8216TRermotable 8217 आरटीटीआई (रन टाइम प्रकार की जानकारी) का उपयोग करने के लिए वंश वर्ग के सदस्यों को पढ़ने और उन्हें 8216 रेमोटोबल 8217 बना सके - यह, उन्हें वेब धाराओं में क्रमबद्ध किया जा सकता है, और उन्हें हटाया जा सकता है यह आपको आपकी सेवा में 8216 प्रमोटेबल 8217 क्लास भेजने की अनुमति देता है, या इससे एक बार वापस प्राप्त कर सकता है। केवल प्रकाशित गुणों को स्ट्रीम में लिखा जा सकता है, और इन वर्गों पर तरीकों को लगाने में बहुत कम संभावनाएं हैं, इसलिए उन्हें सरल डेटा परिवहन वर्गों के रूप में उपयोग करें और मददगारों को उनके साथ काम करने के लिए लिखें अब इस अंतरफलक के कार्यान्वयन को देखने के लिए 8216MyServiceImpl. pas8217 फ़ाइल पर स्विच करें। ध्यान दें कि 8216 TMyService8217 वर्ग में प्रत्येक विधि में एक समान विधि है, जो 8216IMyService8217 इंटरफ़ेस लागू करता है। इनमें से प्रत्येक विधि एक stdcall है, और, वे प्रत्येक डेटा को प्रतिध्वनित करने से ज्यादा कुछ नहीं करते हैं जो कॉलर को वापस प्राप्त करते हैं। आप बाद में अधिक साहसी कार्यान्वयन का परीक्षण कर सकते हैं, लेकिन अभी के लिए, we8217ll परियोजना विज़ार्ड द्वारा जेनरेट किए गए इन नमूने विधियों के साथ रहें। हालाँकि, वहाँ एक समस्या है 8217 आप विज़ार्ड द्वारा उत्पन्न नमूना विधि 8216echoMyEmployee8217 पर एक नज़र डालें, you8217ll नोटिस कि यह 8216TMyEmployee8217 बनाता है यह 8217 के परिणाम के रूप में, लेकिन यह 8216Value8217 पैरामीटर के मूल्य को प्रतिध्वनित करने के लिए प्रतिलिपि नहीं करता है। हमें उस पैच की जरूरत है, इसलिए निम्नलिखित कोड के साथ 8216TMyService. echoMyEmployee () 8217 के कार्यान्वयन की जगह दें। अब हमारी सेवा खपत और परीक्षण के लिए तैयार है। एक साबुन सेवा का उपभोग अब जब हमारे पास एक परीक्षा है, तो सेवा का उपभोग करने के लिए एक क्लाइंट एप्लिकेशन बनाने की सुविधा देता है। मुख्य मेनू से एक नई परियोजना शुरू करने के बजाय, we8217ll इसे एक ही परियोजना समूह के अंदर स्टैंडअलोन सेवा परियोजना के रूप में बनाये। इस प्रकार, we8217ll उन दोनों को एक ही समय में चलाने में सक्षम हो, और या तो डिबग करें प्रोजेक्ट एक्सप्लोरर में, 8216 प्रोजेक्ट ग्रुप 18217 पर राइट क्लिक करें और 8216 का चयन करें। नई प्रोजेक्ट 8217 - gt 8216VCL फॉर्म्स फॉर्मस application8217 अब हमारी प्रोजेक्ट को हमारी डायरेक्टरी स्ट्रक्चर में सहेजने देता है, 8220File का चयन करें Alll82218230 को सहेजें। फाइलों को निम्नानुसार रखें 8230 SoapServiceSampleClientformsformMain. pas (Unit2.pas से नाम दिया गया है) SoapServiceSampleClientprojectsSOAPClient dproj (Projectltxgt. pas से नाम दिया गया) SoapServiceSampleSoapGroup. groupproj (ProjectGroup1.groupproj से नाम दिया गया) इस बिंदु पर, हम 8216SoapGroup. groupproj8217 फ़ाइल को खोलकर कई प्रोजेक्ट (सर्वर और क्लाइंट साइड) खोल सकते हैं। अब, हमारी वेब सेवा का उपभोग करने के लिए, हमें अपने क्लाइंट एप्लिकेशन में डब्लूएसडीएल फाइल आयात करना होगा। ऐसा करने के लिए सेवा चलाना चाहिए, इसलिए प्रोजेक्ट मैनेजर में, 8216 स्टैण्डअलोन सेवा 8217 पर डबल क्लिक करें इसे डिफ़ॉल्ट प्रोजेक्ट (हाइलाइट किए गए बोल्ड) के रूप में सेट करें। अब डीबगिंग 8221 विकल्प के बिना 8220Run का उपयोग करके इस प्रोजेक्ट को चलाएं। यह महत्वपूर्ण है कि आप इसे चुनते हैं और debugging8221 विकल्प के साथ 8220 रन नहीं करते हैं, क्योंकि जब आईडीई एक आवेदन डिबगिंग कर रहा है, तो वह 8217t आपको दूसरे चलाने के लिए अनुमति देता है। इसे बाद में और अधिक महत्वपूर्ण बना दिया गया है जब हम एक ही समय में स्टैंडअलोन सेवा और SOAPClient दोनों परियोजनाओं को चलाने के लिए चाहते हैं। We8217ll हमेशा डिबगिंग हो रहा है, जबकि डीबगिंग के बिना अन्य चल रहा है। यह सुनिश्चित करने के लिए कि सेवा चल रही है और उपलब्ध है, प्रारंभ बटन पर क्लिक करें। यह चलना छोड़ दें, और आईडीई में वापस, प्रोजेक्ट मैनेजर में 8216SOAPClient. exe8217 प्रोजेक्ट पर डबल क्लिक करें इसे डिफ़ॉल्ट रूप में सेट करें। अब, 8220 फ़िक्स न्यू ऑल - जीटी डेल्फी प्रोजेक्ट्स वेबसर्विसेज़ डब्लूएसडीएल इम्पोर्टर 8221 (डेल्फी रड स्टूडियो संस्करण या संस्करण के साथ भिन्न हो सकती है। 8220 डेलफी प्रोजेक्ट्स 8221 को छोड़े जाने की आवश्यकता हो सकती है।) आयात विज़ार्ड में प्रस्तुत करने के लिए, WSDL का यूआरएल पेस्ट करें इंटरफेस (अंत बिंदु) जो आप सेवा से आयात करना चाहते हैं अन्य विकल्पों को छोड़ दें, जब तक कि आपको पता न हो कि आप 8217 एक प्रॉक्सी का उपयोग कर रहे हैं, और अगला क्लिक करें अगले विज़ार्ड पर, बस अगला क्लिक करें और विज़ार्ड को आपके 8200 के लिए SOAP संस्करण के बारे में चिंतित करना दें अगला विज़ार्ड पृष्ठ विकल्पों में से एक मुद्रा प्रदान करता है जिसे आप WSDL पार्सर फ़ंक्शन को बदलने के लिए समायोजित कर सकते हैं। यह आपको डब्लूएसडीएल फाइलों को आयात करने में सक्षम बनाता है जो उनके कार्यान्वयन में भिन्नता है, उदाहरण के लिए माइक्रोसोफ्स डब्ल्यूसीएफ ढांचे सहित अन्य सोप फ़्रेमवर्क के साथ इंटरऑपरेबिलिटी के लिए। जैसा कि हम एक डेल्फी सोप सेवा के साथ काम कर रहे हैं I8217re, हम don8217t इन सेटिंग्स में से किसी को बदलने की जरूरत है, तो बस 8216 Finish8217 पर क्लिक करें डेल्फी आईडीई ने अब एक नई इकाई बनाई है, जिसने इस नामकरण सम्मेलन (822018221 का उपयोग करके) के 8220IMyService18221 8211 I8217m नामक एक प्रशंसक नहीं बनाया है और हम इकाई को नाम बदल कर 8220IMyService8221 कर सकते हैं क्योंकि इकाई के भीतर 8220IMyService8221 नामक पहचानकर्ता पहले से ही है। तो इस फाइल को 8220unitIMyService. pas8221 8220SoapServiceSampleClientunitsunitIMyService. pas8221 के रूप में सहेज सकते हैं। अब हम जो कुछ भी हमने पहले लिखी थी, सेवा को कॉल करने के लिए क्लाइंट अनुप्रयोग में की जरूरत है, लेकिन हमारे पास हमारे आवेदन के लिए हमारे पास कोई भी प्रकार की UI है। चलो एक का निर्माण आईडीई में, फॉर्ममैन पर स्विच करें और दो टॉगलबॉक्स नियंत्रण और उपकरण पैलेट से एक टीबुटन नियंत्रण ड्रॉप करें। क्रमशः 8220Request8221 और 8220Response8221 को पढ़ने के लिए प्रत्येक समूह बॉक्स की 8216 कैपशन 8217 की संपत्ति सेट करें इसके अलावा, 8220Echo8221 पढ़ने के लिए बटन 8216 कैप्शन 8211 की संपत्ति को सेट करें, प्रत्येक समूह बॉक्स में, तीन 8216 टेलिबल 8217 नियंत्रण, दो 8216 पाठ 8217 नियंत्रण और एक 8216 छापेंइडिट 8217 नियंत्रण को निम्न 8282 के रूप में व्यवस्थित करें (ध्यान दें कि आपके संपादन बॉक्स में ऐसा टेक्स्ट हो सकता है जहां मेरा नहीं है, don8217t उस बारे में चिंता करें।) अब हमें 8216 प्रथम नाम 8217 को पढ़ने के लिए अनुरोध बॉक्स के अंदर प्रत्येक लेबल्स की 8216 कैपशन 8217 प्रॉपर्टी सेट करना होगा। 8216 अंतिम नाम 8217, 8216 सलेरी 8217 क्रमशः। प्रतिक्रिया बॉक्स के भीतर लेबल के लिए एक ही दोहराएं। सभी लेबल को अच्छी तरह से फिट करने के लिए आपको आकार और नियंत्रण की स्थिति को समायोजित करना पड़ सकता है अब हम प्रत्येक संपादन की 8216 नाम 8217 संपत्ति सेट करते हैं, और संपादन नियंत्रण स्पिन करते हैं अनुरोध बॉक्स में उन लोगों के लिए, जिन्हें हम 8216 ईटीआरएफएफटी नाम 8217, 8216 डीटीआरक्लालनाम 8217 और 8216 एसपीआरक्रसारी 8217 नाम देते हैं। प्रतिक्रिया बॉक्स में उन लोगों के लिए हम 8216 डीटीआरएसएफर्स्टनाम 8217, 8216 डीटीआरएसलाटनाम 8217, 8216 एसएपीआरएससैलरी 8217 नामों का नाम दें। प्रत्येक संपादन बक्से के लिए खाली स्ट्रिंग के लिए 8216Text8217 गुण भी सेट करें। अंत में, बटन पर क्लिक करें इसे 8216 8 8686OnClick8217 हैंडलर सेट करने के लिए, और निम्न कोड सम्मिलित करें 8230 इसके अलावा, यूनिट आईएमआईएस सेवा को मुख्य फ़ॉर्म की उपयोग सूची में जोड़ने का ध्यान रखें। अब इस सेवा का परीक्षण करने देता है। आपका 8216 स्टैण्ड अलालोसेवा। एक्सई 8217 सर्वर अभी भी पृष्ठभूमि में चल रहा होना चाहिए, लेकिन यदि यह isn8217t है, तो इसे जाने और प्रोजेक्ट मैनेजर में डिफ़ॉल्ट प्रोजेक्ट बनाएं और 8220Run को डीबगिंग 8221 बटन के बिना मारा। Don8217t यह 8217s 8220Start8221 बटन पर क्लिक करने के लिए भूल जाते हैं, और फिर आईडीई पर वापस आते हैं और 8216SOAPClient. exe8217 को डिफ़ॉल्ट प्रोजेक्ट के रूप में दोबारा सेट करते हैं। SOAPClient. exe प्रोजेक्ट को चलाएं और you8217ll को निम्नलिखित 8230 के साथ प्रस्तुत करें आगे बढ़ो और अनुरोध के तहत वेतन बॉक्स में वेतन के लिए अपने पहले नाम, अंतिम नाम और किसी भी संख्या में डाल दें। नोट: I8217ve केवल सुविधा के लिए मान पूर्णांक करने के लिए वेतन बॉक्स clamped, क्योंकि मैं इस उदाहरण के लिए 8216TSpinEdit8217 नियंत्रण का उपयोग करने के लिए चुना है। 8216Echo8217 बटन पर क्लिक करें। यदि सभी अच्छी तरह से चले गए हैं तो आपको निम्नलिखित 8230 देखे जाने वाले इन्स 8217t को देखना चाहिए जब आप उस बटन पर क्लिक करते थे, अनुरोध बॉक्स में मान पैक किए गए थे और सर्वर 8216echoMyEmployee8217 विधि को भेज दिया गया था, जो उन्हें प्रति प्रतिक्रिया में कॉपी करके वापस भेज दिया गया था। परिणामस्वरूप प्रतिक्रिया बॉक्स में सामने आया। आपने सफलतापूर्वक अपने SOAP सेवा को बधाई दी, बधाई दी। यह वह जगह है जहां आपको इसे पढ़ना और 8216echoMyEmployee8217 पद्धति को अधिक परिष्कृत बनाने के साथ प्रयोग करना चाहिए, या फिर अपने खुद के नए तरीकों को जोड़ना चाहिए। एक साइड नोट के रूप में, आप सर्वर प्रोजेक्ट को डिफ़ॉल्ट प्रोजेक्ट के रूप में सेट करके और फिर 8220File नई अन्य - gt डेल्फी प्रोजेक्ट्स - जीटी वेब सर्विसेज - gt SOAP Server Interface8221 का चयन करके और विज़ार्ड का अनुसरण करके नए इंटरफेस (अंत-बिंदु) जोड़ सकते हैं। जब आप 8217 ने नए इंटरफेस के साथ प्रयोग किया, नई विधियां और सेवा बनाकर आप को किसी भी पुरानी चीज की तरह काम करना, यहां वापस आइए और देखें कि आईएएस सर्वर में आईएसएपी में कैसे स्थापित कर सकते हैं। IIS के लिए एक आईएसपीआई सोप सेवा का निर्माण इस पोस्ट की शुरुआत में, मैंने वादा किया था कि I8217d आपको आईआईएस सर्वर के लिए एक आईएसएपीआई प्लगइन के लिए, जो हमने अकेले सेवा निष्पादन योग्य बनाया है, से अपनी वेब सेवा को स्थानांतरित करने का तरीका दिखाया है। तो यहाँ यह है। 8216 एसओएपी ग्रुप 8217 प्रोजेक्ट ग्रुप को खोलें जिसे हमने पहले बनाया था, और प्रोजेक्ट मैनेजर में, 8216 सोप ग्रुप 8217 पर राइट क्लिक करें और 8216 का चयन करें नया प्रोजेक्ट 8217 अब 8220 डेलफी प्रोजेक्ट्स - जीटी वेब सर्विसेज - जीटीएपी सर्वर एप्लीकेशन 8221 का चयन करें We8217ve इस विज़ार्ड के माध्यम से पहले किया गया था, जब एक SOAP सेवा एक अकेले खड़े सेवा के रूप में इस बार हालांकि, हम 8220ISAPI डायनेमिक लिंक लायब्रेरी 8221 को विज़ार्ड के इस पेज से चुनें। बाकी विज़ार्ड के माध्यम से चलाएं जैसा हमने पहले किया था, जब तक आप इस संवाद में नहीं आते हैं 8230 इस समय 8220NO8221 पर क्लिक करें क्योंकि पहले से ही स्टैंडअलोन अकेले परियोजना में एक इंटरफ़ेस है हम आयात करना चाहते हैं अब अपनी नई परियोजना को सहेजने से पहले, प्रोजेक्ट मैनेजर में 8216WebModuleUnit1.pas8217 पर राइट क्लिक करें और प्रोजेक्ट 8221 से 8220 निकाल दें। सुनिश्चित करें कि आप 8217re इसे नई परियोजना से निकालना चाहते हैं, और 8220 के नीचे एक नहीं है। स्टैन्डअलोन सेवा। एक्सई 8221 दो संवाद प्रदर्शित किए जाएंगे, पहले पूछने पर कि क्या आप 8217 यकीन है कि आप प्रोजेक्ट से मॉड्यूल को निकालना चाहते हैं, तो 8220YES8221 क्लिक करें दूसरा संवाद पूछता है कि क्या आप चाहते हैं मॉड्यूल को बचाने के लिए, हमारे पास पहले से एक परियोजना है, जो आयात करने की योजना बना रही है I8217re इसलिए इस संवाद को बताओ 8220NO8221 अब जब मॉड्यूल निकाल दिया गया है, आगे बढ़ो और सभी सहेजें चुनें। आप ड्रिल जानते हैं, प्रोजेक्ट फाइल को 8220 के रूप में सहेज सकते हैं। स्वेप सेवा सेवा नमूनाप्रोजेक्ट ISAPIService. pas8221 अब आपके पास आईएसएपीआई प्रोजेक्ट है, लेकिन यह कुछ भी नहीं है, सेवाओं के अनुरोधों को मार्शल करने के लिए कोई मॉड्यूल नहीं है, और कोई भी सेवा उन्हें मार्शल करने के लिए नहीं है इसलिए हमें इन चीजों को अपने पिछले अकेले अकेले परियोजना से आयात करना होगा। प्रोजेक्ट मैनेजर में, अपने 8220ISAPIService. dll8221 प्रोजेक्ट पर राइट क्लिक करें और मेनू से 8220Add8221 का चयन करें। 8216SoapServiceSampleServerunits8217 पर नेविगेट करें और सभी तीन फ़ाइलों का चयन करें .. एक बार जब आप 8220 ओपन 8221 को क्लिक करें you8217ll देखें कि 8216StandAloneService. exe8217 प्रोजेक्ट की तीन फ़ाइलें अब 8216ISAPIService. dll8217 प्रोजेक्ट का एक भाग भी हैं। एक महत्वपूर्ण नोट के रूप में वेब मॉड्यूल और इंटरफेस अब दो परियोजनाओं के बीच साझा किए गए हैं। इसका अर्थ है कि आप अपने आईआईएस सर्वर पर 8216ISAPIService. dll8217 फ़ाइल को अपलोड करने से पहले अपनी सेवा का परीक्षण करने के लिए आईडीई डीबगर के अंदर 8216 स्टैण्डअलोन एसरिज। एक्सई 8217 प्रोजेक्ट का उपयोग कर सकते हैं। क्या आपको एक या तो एक परियोजना में इंटरफेस जोड़ना चाहिए, आपको ऊपर दिए गए 8220 एड 8221 विकल्प का उपयोग करना चाहिए, अन्य में उन्हें आयात करने के लिए, और निश्चित रूप से पता होना चाहिए कि इन स्रोत फ़ाइलों में कोई अन्य परिवर्तन दोनों परियोजनाओं को प्रभावित करेगा 8220ISAPIService. dll8221 पर राइट क्लिक करें और मेनू पॉपअप से 8220Build8221 का चयन करें। एक बार इमारत पूरी हो जाने के बाद, जाओ और 8220SoapServiceSampleServerprojectsWin32Debug8221 में एक नज़र रखना और you8217ll 8220ISAPIService. dll8221 नामक फ़ाइल देखें यह प्रभावी रूप से आपके आईआईएस सर्वर पर अपलोड करना चाहते हैं। डिफ़ॉल्ट रूप से, यह एक 32-बिट डीएलएल है और डीबग बिल्ड प्रोफ़ाइल का उपयोग करके बनाया गया था। आधुनिक आईआईएस सर्वर 64-बिट सर्वर हैं, इसलिए आईडीई में वापस जाएं और 64-बिट लक्ष्य जोड़ें, और अपने प्रोजेक्ट के लिए एक रिलीज बिल्ड प्रोफाइल। उस 8217 यह आपके पास स्टैंड-अलोन और आईआईएस प्लगइन फॉर्म में SOAP सेवा है, और एक क्लाइंट एप्लिकेशन जो इसका परीक्षण करने के लिए उपयोग किया जा सकता है। बस आप किसी भी कारण से ऊपर मेरे निर्देशों का पालन करने में असमर्थ रहे हैं, तो I8217ve :: सार्वजनिक उपतरण भंडार में परियोजना फाइल को जोड़ा गया :: संपादित करें: उपवहन सर्वर को डीकमीशन किया गया है। डाउनलोड करने योग्य ज़िप फ़ाइल के साथ प्रतिस्थापित svn लिंक, यहां डाउनलोड करें: SoapServiceSampleDelphi साबुन उदाहरण अंतिम संशोधित: 2018-02-10 मेरे पास एक आवेदन डेल्फी 2018 में लिखा गया है और मुझे साबुन का उपयोग करके एक webshop के साथ संवाद करने की आवश्यकता है। मैंने अभी तक साबुन का इस्तेमाल कभी नहीं किया है मेरे पास कुछ दस्तावेज हैं जो कि webshop से कैसे जुड़ें, लेकिन सभी उदाहरण Php में हैं मुझे इसके लिए मदद चाहिए: - I दस्तावेज के कुछ हिस्सों में बोली लगाई गई है और मुझे यह उदाहरण देना होगा कि यह कैसे पूरा किया जाए। मुझे कॉल के उदाहरण और वापस लौट गए XML डेटा उदाहरणों की प्रक्रिया की आवश्यकता है। Nomal प्रमाणीकरण सरणी: विशेष प्रमाणीकरण सरणी:

No comments:

Post a Comment