Debugar WebService no Delphi XE2 com Windows 7

De Tek-System Wiki
Ir para navegação Ir para pesquisar

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 - Todos os diretórios virtuais criados dentro de "Default Web Site" utilizam, por padrão, o 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.

Debug webservice delphixe2 win7 2.png

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.

Debug webservice delphixe2 win7 1.png

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 Gerenciador do Serviço de Informações da Internet (IIS), ir no Delphi e dar um Run (com debug) na aplicação.

Debug webservice delphixe2 win7 3.png

Debug webservice delphixe2 win7 4.png

Com isso o Delphi levanta o w3wp e o mantém em estado de debug.

Debug webservice delphixe2 win7 5.png

Observação

Se você não parar o IIS, após clicar em run no Delphi, vai avisar que o w3wp.exe já está executando.