Debugar WebService no Delphi XE2 com Windows 7
Parecia impossível, mas depois que eu consegui, vi que não tinha tanto mistério... Créditos ao Alexandre Machado [1]
- Registrando Aplicação no IIS
1 - Crie seu diretório virtual no "Default Web Site".
2 - Toda aplicação do "Default Web Site" deve utilizar o mesmo pool de aplicação "DefaultAppPool".
- Configurando WebService no Delphi XE2
Primeiramente, você deverá executar o Delphi como Administrador. Aconselho deixar esta opção marcada nas propriedades do executável, caso contrário, teria que clicar com o direito do mouse e mandar executar desta forma.
Em Project/Options, vá até a guia Debugger ...
1 - Aponte o w3wp do system 32 no campo Host Application.
2 - Defina o parâmetro -debug no campo Parameters.
Caso você não tenha registrado a aplicação no IIS como foi sugerido no início, você terá que passar mais parâmetros:
- Nome do WebSite: -s "WebSiteName"
- Nome do ApplicationPool: -ap "TheAppPoolName", mas isso não funciona do IIS 7 para frente, portanto o ideal é manter o DefaultAppPool.
- Pronto!
Agora basta parar o IIS pelo painel de controle e dar um Run (com debug) na aplicação no Delphi.
Com isso o Delphi levanta o w3wp e o mantém em estado de debug.
- Observação
Se você não parar o IIS, após clicar em run no Delphi, vai avisar que o w3wp já está executando.