2011-04-18 11 views
5

मैं नीचे उल्लेख समस्या है:आईआईएस 7.5 में डेल्फी एक्सई वेब सेवा से SOAP/WSDL कैसे प्राप्त करें?

Delphi native Web Service applications not working. IIS 7 seems to be stripping the pathinfo

मैं इस सवाल का जवाब 2 में उल्लिखित सब कुछ (नीचे देखें या URL) था मदद नहीं था - अब मैं DLL बिल्कुल नहीं चला सकते हैं - फ़ायरफ़ॉक्स चाहता है फ़ाइल डाउनलोड करने के लिए, आईएसएपीआई को अनुरोध पास नहीं किया गया है। मैं केवल वीएस आईएसएपीआई प्रक्रिया को वीडी के लिए हैंडलर मैपिंग में स्पष्ट रूप से अपने वेब सेवा डीएलएल की अनुमति देकर लॉन्च कर सकता हूं - फिर डिफ़ॉल्ट डब्लूएस पेज शो दिखाता है लेकिन एसओएपी और डब्लूएसडीएल कभी भी उत्सर्जित नहीं होते हैं, जैसा ऊपर उल्लिखित पोस्ट में बताया गया है।

Delphi native Web Service applications not working. IIS 7 seems to be stripping the pathinfo

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

समस्या यह थी कि मैं आईएसएपीआई डीएल के लिए हैंडलिंग मैपिंग में एक विशिष्ट स्क्रिप्ट मैपिंग बनाया था। इसने आईआईएस को सभी अनुरोधों को विशिष्ट डीएलएल पर रीडायरेक्ट करने का कारण बना दिया, यही कारण है कि किसी भी अनुरोध जिसमें जानकारी पथ भाग शामिल था, को अनदेखा कर दिया गया था। जानकारी पथ बंद कर दिया गया था।

मुझे वास्तव में ऐसा करने की ज़रूरत है कि आईएसएपीआई-डीएल मॉड्यूल मैपिंग हैंडलर मैपिंग की निष्पादन सुविधा अनुमति को सक्षम करें। यह मॉड्यूल मैपिंग एक वर्चुअल निर्देशिका के लिए उपलब्ध है जब आपने अनिर्दिष्ट ISAPI मॉड्यूल (या CGI मॉड्यूल, यदि आपके द्वारा बनाए गए वेब सर्वर एक्सटेंशन की तरह है) की अनुमति दी है।

मेरी समस्या को ठीक करने के लिए, मैं

  1. करने के लिए आवश्यक निर्देशिका जिसका हैंडलिंग मैपिंग मैं में गड़बड़ है हटाएँ।

  2. चूंकि मैंने पहले से ही निर्दिष्ट आईएसएपीआई मॉड्यूल की अनुमति दी है (सर्वर के आईआईएस अनुभाग से आईएसएपीआई और सीजीआई प्रतिबंध एप्लेट से फ़ीचर सेटिंग्स संपादित करें का चयन करें), तो मुझे उपयुक्त वेबसाइट के लिए एक नई वर्चुअल निर्देशिका जोड़ने की आवश्यकता है (यहां वह जगह है जहाँ मैं निर्देशिका है कि मैं पिछले चरण 1.

  3. वर्चुअल निर्देशिका के लिए हैंडलिंग मैपिंग एप्लेट से में नष्ट कर दिया निर्मित, तो आप शायद ISAPI-dll हैंडलिंग मानचित्रण अक्षम है। यह चयन करें और पर फ़ीचर अनुमतियाँ संपादित करें विकल्प का चयन करें दाएं हाथ की ओर। निष्पादन चेकबॉक्स सक्षम करें। "

उत्तर

3

मैं चला गया। \ Windows \ System32 \ inetsrv \ config \ applicationHost.config और मेरे सभी वीडी और डीएलएल के लिए प्रविष्टियों को हटा दिया, फिर अनइंस्टॉल किया और आईआईएस को पुनर्स्थापित किया और आईएसएपीआई एक्सटेंशन के लिए समर्थन स्थापित करना सुनिश्चित किया और जो भी अन्य सुविधाओं की आवश्यकता है ।

फिर, वेब सर्वर रूट में मैंने सभी अज्ञात ISAPI.dlls को अनुमति देने के लिए CGI-ISAPI हैंडलर सेट किए हैं, एक नया वीडी बनाया है और मेरे डब्ल्यूएस मॉड्यूल को बिना किसी अनुमति के माता-पिता से हैंडलर विरासत में मिला है - अब आईएसएपीआई प्रक्रिया चलती है और उत्सर्जित करती है डबल्यूएसडीएल/सोप।

इस समस्या में यह है कि आपको सभी अज्ञात ISAPI डीएल की अनुमति देनी चाहिए - विशेष रूप से सुरक्षित नहीं यदि आप एक कमजोर सार्वजनिक वेब सर्वर पर तैनात कर रहे हैं।

एमएनजी

संबंधित मुद्दे