2012-04-12 6 views
8

Napisaliśmy dll webservices z Delphi XE2 i jest on uruchomiony w naszym serwerze IIS7, dostępną z url http://server/webservice.dll/soapJak wpływają na URL, aby uzyskać dostęp do zarejestrowanego Delphi WebService

aby móc debugować usługę, Stworzyłem projekt webservice.exe, który można uruchomić w WebAppDebugger z Delphi. Pojawia się teraz problem, że usługa internetowa działająca w debugerze jest dostępna za pomocą adresu URL. Nasza aplikacja kliencka ma na stałe część adresu URL "webservice.dll/soap" (przyczyny bezpieczeństwa), więc nie mogę tego zmienić podczas testowania w naszej aplikacji klienckiej część adresu serwera "http://server/" jest konfigurowalna w kliencie.

Moje pytanie: Jak mogę zarejestrować usługę debugowania w moim webappdebugger, aby użyć adresu URL, takiego jak moja dll produkcyjna?

+0

Prostszym rozwiązaniem może być użycie narzędzia URLRewrite w IIS, aby zmienić plik webservice.dll/soap na adres URL dyktowany przez webappdebugger. Zobacz http://www.iis.net/download/urlrewrite Możesz włączać i wyłączać reguły w zarządzaniu IIS. –

+0

@MarjanVenema Ths byłby możliwy, gdyby WebAppDebugger działał lokalnie w IIS. Jest to jednak oddzielny proces, uruchamiany z poziomu IDE Delphi i uruchamiający lokalnie serwer www. – Bascy

+0

D'oh. Zapomniałem o tym. –

Odpowiedz

6

mam znaleźć rozwiązanie siebie ;-)

W inicjalizacji debugform był następujący wiersz:

TWebAppSockObjectFactory.Create ('Webservice');

zmienia to:

TWebAppSockObjectFactory.Create ('dll');

wykonane ogólną zmianę adresu do http://localhost/Webservice.dll/

Ten zostawił mały problem, że projekt debugger musiała zostać zmieniona na Webservice.exe w zastępstwie WebserverDebug.exe jak go nazywano, ale przesuwając go do podfolderu wykonana ta zmiana jest możliwa.

+0

Mimo że znalazłem "obejście" mojego własnego problemu, nadal mnie interesuje, aby dowiedzieć się, w jaki sposób można wpływać na wynikowy adres URL podczas uruchamiania usługi internetowej w WebAppDebugger ... – Bascy

Powiązane problemy