2012-04-12 14 views
8

हम डेल्फी XE2 के साथ एक वेब सेवा dll लिखा है और यह हमारे IIS7 सर्वर में चल रहा है, यूआरएल के साथ सुलभ http://server/webservice.dll/soapकैसे एक पंजीकृत डेल्फी WebService

सेवा डिबग करने के लिए सक्षम होने के लिए पहुँचने के लिए URL को प्रभावित करने, मैंने एक webservice.exe प्रोजेक्ट बनाया है, जिसे डेल्फी के WebAppDebugger में चलाया जा सकता है। समस्या अब arrises कि वेब सेवा डिबगर में चल यूआरएल के साथ पहुँचा जा सकता है http://localhost/webservice.webservice/soap

हमारे क्लाइंट अनुप्रयोग यूआरएल "webservice.dll/साबुन" hardcoded (सुरक्षा कारणों से) तो के अंतिम भाग मैं नहीं बदल सकते है कि जब परीक्षण हमारे ग्राहक अनुप्रयोग के साथ, सर्वर-पता भाग "http://server/" क्लाइंट में कॉन्फ़िगर करने योग्य है।

तो, मेरा प्रश्न: मैं अपने वेबप्लेबगर में डीबग सेवा कैसे पंजीकृत कर सकता हूं ताकि मेरे उत्पादन डीएलएल जैसे यूआरएल का उपयोग किया जा सके?

+0

वेबपैडबगर द्वारा निर्धारित URL पर webservice.dll/साबुन को बदलने के लिए IIS में URLRrrite का उपयोग करने के लिए शायद एक आसान तरीका हो सकता है। देखें http://www.iis.net/download/urlrewrite आप IIS प्रबंधन –

+0

में नियमों को चालू और बंद कर सकते हैं @MarjanVenema Ths संभव होगा यदि WebAppDebugger आईआईएस में स्थानीय रूप से चल रहा हो। लेकिन यह एक अलग प्रक्रिया है, जो डेल्फी आईडीई के भीतर से चलती है, और एक वेबसर्वर स्थानीय रूप से – Bascy

+0

डी ओह चलाती है। इसके बारे में सब भूल गए। –

उत्तर

6

मैं समाधान अपने आप को मिल गया है ;-)

debugform के प्रारंभ में निम्न पंक्ति थी:

TWebAppSockObjectFactory.Create ('वेब सेवा');

को यह बदल रहा है:

TWebAppSockObjectFactory.Create ('dll');

http://localhost/Webservice.dll/

यह एक छोटी सी समस्या है कि डिबगर परियोजना WebserverDebug.exe की जगह में Webservice.exe को नाम बदलने की के रूप में यह कहा जाता था छोड़ किया था के लिए समग्र पता परिवर्तन किया है, लेकिन चलती इसे बनाया सबफ़ोल्डर के लिए यह नाम बदलना संभव है।

+0

भले ही मुझे अपनी समस्या के लिए "कामकाज" मिल गया, फिर भी मुझे यह पता लगाने में दिलचस्पी है कि आप WebAppDebugger में webservice चलाते समय परिणामी यूआरएल को कैसे प्रभावित कर सकते हैं ... – Bascy

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