Teste e Debug de WebService em Máquina Remota

Durante o desenvolvimento de WebService o Visual Studio facilita o teste e debug na própria Interface de desenvolvimento, mas esta facilidade funciona somente quando estamos fazendo o teste na máquina de desenvolvimento utilizando o http://localhost.

Quando por algum motivo precisamos fazer um teste ou simplesmente verificar se um WebService esta respondendo em uma máquina remota não é possível utilizar o browser com a URL do WebService, pois por questões de segurança os métodos e funções do webService não estão acessíveis na máquina remota.

Podemos fazer uma alteração no arquivo Web.Config do WebService para liberar o acesso aos métodos e funções do WebService em um browser.

Para liberar o acesso para teste dos métodos e funções do WebService basta incluir o HttpGet e HttpPost na tag <system.web> do WebService.

    <system.web>
      <webServices>
        <protocols>
          <add name="HttpPost" />
          <add name="HttpGet" />
        </protocols>
      </webServices>
    </system.web>

Depois de executado todos os testes necessários altere a configuração para remover o acesso ao HttpPost e HttpGet.

    <system.web>
      <webServices>
        <protocols>
          <remove name="HttpPost" />
          <remove name="HttpGet" />
        </protocols>
      </webServices>
    </system.web>

Não esquecer de desabilitar o acesso ao HttpPost e HttpGet depois dos testes. Isto é muito importante por questões de segurança.