segunda-feira, 20 de fevereiro de 2017

Forçando TLS 1.1 ou superior em integrações .Net -> Salesforce

Precisei realizar alguns teste de integração .Net com Salesforce, usando Rest API. Procurei um projeto antigo, que já havia utilizado no VisualStudio 2013 em C# com o Framework 4.5. 

Bem, atualizei as credenciais (username, senha, token, consumer key, consumer secret) desse projeto, que apontava para uma outra Org Salesforce.




Ao tentar conectar usando o referido código recebo a mensagem "Error 400 - Bad Request" -  "unknown_error - retry your request".




Achei bem estranho pois utilizei esse código em algumas boas situações e sempre funcionou perfeitamente (realizando as configurações de OAuth na Org). Ao pesquisar por um bom tempo, descobri que o problema é devido a desativação do TLS 1.0 das Orgs Salesforce. Dessa forma é necessário forçar o uso o TLS 1.1 ou Superior com o seguinte código C# (ou Vb.Net):



 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11;  


* Para adicionar o ServicePointManager será necessário adicionar a referência System.Net no cabeçalho do seu código: using System.Net;




Bem, essa é a dica de hoje! Até a próxima!



* Está precisando de um suporte ou uma consultoria na integração do seu Salesforce? Entre em contato conosco - CbCloud: http://www.cbcloud.com.br/
Somos parceiros gerenciados pela Salesforce!