2016-09-19 6 views
1

Мы пытаемся вызывать надежные API Salesforce из нашего проекта Xamarin Forms. Эти вызовы отлично работают с приложениями iOS, но не удались для Android.Xamarin Forms - Salesforce - TLS 1.1 или TLS 1.2. ошибка для вызова POST API для Android

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

Мы получили ниже ответ в переменной responseString для 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> 

Нам необходимо найти решение, которое должно поддерживать приложения iOS, Android и Win 10. Мы проверили iOS, и это сработало. Теперь chekcing для Android и не работает. Для Windows мы не проверяем.

Просьба помочь.

ответ

0

Я лично не сталкивался с этой проблемой, но вы можете дать ModernHttpClient выстрел. Установка этой библиотеки позволяет передать NativeMessageHandler в ваш HttpClient. Это будет использовать встроенные версии на Android, что позволит использовать дополнительные функции безопасности, которые не выходят из строя, используя реализацию Xamarin Forms.

Вы также должны обновить библиотеку Xamarin Forms до последней возможности, если это возможно.

Вы код стал бы (я также добавил using, как это хорошая практика):

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

 Смежные вопросы

  • Нет связанных вопросов^_^