Array
(
)

Consumir WebService Rest com CSharp

Riechelmann
   - 11 mar 2015

Bom Dia
Estou com uma dúvida como conseguir consumir um WebService Rest em csharp, nos exemplos que estou achando na internet não consegui entender o funcionamento, esse consumo irá ser efetuado por uma CLR no Sql Server como uma função, deverei utilizar o .net 2.0 pois é o que o Sql Server 2008 utiliza, se compilar com uma versão superior apresenta erro ao criar a função no SQL, segue o código que estou implementando para o Consumo do Serviço.
#Código
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlString EnviarEmailTransacional(SqlString pXml, SqlString pHtmlEmail)
{
/*
<EnvioEmail>
<auth>123</auth>
<assuntoEnvio></assuntoEnvio>
<nomeRemetente></nomeRemetente>
<emailRemetente></emailRemetente>
<emailDestinatario></emailDestinatario>
<id></id>
</EnvioEmail>
*/
string lAccept = @"Accept=application/xml";
string lAuth = @"X-Auth=";
string lAssuntoEnvio = "header_subject={0}";
string lNomeRemetente = "header_from_name={0}";
string lEmailRemetente = "header_from_email={0}";
string lEmailRemetenteResposta = "header_reply_email={0}";
string lEmailDestinatario = "recipient_email={0}";
string lID = "";
string lBodyHtml = String.Format("body_html_message={0}",pHtmlEmail);

string uri = @"http://restful2.virtualtarget.com.br/index.dma/Restful/TransactionalCampaign/{0}/?callback=mostraDados&{1}";
string uriChamada = String.Format("{0}&{1}&{2}&{3}&{4}&{5}&{6}&{7}",
lAuth,
lEmailDestinatario,
lEmailRemetente,
lEmailRemetenteResposta,
lAssuntoEnvio,
lNomeRemetente,
lBodyHtml,
lAccept);
string uriFinal = String.Format(uri,lID,uriChamada);
uriFinal = String.Format(uri, "");
WebClient lWClient = new WebClient();
string lResposta = lWClient.DownloadString(uriFinal);

// Put your code here
return new SqlString(lResposta);
}