2016-09-19 3 views
1

Wir versuchen, Salesforce-APIs aus unserem Xamarin Forms-Projekt aufzurufen. Diese Anrufe funktionieren gut in Bezug auf iOS-Anwendung, aber für Android fehlgeschlagen.Xamarin-Formulare - Salesforce - TLS 1.1 oder TLS 1.2. Fehler für POST-API-Aufruf für Android

HttpClient authClient = new HttpClient(); 
message = await authClient.PostAsync("url", content); 
string responseString = await message.Content.ReadAsStringAsync(); 

Wir erhalten die folgende Antwort in "ResponseString" Variable für Android.

<tr><td width="100%" height="100%"><div class="content"> 
<h1>**Stronger security is required**</h1><div class="simple"> 
<p>**To access this website, update your web browser or upgrade your operating system to support TLS 1.1 or TLS 1.2.**</p> 
<p>For more information, see 
<a href="https://help.salesforce.com/HTViewSolution?id=000221207&amp;language=en_US" target="_blank">Salesforce disabling TLS 1.0</a>. 
</p> 
</div></div></td></tr> 
</table></body> 
</html> 

Wir müssen eine Lösung finden, die iOS, Android und Win 10-Anwendung unterstützen sollte. Wir haben nach iOS gesucht und es hat funktioniert. Jetzt chekcing für Android und funktioniert nicht. Für Windows werden wir nicht überprüfen.

Bitte helfen.

Antwort

0

Ich persönlich bin nicht auf dieses Problem gestoßen, aber Sie könnten ModernHttpClient eine Chance geben. Wenn Sie diese Bibliothek installieren, können Sie eine NativeMessageHandler in Ihre HttpClient übergeben. Dies wird die nativen Implementierungen auf Android verwenden, die zusätzliche Sicherheitsfunktionen ermöglichen, die nicht mit der Xamarin Forms-Implementierung aus der Box kommen.

Sie sollten auch die Xamarin Forms-Bibliothek nach Möglichkeit auf den neuesten Stand bringen.

Sie Code würde (Ich habe auch eine using wie es gute Praxis ist):

using(HttpClient authClient = new HttpClient(new NativeMessageHandler())) { 
    message = await authClient.PostAsync("url", content); 
    string responseString = await message.Content.ReadAsStringAsync(); 
}