Consumir WebService Rest com CSharp

11/03/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.

[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=";
        string lNomeRemetente = "header_from_name=";
        string lEmailRemetente = "header_from_email=";
        string lEmailRemetenteResposta = "header_reply_email=";
        string lEmailDestinatario = "recipient_email=";        
        string lID = "";
        string lBodyHtml = String.Format("body_html_message=",pHtmlEmail);

        
        string uri = @"http://restful2.virtualtarget.com.br/index.dma/Restful/TransactionalCampaign//?callback=mostraDados&";
        string uriChamada = String.Format("&&&&&&&",
                                          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);
    }

Riechelmann