Escrever um WebService em Delphi é relativamente fácil. O complicado, por vezes, é carregar a DLL do WebService em um servidor IIS devido as inúmeras configurações que devem ser editadas no servidor.
Porém, pesquisando pela internet, e após encontrar vários posts que não deram certo, encontrei essa página da RH3Software com um passo-a-passo de como configurar o IIS para executar extensões e DLL's.
O link original da página é este: http://wiki.rh3software.com/rh3/doku.php?id=instalacao_configuracao:portal:configuracao_iis_isapi_dll
E o conteúdo na íntegra estou postando a seguir:
Este manual desenvolvido com base na versão 7.5 do IIS e sistema operacional windows 7 apenas para fins explicativos.
Para efetuar a correta configuração do IIS e ISAPI dll, o usuário deverá efetuar os seguintes passos (caso se faça necessário, clique nas imagens para aumenta-las).
Nota: Este guia foi elaborado para ser usado como base tanto nas instalações em máquinas locais como no Amazon.
A instalação do IIS deve ter sido efetuada. Seguem abaixo alguns links úteis:
Instalando o IIS 7 no Windows Server 2008 (http://social.technet.microsoft.com/wiki/contents/articles/2417.aspx);
Instalando o IIS 7.5 no Windows 7 Home Premium, Home Basic ou Home Starter (http://technet.microsoft.com/pt-br/library/cc731911.aspx);
Instalando o IIS 7.5 no Windows Server 2008 R2 (http://technet.microsoft.com/pt-br/library/cc771209.aspx).
A porta TCP selecionada (padrão 80) deve estar acessível para a rede onde o portal irá operar e receber conexões.
Certifique-se que as opções de “Serviços de Informações da Internet” abaixo, estão selecionadas:
Painel de controle;
Programas e Recursos;
Ativar ou desativar recursos do Windows.
Ferramentas de Gerenciamento da Web;
Serviços da Word Wide Web.
Na opção de “Ferramenta de Gerenciamento da WEB”, certifique-se que apenas as seguintes opções estão selecionadas:
Console de Gerenciamento do IIS;
Script e Ferramentas de Gerenciamento do IIS;
Serviço de gerenciamento do IIS.
Na opção de “Serviços da Word Wide Web”, certifique-se que apenas as seguintes opções estão selecionadas:
Recursos de Desenvolvimento de Aplicativos;
Recursos HTTP Comuns.
Na opção “Recursos de Desenvolvimento de Aplicativos”, certifique-se que a opção Extensões ISAPI está selecionada;
Na opção “Recursos HTTP Comuns”, certifique-se que as seguintes opções estão selecionadas:
Conteúdo Estático;
Documento Padrão;
Publicação WebDAV;
Redirecionamento de HTTP.
Clicar em “OK” para instalar as opções selecionadas (caso tenha sido necessário alterar alguma configuração);
Abrir a pasta compartilhada do IIS para colocar os arquivos do portal no diretório: “c:\inetpub\wwwroot”;
Ainda dentro de “c:\inetpub\wwwroot”, criar uma nova pasta para colocar os arquivos do portal. Chamar a pasta de portalrh. O nome desta pasta será o nome utilizado na URL. Exemplo: http://localhost/portalrh/;
Dentro desta pasta criada, colocar o seguinte arquivo: Atual-WEB.exe
Para entender como baixar este arquivo, acessar Atualização do Portal.
Dar um duplo clique no arquivo: Atual-WEB.exe e executar os seguintes passos:
Clicar no botão “Procurar” e selecionar o diretório “C:\inetpub\wwwroot\portalrh”;
Clicar no botão “Extrair”;
Caso o windows pergunte se você quer instalar uma aplicação de fornecedor desconhecido, clicar no botão “Sim”;
O diretório deverá conter agora os seguintes arquivos e pastas:
files (pasta);
templates (pasta);
Atual-WEB.exe;
WPortalRH.dll;
WPortalRH.map.
Quando a instalação for realizada utilizando banco de dados RDS-AWS, deverá ser copiada a dll “LicencaRH3.dll” para o diretório padrão descrito acima e para o diretório onde encontra-se o RH3.exe. No ambiente da RH3, a dll está armazenada em \\recife\Versao\Apoio\RH3Cloud.
Esta dll indica ao sistema RH3 e ao Portal Web que as informações da licença ativa do sistema estão presentes na própria instância do usuário do Oracle e não na instância padrão SYS onde normalmente é gerada.
Lembrando que os sistemas internos que fazem a parte de licenciamento dos sistemas, também utilizam essa dll para criar o repositório de licenças e ler essas informações para gerar o arquivo de licenciamento.
Este procedimento só deve ser executado obrigatoriamente para os ambientes de banco de dados administrados pela RH3.
Para que o portal funcione corretamente, é necessário dar permissão de acesso aos diretórios “C:\inetpub\wwwroot\portalrh” e “C:\Windows\Temp”. Abaixo segue o passo a passo de como dar acesso a um diretório:
Através do Windows Explorer, selecionar a localização do diretório a ser dada a permissão (ex: C:\inetpub\wwwroot);
Com o botão direito do mouse, clique no diretório que deseja dar as permissões (ex: portalrh) e escolha a opção “Propriedades”;
Selecionando o usuário IIS_IUSRS, clique no botão “Avançadas”;
Clique no botão “editar”, selecione “Controle total” e clique em “OK”;
Volte ao Windows Explorer, selecione novamente o diretório “portalrh”, clique com o botão direito em propriedades e certifique-se que o mesmo está com a seguinte configuração;
Repita o mesmo procedimento para “C:\Windows\Temp”.
Abrir o gerenciador do IIS para configurar;
Painel de Controle;
Ferramentas Administrativas;
Gerenciador do Serviços de Informações da Internet (IIS);
Seleciona: Máquina (localizado no item conexões) \ Sites \ Default Web Site \ portalrh.
Para converter a pasta onde estão os arquivos do portal para aplicativo;
Clicar com o botão direito do mouse em “portalrh”;
Converter para Aplicativo;
O alias deverá estar “portalrh”;
Clicar em “OK”.
Defina a dll como documento padrão, ou seja, ao acessar a URL (http://localhost/portalrh/), ele vai buscar a dll;
Duplo clique em “Documento Padrão”;
Clique com o botão direito do mouse para adicionar o documento padrão;
Clique em “Adicionar”;
No campo “nome” informe “WPortalRH.dll”;
Clique em “OK”.
Ative o mapeamento para utilizar arquivos dll para execução;
Clique no nome da máquina para voltar a tela inicial de configuração;
Duplo clique em “Mapeamentos de Manipulador”;
Clique com o botão direito do mouse em ISAPI-dll;
Escolha a opção “Editar permissões de Recursos”;
Marque as opções: Leitura, Script e Executar;
Clique em “OK”.
Você deve dar permissão para que a dll do portal possa ser executada;
Clique no nome da máquina para voltar a tela inicial de configuração;
Duplo clique em “Restrições ISAPI e CGI”;
Clique com o botão direito do mouse em “WebDAV”;
Selecione a opção “Adicionar”;
Em “Caminho ISAPI ou CGI” preencha com: “c:\inetpub\wwwroot\portalrh\WPortalRH.dll”;
Em “Descrição” preencha com: “PortalRH”;
Marque a opção “Permitir que o caminho da extensão seja executado”;
Clique em “OK”.
ATENÇÃO: Quando a máquina for 64 bits, o usuário deverá executar o seguinte:
Para verificar se a máquina é 64 bits:
Clicar no botão iniciar;
Botão direito em “Computador”;
Clicar em “Propriedades”;
Neste ponto, estará exibindo se o sistema operacional é 32 ou 64 bits.
Clique no nome da máquina para voltar a tela inicial de configuração;
Clicar em “defaultappPool”;
Clicar em “Configurações Avançadas”;
Na aba “Geral”, colocar “True” na opção “Habilitar aplicativos de 32 bits”. esta opção só aparecerá se seu sistema operacional for realmente de 64 bits.
Alterando as credenciais de autenticação do portal;
Execute a opção “Reiniciar Servidor”;
Acesse a URL (http://localhost/portalrh/) no browser;
O sistema deverá funcionar a partir deste momento.
Então é isso, valeu pessoal da RH3Sofware :)