2012-04-12 15 views
8

Hemos escrito un DLL servicio web con Delphi XE2 y se está ejecutando en nuestro servidor IIS 7, accesible con la url http://server/webservice.dll/soapcómo influir en la URL para acceder a un servicio web registrada Delphi

Para poder depurar el servicio, Creé un proyecto webservice.exe, que se puede ejecutar en WebAppDebugger de Delphi. El problema ahora es que el servicio web que se ejecuta en el depurador es accesible con la url http://localhost/webservice.webservice/soap

Nuestra aplicación cliente tiene la última parte de la url "webservice.dll/soap" codificada (razones de seguridad) por lo que no puedo cambiar eso cuando estoy probando con nuestra aplicación cliente, la parte de dirección del servidor "http://server/" es configurable en el cliente.

Entonces, mi pregunta: ¿Cómo puedo registrar el servicio de depuración en mi webappdebugger para usar una URL como mi dll de producción?

+0

Un enfoque más simple tal vez para usar URLRewrite en IIS para cambiar el webservice.dll/soap a la URL dictada por el webappdebugger. Consulte http://www.iis.net/download/urlrewrite Puede activar y desactivar las reglas en la administración de IIS –

+0

@MarjanVenema Esto hubiera sido posible si el WebAppDebugger se ejecuta localmente en IIS. Pero es un proceso separado, se ejecuta desde el Delphi IDE y ejecuta un servidor web localmente – Bascy

+0

D'oh. Olvidé todo sobre eso. –

Respuesta

6

que he encontrado la solución a mí mismo ;-)

En la inicialización de la debugform no fue la siguiente línea:

TWebAppSockObjectFactory.Create ('servicio web');

cambiar esta a:

TWebAppSockObjectFactory.Create ('DLL');

hizo el cambio global de direcciones para http://localhost/Webservice.dll/

Esto dejó un pequeño problema que el proyecto depurador tuvo que ser renombrado a Webservice.exe en lugar de WebserverDebug.exe como se le llamaba, pero moviéndolo a subcarpeta hizo este cambio de nombre es posible.

+0

Aunque encontré una "solución alternativa" a mi problema, me sigue interesando averiguar cómo puede influir en la URL resultante cuando se ejecuta un servicio web en el WebAppDebugger ... – Bascy

Cuestiones relacionadas