quinta-feira, 14 de janeiro de 2010

Chamando um WebService via URL

Dia destes, defrontei-me com a necessidade de efetuar a chamada de um webservice sem parâmetros, de maneira indireta (sem referência).

Os passos para isto são:

a) Criar um HttpWebRequest, para a URL completa (incluindo o nome do método).
b) O método para o WebRequest é POST.

Segue o método simples que eu construí para isto:

using System.Net;
using System.IO;

public static String EfetuarDowloadViaHttpRequest(String URL)
{
String strRet = String.Empty;

try
{

HttpWebRequest con = (HttpWebRequest)HttpWebRequest.Create(URL);
con.ContentLength = 0;
con.Method = "POST";

using (StreamReader rd = new StreamReader(con.GetResponse().GetResponseStream()))
{
strRet = rd.ReadToEnd();
}

return strRet;
}
catch (Exception erro)
{
throw new ApplicationException(String.Format("(EfetuarDowloadViaHttpRequest)Erro ao efetuar download a partir da URL {0}: {1}", URL, erro.Message), erro);
}
}


Claro que isto apenas visa demonstrar a solução, algumas adaptações podem ser necessárias a sua realidade.

Abraço.

Nenhum comentário:

Postar um comentário